--- 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.