首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在R studio中加载keras包时出错

在R studio中加载keras包时出错
EN

Stack Overflow用户
提问于 2020-06-22 15:23:08
回答 1查看 859关注 0票数 0

我在windows 10上使用的是R4.0.1和Rstudio1.3.959。我已经安装了张量流:

代码语言:javascript
运行
复制
install.packages("tensorflow")
library(tensorflow)
install_tensorflow(method = "conda", conda_python_version = 3.6)

我通过以下方式检查安装是否成功:

代码语言:javascript
运行
复制
library(tensorflow)
tf$constant("Hellow Tensorflow")

输出: Tensor("Const:0",shape=(),dtype=string)

代码语言:javascript
运行
复制
tf$constant(1.5)

输出: Tensor("Const_1:0",shape=(),dtype=float32)

我进一步检查了一下:

代码语言:javascript
运行
复制
tf_config()

输出: Python v1.13.2 () TensorFlow v3.6 (C:/Users/user/AppData/Local/r-miniconda/envs/r-reticulate/python.exe)

从这里看,张量流似乎安装正确,并且工作正常。然而,我在加载Keras库时遇到了问题。我做了以下工作:

代码语言:javascript
运行
复制
install.packages("keras")
library(keras)

当我加载库时,它给出了以下错误

代码语言:javascript
运行
复制
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包,因此我无法运行以下代码

代码语言:javascript
运行
复制
install_keras(method = "conda")

我可以获得其他信息,如下所示:

代码语言:javascript
运行
复制
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版本:

代码语言:javascript
运行
复制
Sys.which("python")
                                                                 python 
"C:\\Users\\user\\AppData\\Local\\R-MINI~1\\envs\\R-RETI~1\\python.exe"

如果有人能解决这个安装问题,我将不胜感激。谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-06-22 18:22:15

这可能有点不同,但我发现手动管理依赖环境更容易。因此您可以打开conda提示符并执行:

代码语言:javascript
运行
复制
conda create -n env_name python=3.6 tensorflow

然后在R中,在做任何事情之前调用

代码语言:javascript
运行
复制
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。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62509324

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档