项目中,需要在R中构建深度学习模型,但是R包tensorflow或者keras自带的
install_tensorflow()
keras::install_keras()
两个命令下载tensorflow模块太慢了。
由于在R中使用python环境其实是在rituculate包的加持下完成的,不影响单独的python环境的完整性。
故直接到install_tensorflow()命令所创建的r-miniconda文件夹下的conda环境中更改conda源以及安装相关模块
install_tensorflow()命令所创建的conda环境在
/home/你的计算机名/.local/share
这个隐藏文件夹下面
在命令行中完成以下命令
首先确认之前从R里面下载的miniconda有没有配置好
conda
如果没有显示conda信息,执行以下操作
编辑 .bashrc文件
.bashrc 是一个隐藏文件,可以通过ls -a命令看到,用vim或者nano命令修改该文件
nano ~/.bashrc
加入miniconda的安装目录作为环境变量
export PATH="/home/你的计算机名/.local/share/r-miniconda/bin:"$PATH"
最后source一下
source ~./bashrc
参考链接:https://www.jianshu.com/p/4d4c786ed454
配置好conda的安装后进入conda内部的r-reticulate环境,安装所需要的包
cd /home/你的计算机名/.local/share
source activate r-reticulate #如果没有这个环境,就创建一个
conda install tensorflow==2.9
此时再到
Rstudio里面试试tensorflow命令,如
tensorflow::set_random_seed(4)
不报错的话基本就没问题了。
如果需要安装GPU版本的tensorflow,直接在conda里面新建环境,下载以下包(前提是你安装了linux版本的绿厂驱动):
conda create -n r-reticulate-gpu python==3.9
conda activate r-reticulate-gpu
conda install cudatoolkit cudnn tensorflow-gpu==2.10.0 -c=conda-forge
安装好cudatoolkit ;cudnn ;tensorflow-gpu==2.10.0三个包之后去R里面执行命令,指定一下tensorflow-gpu版本的环境名称
install.packages("keras")
reticulate::use_condaenv("r-reticulate-gpu", required = TRUE)
library(keras)
再补充一点,走完以上步骤,调用tensorflow-gpu出错了,有可能是reticulate不是最新开发版本。
install.packages("remotes")
remotes::install_github(sprintf("rstudio/%s", c("reticulate", "tensorflow", "keras")))
11月21日凌晨更新:
我的conda环境里面有两个python环境,一个是tensorflow-cpu版本,一个是tensorflow-gpu版本
在Rstudio里面调用GPU版本时,总是warning提示:
The request to
use_python("/home/mike/.local/share/r-miniconda/envs/r-reticulate-gpu/bin/python")
will be ignored because the environment variable RETICULATE_PYTHON is set to "/home/mike/.local/share/r-miniconda/envs/r-reticulate/bin/python3.8"
说我的环境变量设置的不是GPU版本
使用以下命令更改:
Sys.setenv(RETICULATE_PYTHON='/home/mike/.local/share/r-miniconda/envs/r-reticulate-gpu/bin/python')
再看看有没有换过来
Sys.getenv("RETICULATE_PYTHON")
再尝试调用GPU版本的环境,就没有warning了
reticulate::use_condaenv("r-reticulate-gpu", required = TRUE)
参考链接:https://github.com/rstudio/tensorflow/issues/new?assignees=&labels=Installation&template=installation-issue.md&title=Installation+Issue
https://isabelizimm.github.io/posts/pyenv-in-rstudio/pyenv-crying.html