如何在R中使用keras使用Python安装的tensorflow

nev*_*int 13 python r deep-learning keras

我已经使用以下命令执行了tensor flow安装:

pip install --ignore-installed https://github.com/mind/wheels/releases/download/tf1.5-gpu-cuda91-nomkl/tensorflow-1.5.0-cp27-cp27mu-linux_x86_64.whl
Run Code Online (Sandbox Code Playgroud)

这是为CUDA 9.1提供的最新张力轮.(比CUDA 8.0快3倍)

我可以在我的python代码中成功调用它.

如何让R中的keras调用上面python安装的tensorflow?我问的原因是因为我的默认安装方法

keras::install_keras(method="conda", tensorflow = "gpu")
Run Code Online (Sandbox Code Playgroud)

它无法识别cuda-9.1库.

> conv_base <- keras::application_vgg16(
+   weights = "imagenet",
+   include_top = FALSE,
+   input_shape = c(150, 150, 3)
+ )
/home/ubuntu/anaconda2/envs/r-tensorflow/lib/python2.7/site-packages/h5py/__init__.py:36: FutureWarning: Conversion of the second argument of issubdtype from `float` to `np.floating` is deprecated. In future, it will be treated as `np.float64 == np.dtype(float).type`.
  from ._conv import register_converters as _register_converters
Using TensorFlow backend.
Error: ImportError: Traceback (most recent call last):
  File "/home/ubuntu/anaconda2/envs/r-tensorflow/lib/python2.7/site-packages/tensorflow/python/pywrap_tensorflow.py", line 58, in <module>
    from tensorflow.python.pywrap_tensorflow_internal import *
  File "/home/ubuntu/anaconda2/envs/r-tensorflow/lib/python2.7/site-packages/tensorflow/python/pywrap_tensorflow_internal.py", line 28, in <module>
    _pywrap_tensorflow_internal = swig_import_helper()
  File "/home/ubuntu/anaconda2/envs/r-tensorflow/lib/python2.7/site-packages/tensorflow/python/pywrap_tensorflow_internal.py", line 24, in swig_import_helper
    _mod = imp.load_module('_pywrap_tensorflow_internal', fp, pathname, description)
ImportError: libcublas.so.9.0: cannot open shared object file: No such file or directory
Run Code Online (Sandbox Code Playgroud)

这是因为R安装方法需要调用tensorflow版本1.5.0,但仍未满足CUDA 9.1的要求.

pdu*_*ois 5

试着把它放在你的.bashrc:

export KERAS_BACKEND='tensorflow'
Run Code Online (Sandbox Code Playgroud)

或者根据此说明,您可以:

tensorflow::install_tensorflow(version = "https://github.com/mind/wheels/releases/download/tf1.5-gpu-cuda91-nomkl/tensorflow-1.5.0-cp27-cp27mu-linux_x86_64.whl")
Run Code Online (Sandbox Code Playgroud)

然后keras将自动识别正确的张量流