如何在R语言的kaggle内核中安装tensorflow-probability
How to install tensorflow-probability in kaggle kernel for R language
我需要在R语言的kaggle内核中安装tensorflow-probability
。
我尝试使用以下代码,
library(tensorflow)
install_tensorflow(extra_packages = "tensorflow-probability")
这似乎只安装了tensorflow,当我尝试加载包greta
时,这取决于tensorflow-probability,我得到以下错误,
Error:
greta requires TensorFlow (>=1.10.0) and Tensorflow Probability (>=0.5.0), but TensorFlow Probability isn't installed. Use:
install_tensorflow(extra_packages = "tensorflow-probability")
to install the latest version.
还尝试通过自定义包选项安装它,显示它已安装,但 greta 提到它未安装。
关键问题是预装的r-tensorflow
虚拟环境不在默认位置,这使得install_tensorflow()
方法无法对其进行编辑。要解决这个问题,首先必须设置 Reticulate 用来识别 virtualenv 环境根目录的 WORKON_HOME
环境变量。我能够按照以下几行进行正确安装:
# set virtualenv root to where 'r-tensorflow' env is located
Sys.setenv(WORKON_HOME="/root/.virtualenvs")
# install greta
install.packages("greta")
# install tfp
tensorflow::install_tensorflow(envname="r-tensorflow", extra_packages=c("tensorflow-probability==0.3.0"))
# check that TFP is installed in the env
dir("/root/.virtualenvs/r-tensorflow/lib/python2.7/site-packages")
## ...
## [56] "tensorflow"
## [57] "tensorflow_probability"
## [58] "tensorflow_probability-0.3.0.dist-info"
## [59] "tensorflow-1.10.0.dist-info"
## ...
按照这些思路,我制作了运行默认 Greta 示例的 a public Kaggle kernel available。
以上代码导致安装Greta v0.3.0、TF 1.10.0和TFP 0.3.0,这是正确的版本匹配。我还能够使用
安装最新版本
# set virtualenv root to where 'r-tensorflow' env is located
Sys.setenv(WORKON_HOME="/root/.virtualenvs")
# install latest greta
devtools::install_github("greta-dev/greta")
# install tfp
tensorflow::install_tensorflow(envname="r-tensorflow", version="1.13.1", extra_packages=c("tensorflow-probability==0.6.0"))
这也让 library(greta)
毫无怨言地启动。但是,它在采样期间崩溃,并抱怨 assertthat
包已损坏。请注意,assertthat
作为 Greta 安装的一部分从 GitHub 得到更新,这就是我最终使用 CRAN 版本的原因。
希望将来 Kaggle 只包含 TFP,而不必处理这些乱七八糟的事情。
只是想说即将在 CRAN 上提交的最新版本的 greta(因此版本 > 0.4.0)在使用新的安装助手 install_greta_deps()
时使用了 conda 环境的新方法。
这意味着 greta 将使用 conda 环境加载 python 模块,因此您可以在计算机上与 greta 一起安装不同的 python 模块。
当您 运行 library(greta)
时,它会加载 greta 需要的特定 python 模块版本。希望这对将来有所帮助!
我需要在R语言的kaggle内核中安装tensorflow-probability
。
我尝试使用以下代码,
library(tensorflow)
install_tensorflow(extra_packages = "tensorflow-probability")
这似乎只安装了tensorflow,当我尝试加载包greta
时,这取决于tensorflow-probability,我得到以下错误,
Error:
greta requires TensorFlow (>=1.10.0) and Tensorflow Probability (>=0.5.0), but TensorFlow Probability isn't installed. Use:
install_tensorflow(extra_packages = "tensorflow-probability")
to install the latest version.
还尝试通过自定义包选项安装它,显示它已安装,但 greta 提到它未安装。
关键问题是预装的r-tensorflow
虚拟环境不在默认位置,这使得install_tensorflow()
方法无法对其进行编辑。要解决这个问题,首先必须设置 Reticulate 用来识别 virtualenv 环境根目录的 WORKON_HOME
环境变量。我能够按照以下几行进行正确安装:
# set virtualenv root to where 'r-tensorflow' env is located
Sys.setenv(WORKON_HOME="/root/.virtualenvs")
# install greta
install.packages("greta")
# install tfp
tensorflow::install_tensorflow(envname="r-tensorflow", extra_packages=c("tensorflow-probability==0.3.0"))
# check that TFP is installed in the env
dir("/root/.virtualenvs/r-tensorflow/lib/python2.7/site-packages")
## ...
## [56] "tensorflow"
## [57] "tensorflow_probability"
## [58] "tensorflow_probability-0.3.0.dist-info"
## [59] "tensorflow-1.10.0.dist-info"
## ...
按照这些思路,我制作了运行默认 Greta 示例的 a public Kaggle kernel available。
以上代码导致安装Greta v0.3.0、TF 1.10.0和TFP 0.3.0,这是正确的版本匹配。我还能够使用
安装最新版本# set virtualenv root to where 'r-tensorflow' env is located
Sys.setenv(WORKON_HOME="/root/.virtualenvs")
# install latest greta
devtools::install_github("greta-dev/greta")
# install tfp
tensorflow::install_tensorflow(envname="r-tensorflow", version="1.13.1", extra_packages=c("tensorflow-probability==0.6.0"))
这也让 library(greta)
毫无怨言地启动。但是,它在采样期间崩溃,并抱怨 assertthat
包已损坏。请注意,assertthat
作为 Greta 安装的一部分从 GitHub 得到更新,这就是我最终使用 CRAN 版本的原因。
希望将来 Kaggle 只包含 TFP,而不必处理这些乱七八糟的事情。
只是想说即将在 CRAN 上提交的最新版本的 greta(因此版本 > 0.4.0)在使用新的安装助手 install_greta_deps()
时使用了 conda 环境的新方法。
这意味着 greta 将使用 conda 环境加载 python 模块,因此您可以在计算机上与 greta 一起安装不同的 python 模块。
当您 运行 library(greta)
时,它会加载 greta 需要的特定 python 模块版本。希望这对将来有所帮助!