【发布时间】:2026-02-21 14:45:02
【问题描述】:
我在 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")
输出:张量("Const:0", shape=(), dtype=string)
tf$constant(1.5)
输出:张量("Const_1:0", shape=(), dtype=float32)
我进一步检查了:
tf_config()
输出: TensorFlow v1.13.2() Python 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"
如果有人能解决这个安装问题,我将不胜感激。谢谢
【问题讨论】:
-
您在 conda env 中缺少 swish python 模块。尝试激活 conda env,我想你可以通过
conda activate r-reticulate来做到这一点,其中 (r-reticulate) 是 keras 调用的 conda env 的名称(可能与conda env list不同,一旦激活就执行经典的pip install swish。 -
@JacobJacox 我如何在 R 工作室中做到这一点?
-
我进一步这样做: pip install swish ,我得到以下信息: 要求已经满足:在 c:\users\user\anaconda3\lib\site-packages (1.1) 要求已经满足:请求>=2.9.1 在 c:\users\user\anaconda3\lib\site-packages (来自 swish) (2.22.0) 。然后我尝试加载库(keras),仍然给出同样的错误。我注意到 swishi 的路径与 tensorflow 的路径不同。
-
您必须通过 conda 提示符执行此操作。您使用 TF 1.13 的任何原因?
-
我已经这样做了: install_tensorflow(method = "conda", conda_python_version = 3.6, + version = "2.2.0") 但它仍然显示为: tf_config(): TensorFlow v1.13.2 ( ) Python v3.6 (C:/Users/user/AppData/Local/r-miniconda/envs/r-reticulate/python.exe)
标签: r tensorflow keras