R сетчатый пакет не видит библиотеку keras в winpython

Я пытаюсь использовать библиотеку keras, установленную в Winpython версии 3.4.4.amd64 в RStudio (через библиотеки 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 json, чтобы использовать theano, а не тензорный поток.

Когда я пробую другие библиотеки, например, py_module_available("theano"), я получаю TRUE.

Я понятия не имею, что мне здесь не хватает. Я хотел бы использовать керас с библиотекой (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 с тем же результатом. Я вне идей, спасибо за все предложения.

2 ответа

Решение

Что касается установки Keras/ Theano PLZ, проверьте эту тему в SO

Как установить Keras и Theano в Anaconda Python для Windows?

После этого перезагрузите ваш компьютер.... затем попробуем подключить kerasR из R studio, как указано ниже (последовательно)...........

########## Установка и инициация глубокого обучения
  #### First activate  environment where keras/theano were installed via anaconda prompt  :  

(C:\Users\ADMIN\Anaconda3) C:\Users\ADMIN>activate mydeeplearning # mydeeplearning это имя моего окружения, где я установил Python Keras Theano и т.д......

Тогда из студии R

попробуйте установить последние версии пакетов github, а не из крана.....

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)`

Это должно сделать это.... У меня ушло почти весь день, чтобы установить и выяснить ошибки.... Но теперь чувство приподнятого.....

Точно так же у меня были проблемы при попытке установить библиотеку R "keras" в Anaconda3 5.0.0 под WIN7.

https://storage.googleapis.com/tensorflow/windows/cpu/tensorflow-1.3.0-cp36-cp36m-win_amd64.whl Не удалось установить в Python 3.6 (проблемы с транспортом / колесами), выглядело как проблемы с совместимостью с Python 3.6, хотя я проверил 64-битную архитектуру:

>>>import platform
>>>platform.architecture()

("64bit", "WindowsPE")

Понизил PYTHON с 3,6 до 3,5 в R-тензорном потоке conda и в R использовал сетчатую структуру, чтобы указать эту среду: use_condaenv("r-tensorflow")

https://storage.googleapis.com/tensorflow/windows/cpu/tensorflow-1.3.0-cp35-cp35m-win_amd64.whl версия также не будет установлена ​​должным образом, должна была использовать tenorflow-1.2.1-cp35-cp35m-win_amd64.whl в Python 3.5, и это сработало

Проблема в том, install_keras() кажется ссылаться install_tensorflow(method = "conda") который на самом деле переопределяет и использует pip для переустановки tenorflow:

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" библиотеки, чем пытаться принудительно установить тензор потока-1.2.1-py35. Если вы найдете обходной путь, пожалуйста, напишите.

Другие вопросы по тегам