目录
Step2:安装TensorFlow Probability Python库
Step3 :将TensorFlow Probability Python库导入R中
本文主要介绍在R中安装Python模块:tensorflow、tensorflow_probability、NumPy。
值得注意的是,安装Python模块前,不要在R项目中安装和导入Python模块,否则会报错的。(tensorflow模块会报错,rensorflow_probability、NumPy模块不会报错),但总的来说,在安装和导入Python模块前,不要在R项目中进行。
安装上述Python模块,首先需要在R中搭配好Python环境。如何在RStudio中配置Python环境,请看将 Python 与 RStudio IDE 配合使用(R与Python系列第一篇)。这个推文给出了最简单的在R中配置Python环境的步骤,不需要单独下载Python软件,也不需要下载Anaconda平台,直接在RStudio中使用R命令下载miniconda,实现R中配置Python环境,值得注意的是,目前R函数tenorflow::install_tensorflow()只兼容miniconda python.
- install.packages("tensorflow")
- library("tensorflow")
install_tensorflow()
- >reticulate::import("tensorflow")
- Module(tensorflow)
注:这一步相当于检查是否将Python的tensorflow库安装上了。
安装TensorFlow模块的时候,不要提前创建R项目,如果创建R项目,会正常运行上述代码(Step1至Step2),不会出现任何错误,但是当导入tensorflow模块的时候,会得到下面的错误:
所以,在安装Python TensorFlow模块的过程中,一定不要在R项目中安装TensorFlow库。
参考:installation problem · Issue #3 · t-kalinowski/deep-learning-with-R-2nd-edition-code · GitHub
TensorFlow Probability是一个建立在TensorFlow之上的统计计算和概率建模库。它的构建块包括广泛的分布和可逆变换、可用于模型的概率层以及概率推理工具,包括变分推理和马尔科夫链蒙特卡洛。
tfprobability R包是与Python库“TensorFlow Probability”的接口。
注:安装二选一即可,要么从CRAN上下载,要么从GitHub上下载。tfprobability:tf表示TensorFlow的简写,后面的probability表示概率。
使用install_tfprobability()安装TensorFlow和TensorFlow Probability Python模块。
- library(tfprobability)
- install_tfprobability()
这样你就自动获得当前稳定版本的TensorFlow Probability和TensorFlow Python模块。
(相当于检验TensorFlow probability Python模块是否安装好)
- > reticulate::import("tensorflow_probability")
- Module(tensorflow_probability)
或者运行如下代码不出错:
- # create a binomial distribution with n = 7 and p = 0.3
- d <- tfd_binomial(total_count = 7, probs = 0.3)
-
- # compute mean
- d %>% tfd_mean()
- # compute variance
- d %>% tfd_variance()
- # compute probability
- d %>% tfd_prob(2.3)
解决方案:重启R,快捷键Ctrl+Shift+F10。重新运行相应语句就好了,不需要做其他额外操作。
参考:tfprobability namespace load failed · Issue #147 · rstudio/tfprobability · GitHub
No module named 'tensorflow_probability' · Issue #155 · rstudio/tfprobability · GitHub
reticulate::py_install("numpy")
Step2:使用import()函数导入R中
- > reticulate::import("numpy")
- Module(numpy)
import中文意思是导入,在R帮助文件中描述import函数为:导入Python模块(import a Python module).
【R语言】TensorFlow安装及使用笔记 - 知乎 (zhihu.com) (介绍如何在RStudio中安装tensorflow Python模块)
TensorFlow for R - Quick start (官方提供的在R中安装tensorflow模块)
与 TensorFlow Probability 的接口 • tfprobability (rstudio.github.io)(安装tensorflow_probability模块指南)
TensorFlow for R (rstudio.com) (官方提供安装Tensorflow指南)
No module named 'tensorflow_probability' · Issue #155 · rstudio/tfprobability · GitHub
tfprobability namespace load failed · Issue #147 · rstudio/tfprobability · GitHub