简体   繁体   中英

R keras package Error: Python module tensorflow.contrib.keras.python.keras was not found

I have keras installed with devtools from GitHub in R and TensorFlow installed in Python.

However when I run an example Keras command like:

model <- keras_model_sequential() 

I get the following:

Error: Python module tensorflow.contrib.keras.python.keras was not found.

 Detected Python configuration: python: C:\\Python35\\python.exe libpython: C:/Python35/python35.dll pythonhome: C:\\Python35 version: 3.5.0 (v3.5.0:374f501f4567, Sep 13 2015, 02:27:37) [MSC v.1900 64 bit (AMD64)] Architecture: 64bit numpy: C:\\Python35\\lib\\site-packages\\numpy numpy_version: 1.13.0 tensorflow: C:\\Python35\\lib\\site-packages\\tensorflow python versions found: C:\\Python35\\python.exe C:\\Python27\\\\python.exe C:\\Python35\\\\python.exe C:\\Python36\\\\python.exe

I had a similar problem. Restart rstudio, load keras and tensorflow libraries, and type use_condaenv("r-tensorflow") . That fixed it for me.

First, you can install the R tensorflow package from here .

Then, you can just install the latest tensorflow version, using install_tensorflow function, as shown in this answer .

After that, just install and update R-keras library. It should use the last version of TensorFlow now, and this could potentially solve your problem. Also, make sure you install the tensorflow version that matches your Python version.

I had a similar problem with a conda installation on a Mac (so using install_keras(method = 'conda', conda = '/opt/anaconda3/bin/conda') , which created a virtual environment called r-reticulate under ~/.conda/envs . Then when I tried to instantiate a model just like you do, I was getting an error 'Error: Python module tensorflow.python.keras was not found.'

For me what resolved it is after loading library(keras) execute use_condaenv("r-reticulate", required = TRUE) and then everything worked.

I faced a similar problem and below steps helped to overcome the issue.

  1. Install TensorFlow and Keras from rstudio github.
  • devtools::install_github("rstudio/tensorflow")
  • devtools::install_github("rstudio/keras")
  1. Execute the below
  • tensorflow::install_tensorflow()
  • tensorflow::tf_config()

I faced a similar problem. The issue was solved by updating the tensorflow module from 1.0.1 to 1.2.1

In Windows, I tried all above given solution but didn't work. It worked for me when I created env using, both in spyder and R

conda create -n keras-tf tensorflow keras

In windows

library(keras)
library(tensorflow)
use_condaenv("keras-tf", required = T)

In Python

import tensorflow as tf

Some times your env and system don't have any problems, it is just the way how you configure Tensorflow and Keras that cause these errors to be raised.

below is how I fixed mine:

{install.packages("tensorflow")
install.packages("keras")
tensorflow::tf_config()
mytf <- tf$compat$v1} 

the configuration results shows the following output:

2021-12-09 11:43:39.007746: W tensorflow/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'cudart64_110.dll'; dlerror: cudart64_110.dll not found
2021-12-09 11:43:39.007931: I tensorflow/stream_executor/cuda/cudart_stub.cc:29] Ignore above cudart dlerror if you do not have a GPU set up on your machine.
TensorFlow v2.6.2 ()
Python v3.7 (C:/Users/myName/AppData/Local/r-miniconda/envs/r-reticulate/python.exe)

then type:

install_keras()

after that you can test:

mnist <- keras::dataset_mnist() ; mnist

this will give you an output like:

$train
$train$x
, , 1

         [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12] [,13] [,14] [,15] [,16]
    [1,]    0    0    0    0    0    0    0    0    0     0     0     0     0     0     0     0
    [2,]    0    0    0    0    0    0    0    0    0     0     0     0     0     0     0     0
    [3,]    0    0    0    0    0    0    0    0    0     0     0     0     0     0     0     0
    [4,]    0    0    0    0    0    0    0    0    0     0     0     0     0     0     0     0
    [5,]    0    0    0    0    0    0    0    0    0     0     0     0     0     0     0     0
    [6,]    0    0    0    0    0    0    0    0    0     0     0     0     0     0     0     0
    [7,]    0    0    0    0    0    0    0    0    0     0     0     0     0     0     0     0
    [8,]    0    0    0    0    0    0    0    0    0     0     0     0     0     0     0    
....
$train$y
   [1] 5 0 4 1 9 2 1 3 1 4 3 5 3 6 1 7 2 8 6 9 4 0 9 1 1 2 4 3 2 7 3 8 6 9 0 5 6 0 7 6 1 8 7 9 3
  [46] 9 8 5 9 3 3 0 7 4 9 8 0 9 4 1 4 4 6 0 4 5 6 1 0 0 1 7 1 6 3 0 2 1 1 7 9 0 2 6 7 8 3 9 0 4
  [91] 6 7 4 6 8 0 7 8 3 1 5 7 1 7 1 1 6 3 0 2 9 3 1 1 0 4 9 2 0 0 2 0 2 7 1 8 6 4 1 6 3 4 5 9 1
 [136] 3 3 8 5 4 7 7 4 2 8 5 8 6 7 3 4 6 1 9 9 6 0 3 7 2 8 2 9 4 4 6 4 9 7 0 9 2 9 5 1 5 9 1 2 3
 [181] 2 3 5 9 1 7 6 2 8 2 2 5 0 7 4 9 7 8 3 2 1 1 8 3 6 1 0 3 1 0 0 1 7 2 7 3 0 4 6 5 2 6 4 7 1
 [226] 8 9 9 3 0 7 1 0 2 0 3 5 4 6 5 8 6 3 7 5 8 0 9 1 0 3 1 2 2 3 3 6 4 7 5 0 6 2 7 9 8 5 9 2 1
 [271] 1 4 4 5 6 4 1 2 5 3 9 3 9 0 5 9 6 5 7 4 1 3 4 0 4 8 0 4 3 6 8 7 6 0 9 7 5 7 2 1 1 6 8 9 4
 [316] 1 5 2 2 9 0 3 9 6 7 2 0 3 5 4 3 6 5 8 9 5 4 7 4 2 7 3 4 8 9 1 9 2 8 7 9 1 8 7 4 1 3 1 1 0
 [361] 2 3 9 4 9 2 1 6 8 4 7 7 4 4 9 2 5 7 2 4 4 2 1 9 7 2 8 7 6 9 2 2 3 8 1 6 5 1 1 0 2 6 4 5 8
 [406] 3 1 5 1 9 2 7 4 4 4 8 1 5 8 9 5 6 7 9 9 3 7 0 9 0 6 6 2 3 9 0 7 5 4 8 0 9 4 1 2 8 7 1 2 6
 [451] 1 0 3 0 1 1 8 2 0 3 9 4 0 5 0 6 1 7 7 8 1 9 2 0 5 1 2 2 7 3 5 4 9 7 1 8 3 9 6 0 3 1 1 2 6
 [496] 3 5 7 6 8 3 9 5 8 5 7 6 1 1 3 1 7 5 5 5 2 5 8 7 0 9 7 7 5 0 9 0 0 8 9 2 4 8 1 6 1 6 5 1 8
 [541] 3 4 0 5 5 8 3 6 2 3 9 2 1 1 5 2 1 3 2 8 7 3 7 2 4 6 9 7 2 4 2 8 1 1 3 8 4 0 6 5 9 3 0 9 2
 [586] 4 7 1 2 9 4 2 6 1 8 9 0 6 6 7 9 9 8 0 1 4 4 6 7 1 5 7 0 3 5 8 4 7 1 2 5 9 5 6 7 5 9 8 8 3
 [631] 6 9 7 0 7 5 7 1 1 0 7 9 2 3 7 3 2 4 1 6 2 7 5 5 7 4 0 2 6 3 6 4 0 4 2 6 0 0 0 0 3 1 6 2 2
 [676] 3 1 4 1 5 4 6 4 7 2 8 7 9 2 0 5 1 4 2 8 3 2 4 1 5 4 6 0 7 9 8 4 9 8 0 1 1 0 2 2 3 2 4 4 5
 [721] 8 6 5 7 7 8 8 9 7 4 7 3 2 0 8 6 8 6 1 6 8 9 4 0 9 0 4 1 5 4 7 5 3 7 4 9 8 5 8 6 3 8 6 9 9
....
[ reached getOption("max.print") -- omitted 9000 entries ]

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM