【问题标题】:How to install tensorflow-probability in kaggle kernel for R language如何在 R 语言的 kaggle 内核中安装 tensorflow-probability
【发布时间】:2019-08-30 19:49:33
【问题描述】:

我需要在 R 语言的 kaggle 内核中安装 tensorflow-probability

我尝试使用以下代码,

library(tensorflow)
install_tensorflow(extra_packages = "tensorflow-probability")

这似乎只安装 tensorflow,当我尝试加载依赖于 tensorflow-probability 的包 greta 时,出现以下错误,

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 kaggle tensorflow-probability greta


    【解决方案1】:

    关键问题是预装的r-tensorflow虚拟环境不在默认位置,导致install_tensorflow()方法无法对其进行编辑。为了解决这个问题,首先必须设置WORKON_HOME 环境变量,Reticulate 使用它来识别 virtualenv 环境的根。我能够按照以下方式进行正确安装:

    # 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 会作为从 GitHub 安装的 Greta 的一部分进行更新,这就是我最终使用 CRAN 版本的原因。

    希望未来 Kaggle 只包含 TFP,而不必处理这个烂摊子。

    【讨论】:

    • 谢谢!我还向 kaggle 的 R 内核提出了拉取请求,以添加 tensorflow-probability 和 greta。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-23
    • 2019-06-05
    • 1970-01-01
    • 2017-05-25
    • 2021-04-15
    相关资源
    最近更新 更多