我在windows 10上使用的是R4.0.1和Rstudio1.3.959。我已经安装了张量流:
install.packages("tensorflow")
library(tensorflow)
install_tensorflow(method = "conda", conda_python_version = 3.6)
我通过以下方式检查安装是否成功:
library(tensorflow)
tf$constant("Hellow Tensorflow")
输出: Tensor("Const:0",shape=(),dtype=string)
tf$constant(1.5)
输出: Tensor("Const_1:0",shape=(),dtype=float32)
我进一步检查了一下:
tf_config()
输出: Python v1.13.2 () TensorFlow v3.6 (C:/Users/user/AppData/Local/r-miniconda/envs/r-reticulate/python.exe)
从这里看,张量流似乎安装正确,并且工作正常。然而,我在加载Keras库时遇到了问题。我做了以下工作:
install.packages("keras")
library(keras)
当我加载库时,它给出了以下错误
Error: package or namespace load failed for ‘keras’:
.onLoad failed in loadNamespace() for 'keras', details:
call: py_module_import(module, convert = convert)
error: ImportError: cannot import name 'swish'
Detailed traceback:
File "C:\Users\user\AppData\Local\r-miniconda\envs\r-reticulate\lib\site-packages\tensorflow\keras\__init__.py", line 14, in <module>
from . import activations
File "C:\Users\user\AppData\Local\r-miniconda\envs\r-reticulate\lib\site-packages\tensorflow\keras\activations\__init__.py", line 23, in <module>
from tensorflow.python.keras.activations import swish
由于无法加载keras包,因此我无法运行以下代码
install_keras(method = "conda")
我可以获得其他信息,如下所示:
library(reticulate)
> py_discover_config("keras")
python: C:/Users/user/AppData/Local/r-miniconda/envs/r-reticulate/python.exe
libpython: C:/Users/user/AppData/Local/r-miniconda/envs/r-reticulate/python36.dll
pythonhome: C:/Users/user/AppData/Local/r-miniconda/envs/r-reticulate
version: 3.6.10 |Anaconda, Inc.| (default, May 7 2020, 19:46:08) [MSC v.1916 64 bit (AMD64)]
Architecture: 64bit
numpy: C:/Users/user/AppData/Local/r-miniconda/envs/r-reticulate/Lib/site-packages/numpy
numpy_version: 1.18.1
我还可以看到正在使用的默认python版本:
Sys.which("python")
python
"C:\\Users\\user\\AppData\\Local\\R-MINI~1\\envs\\R-RETI~1\\python.exe"
如果有人能解决这个安装问题,我将不胜感激。谢谢
发布于 2020-06-22 18:22:15
这可能有点不同,但我发现手动管理依赖环境更容易。因此您可以打开conda提示符并执行:
conda create -n env_name python=3.6 tensorflow
然后在R中,在做任何事情之前调用
library(keras)
library(tensorflow)
use_condaenv(condaenv = "env_name",required = T)
默认情况下,您将获得TF 2.xx,您可以在conda env中指定它。
编辑:对于TF图形处理器,你需要指定conda create -n env_name python=3.6 tensorflow-gpu
,如果你的电脑上有图形处理器,你将得到CUDa和CUDNN。
https://stackoverflow.com/questions/62509324
复制相似问题