R网状包在winpython中看不到keras库
R reticulate package does not see keras library in winpython
我正在尝试在 RStudio 中使用安装在 Winpython 版本 3.4.4.amd64 中的 keras 库(通过 reticulate 和 kerasR 库)。我在 windows 7 64 位机器上工作。我也对 Winpython 版本 3.6.1.amd64
进行了同样的尝试
我在 R 中尝试过的:
# diagnostics
library(reticulate)
# reticulate::use_python("PATH_TO_PYTHON")
path_to_python <- "C:\dev\WinPython3.4\python-3.4.4.amd64"
use_python(path_to_python)
py_module_available("keras")
[1] FALSE # it responds with TRUE for eg. matplotlib
py_config()
# python: C:\dev\WinPython3.4\python-3.4.4.amd64/python.exe
# libpython: C:/dev/WinPython3.4/python-3.4.4.amd64/python34.dll
# pythonhome: C:\dev\WINPYT~1.4\PYTHON~1.AMD
# version: 3.4.4 (v3.4.4:737efcadf5a6, Dec 20 2015, 20:20:57) [MSC # v.1600 64 bit (AMD64)]
# Architecture: 64bit
# numpy: C:\dev\WINPYT~1.4\PYTHON~1.AMD\lib\site-packages\numpy
# numpy_version: 1.11.3
当我使用 Spyder IDE 并加载 keras 时,它不会向我抛出错误。早些时候我注意修改 .keras json 文件以使用 theano 而不是 tensorflow。
当我尝试其他库时,例如 py_module_available("theano") 我得到 TRUE。
我不知道我在这里想念什么。我想将 keras 与库(kerasR)一起使用。我在工作,无法修改注册表和环境路径。会不会是这个原因?
当我尝试时
reticulate::import("keras")
我得到:
Error in py_module_import(module, convert = convert) :
AttributeError: 'NoneType' object has no attribute 'write'
Detailed traceback:
File "C:\dev\WINPYT~1.4\PYTHON~1.AMD\lib\site-packages\keras\__init__.py", line 2, in <module>
from . import backend
File "C:\dev\WINPYT~1.4\PYTHON~1.AMD\lib\site-packages\keras\backend\__init__.py", line 66, in <module>
sys.stderr.write('Using TensorFlow backend.\n')
我对 3.6.1.amd64 进行了相同的尝试,结果相同。
我没有想法,非常感谢所有建议。
关于 Keras/theano 的安装,请检查 SO
中的此线程
完成后重新启动您的组件....然后让我们尝试从 R studio 连接 kerasR 作为
下面给出(顺序)......
##########深度学习安装和启动
#### First activate environment where keras/theano were installed via anaconda prompt :
(C:\Users\ADMIN\Anaconda3) C:\Users\ADMIN>activate mydeeplearning
# mydeeplearning
是我安装的环境名称 python keras theano etc.....
然后来自 R studio
尝试安装最新的 github 包版本而不是从 cran.....
devtools::install_github("statsmaths/kerasR")
devtools::install_github("rstudio/reticulate")# install the latest reticulate package as it solves some errors/bugs
library(kerasR)
library(reticulate)
py_available(initialize = FALSE) # should give TRUE
use_python("C:/Users/ADMIN/Anaconda3/envs/mydeeplearning/python.exe") # plz change it to your Path
keras_init() # will give `successfully loaded keras`
# further checks if everything is working
keras_available() # should give `[1] TRUE`
reticulate::py_config() # should show u]the correct python path which we tried changing initially using `use_python("C:/Users/ADMIN/Anaconda3/envs/mydeeplearning/python.exe") `
python: C:/Users/ADMIN/Anaconda3/envs/mydeeplearning/python.exe
libpython: C:/Users/ADMIN/Anaconda3/envs/mydeeplearning/python35.dll
pythonhome: C:\Users\ADMIN\ANACON~1\envs\MYDEEP~1
version: 3.5.3 |Continuum Analytics, Inc.| (default, May 15 2017, 10:43:23) [MSC v.1900 64 bit (AMD64)]
Architecture: 64bit
numpy: C:\Users\ADMIN\ANACON~1\envs\MYDEEP~1\lib\site-packages\numpy
numpy_version: 1.13.1
python versions found:
C:/Users/ADMIN/Anaconda3/envs/mydeeplearning/python.exe
C:\PROGRA~1\Python35\python.exe
C:\Users\ADMIN\ANACON~1\python.exe
C:\PROGRA~1\Python35\python.exe
C:\Users\ADMIN\ANACON~1/envs/mydeeplearning/python.exe
reticulate::py_module_available("keras") #should give `[1] TRUE`
reticulate::py_available()#should give `[1] TRUE`
reticulate::import("keras.models")# should give `Module(keras.models)`
应该可以了....我花了将近一整天的时间来安装并找出错误....但现在感到很高兴......
同样,我在 WIN7 下尝试在 Anaconda3 5.0.0 中安装 R "keras" 库时遇到问题。
https://storage.googleapis.com/tensorflow/windows/cpu/tensorflow-1.3.0-cp36-cp36m-win_amd64.whl
在 Python 3.6 中一直无法安装(transport/wheel 问题),看起来像是 python 3.6 兼容性问题,不过我确实检查了 64 位架构:
>>>import platform
>>>platform.architecture()
( '64bit', 'WindowsPE')
在 conda 环境 r-tensorflow 中将 PYTHON 从 3.6 降级到 3.5,在 R 中使用网状点指向该环境:use_condaenv("r-tensorflow")
https://storage.googleapis.com/tensorflow/windows/cpu/tensorflow-1.3.0-cp35-cp35m-win_amd64.whl
版本也无法正确安装,必须在 Python 3.5 中使用 tensorflow-1.2.1-cp35-cp35m-win_amd64.whl,并且有效
问题是,install_keras()
似乎调用了 install_tensorflow(method = "conda")
,它实际上覆盖并使用 pip 重新安装 tensorflow:
activate r-tensorflow && pip install --upgrade --ignore-installed "https://storage.googleapis.com/tensorflow/windows/cpu/tensorflow-1.3.0-cp35-cp35m-win_amd64.whl"
我的猜测是最好使用 "kerasR" 而不是 "keras" 库然后尝试强制执行 tensorflow-1.2.1-py35。如果您找到解决方法,请 post.
我正在尝试在 RStudio 中使用安装在 Winpython 版本 3.4.4.amd64 中的 keras 库(通过 reticulate 和 kerasR 库)。我在 windows 7 64 位机器上工作。我也对 Winpython 版本 3.6.1.amd64
进行了同样的尝试我在 R 中尝试过的:
# diagnostics
library(reticulate)
# reticulate::use_python("PATH_TO_PYTHON")
path_to_python <- "C:\dev\WinPython3.4\python-3.4.4.amd64"
use_python(path_to_python)
py_module_available("keras")
[1] FALSE # it responds with TRUE for eg. matplotlib
py_config()
# python: C:\dev\WinPython3.4\python-3.4.4.amd64/python.exe
# libpython: C:/dev/WinPython3.4/python-3.4.4.amd64/python34.dll
# pythonhome: C:\dev\WINPYT~1.4\PYTHON~1.AMD
# version: 3.4.4 (v3.4.4:737efcadf5a6, Dec 20 2015, 20:20:57) [MSC # v.1600 64 bit (AMD64)]
# Architecture: 64bit
# numpy: C:\dev\WINPYT~1.4\PYTHON~1.AMD\lib\site-packages\numpy
# numpy_version: 1.11.3
当我使用 Spyder IDE 并加载 keras 时,它不会向我抛出错误。早些时候我注意修改 .keras json 文件以使用 theano 而不是 tensorflow。
当我尝试其他库时,例如 py_module_available("theano") 我得到 TRUE。
我不知道我在这里想念什么。我想将 keras 与库(kerasR)一起使用。我在工作,无法修改注册表和环境路径。会不会是这个原因?
当我尝试时
reticulate::import("keras")
我得到:
Error in py_module_import(module, convert = convert) :
AttributeError: 'NoneType' object has no attribute 'write'
Detailed traceback:
File "C:\dev\WINPYT~1.4\PYTHON~1.AMD\lib\site-packages\keras\__init__.py", line 2, in <module>
from . import backend
File "C:\dev\WINPYT~1.4\PYTHON~1.AMD\lib\site-packages\keras\backend\__init__.py", line 66, in <module>
sys.stderr.write('Using TensorFlow backend.\n')
我对 3.6.1.amd64 进行了相同的尝试,结果相同。 我没有想法,非常感谢所有建议。
关于 Keras/theano 的安装,请检查 SO
中的此线程完成后重新启动您的组件....然后让我们尝试从 R studio 连接 kerasR 作为 下面给出(顺序)......
##########深度学习安装和启动 #### First activate environment where keras/theano were installed via anaconda prompt :
(C:\Users\ADMIN\Anaconda3) C:\Users\ADMIN>activate mydeeplearning
# mydeeplearning
是我安装的环境名称 python keras theano etc.....
然后来自 R studio
尝试安装最新的 github 包版本而不是从 cran.....
devtools::install_github("statsmaths/kerasR")
devtools::install_github("rstudio/reticulate")# install the latest reticulate package as it solves some errors/bugs
library(kerasR)
library(reticulate)
py_available(initialize = FALSE) # should give TRUE
use_python("C:/Users/ADMIN/Anaconda3/envs/mydeeplearning/python.exe") # plz change it to your Path
keras_init() # will give `successfully loaded keras`
# further checks if everything is working
keras_available() # should give `[1] TRUE`
reticulate::py_config() # should show u]the correct python path which we tried changing initially using `use_python("C:/Users/ADMIN/Anaconda3/envs/mydeeplearning/python.exe") `
python: C:/Users/ADMIN/Anaconda3/envs/mydeeplearning/python.exe
libpython: C:/Users/ADMIN/Anaconda3/envs/mydeeplearning/python35.dll
pythonhome: C:\Users\ADMIN\ANACON~1\envs\MYDEEP~1
version: 3.5.3 |Continuum Analytics, Inc.| (default, May 15 2017, 10:43:23) [MSC v.1900 64 bit (AMD64)]
Architecture: 64bit
numpy: C:\Users\ADMIN\ANACON~1\envs\MYDEEP~1\lib\site-packages\numpy
numpy_version: 1.13.1
python versions found:
C:/Users/ADMIN/Anaconda3/envs/mydeeplearning/python.exe
C:\PROGRA~1\Python35\python.exe
C:\Users\ADMIN\ANACON~1\python.exe
C:\PROGRA~1\Python35\python.exe
C:\Users\ADMIN\ANACON~1/envs/mydeeplearning/python.exe
reticulate::py_module_available("keras") #should give `[1] TRUE`
reticulate::py_available()#should give `[1] TRUE`
reticulate::import("keras.models")# should give `Module(keras.models)`
应该可以了....我花了将近一整天的时间来安装并找出错误....但现在感到很高兴......
同样,我在 WIN7 下尝试在 Anaconda3 5.0.0 中安装 R "keras" 库时遇到问题。
https://storage.googleapis.com/tensorflow/windows/cpu/tensorflow-1.3.0-cp36-cp36m-win_amd64.whl
在 Python 3.6 中一直无法安装(transport/wheel 问题),看起来像是 python 3.6 兼容性问题,不过我确实检查了 64 位架构:
>>>import platform
>>>platform.architecture()
( '64bit', 'WindowsPE')
在 conda 环境 r-tensorflow 中将 PYTHON 从 3.6 降级到 3.5,在 R 中使用网状点指向该环境:use_condaenv("r-tensorflow")
https://storage.googleapis.com/tensorflow/windows/cpu/tensorflow-1.3.0-cp35-cp35m-win_amd64.whl
版本也无法正确安装,必须在 Python 3.5 中使用 tensorflow-1.2.1-cp35-cp35m-win_amd64.whl,并且有效
问题是,install_keras()
似乎调用了 install_tensorflow(method = "conda")
,它实际上覆盖并使用 pip 重新安装 tensorflow:
activate r-tensorflow && pip install --upgrade --ignore-installed "https://storage.googleapis.com/tensorflow/windows/cpu/tensorflow-1.3.0-cp35-cp35m-win_amd64.whl"
我的猜测是最好使用 "kerasR" 而不是 "keras" 库然后尝试强制执行 tensorflow-1.2.1-py35。如果您找到解决方法,请 post.