-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* make pining not the default, add setup guide Ref #18 * Update README
- Loading branch information
1 parent
8a45df9
commit 230cb33
Showing
7 changed files
with
152 additions
and
24 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -9,4 +9,4 @@ dependencies: | |
- pip: | ||
- pandas | ||
- tqdm | ||
- emoji==0.6.0 | ||
- emoji |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
*.html | ||
*.R |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,111 @@ | ||
--- | ||
title: "Setup Guide" | ||
output: rmarkdown::html_vignette | ||
vignette: > | ||
%\VignetteIndexEntry{Setup Guide} | ||
%\VignetteEngine{knitr::rmarkdown} | ||
%\VignetteEncoding{UTF-8} | ||
--- | ||
|
||
```{r, include = FALSE} | ||
knitr::opts_chunk$set( | ||
collapse = TRUE, | ||
comment = "#>" | ||
) | ||
``` | ||
|
||
This is a quick setup guide for different situations. | ||
|
||
`grafzahl` requires a Python environment. By default, `grafzahl` assumes you would like to use a miniconda-based Python environment. It can be installed by using the provided `setup_grafzahl()` function. | ||
|
||
```r | ||
require(grafzahl) | ||
setup_grafzahl(cuda = TRUE) # FALSE if you don't have CUDA compatible GPUs | ||
|
||
## Use grafzahl right away, an example | ||
model <- grafzahl(unciviltweets, model_type = "bertweet", model_name = "vinai/bertweet-base") | ||
|
||
``` | ||
|
||
There are other setup options. | ||
|
||
# Google Colab and similar services | ||
|
||
In order to use `grafzahl` on Google Colab, please choose the R-based Runtime (Runtime > Change Runtime Type > Runtime Type: R). You might also want to choose a hardware accelerator, e.g. T4 GPU. | ||
|
||
In this case, you need to enable the non-Conda mode, i.e. `use_nonconda()`. By default, it will also install the required Python packages. | ||
|
||
```r | ||
install.packages("grafzahl") | ||
use_nonconda(install = TRUE, check = TRUE) # default | ||
|
||
## Use grafzahl right away, an example | ||
model <- grafzahl(unciviltweets, model_type = "bertweet", model_name = "vinai/bertweet-base") | ||
``` | ||
|
||
# Default Python | ||
|
||
If you don't want to use any conda configuration on your local machine, you can just install the Python packages `simpletransformers` and `emoji`. | ||
|
||
```bash | ||
python3 -m pip install simpletransformers emoji | ||
``` | ||
|
||
And then | ||
|
||
```r | ||
require(grafzahl) | ||
use_nonconda(install = FALSE, check = TRUE) ## what it does is just: options("grafzahl.nonconda" = TRUE) | ||
|
||
## Use grafzahl right away, an example | ||
model <- grafzahl(unciviltweets, model_type = "bertweet", model_name = "vinai/bertweet-base") | ||
``` | ||
|
||
# Use conda, but not the grafzahl's default | ||
|
||
Suppose you have installed a conda installation elsewhere. Please note the `base` path of your conda installation. | ||
|
||
```bash | ||
conda env list | ||
``` | ||
|
||
Create a new conda environment with the default grafzahl environment name | ||
|
||
## With Cuda | ||
|
||
```bash | ||
conda env create -n grafzahl_condaenv_cuda | ||
conda activate grafzahl_condaenv_cuda | ||
conda install -n grafzahl_condaenv_cuda python pip pytorch pytorch-cuda cudatoolkit -c pytorch -c nvidia | ||
python -m pip install simpletransformers emoji | ||
conda deactivate | ||
|
||
## Test the CUDA installation with | ||
|
||
Rscript -e "grafzahl::detect_cuda()" | ||
``` | ||
|
||
## Without Cuda | ||
|
||
```bash | ||
conda env create -n grafzahl_condaenv | ||
conda activate grafzahl_condaenv | ||
conda install -n grafzahl_condaenv python pip pytorch -c pytorch | ||
python -m pip install simpletransformers emoji | ||
conda deactivate | ||
``` | ||
|
||
In R, you have to change to default conda path | ||
|
||
```r | ||
## suppose /home/yourname/miniconda is the base path of your conda installation | ||
require(grafzahl) | ||
Sys.setenv(GRAFZAHL_MINICONDA_PATH = "/home/yourname/miniconda") | ||
|
||
## Use grafzahl right away, an example | ||
model <- grafzahl(unciviltweets, model_type = "bertweet", model_name = "vinai/bertweet-base") | ||
``` | ||
|
||
# Explanation: Important options and envvars | ||
|
||
There are two important options and envvars. `options("grafzahl.nonconda")` controls whether to use the non-conda mode. Envvar `GRAFZAHL_MINICONDA_PATH` controls the base path of the conda installation. If it is `""` (the default), `reticulate::miniconda_path()` is used as the base path. |