Mistake in R: Python h5py package needed to save and load models

I am using R 3.4.2. I follow the example from decryptr package

library(decryptr)

# Download captchas
captcha <- download_tjmg(dest = 'img')
keras_tjmg <- decryptrModels::read_model('tjmg')

The last line of code causes an error

Error in keras::load_model_hdf5(file_path) : 
  The h5py Python package is required to save and load models

I tried reinstalling the h5py package from the terminal. I also installed the package keras. I can import the h5py package into the pirton, but Rstudio will not recognize it in any way.

+4
source share
1 answer

I have never installed these packages before, but I did the following and succeeded! It took a bit of time because it gave me a lot of errors besides what you reported.

Finally, I came up with this: in the terminal,

pip uninstall h5py
pip install h5py
pip uninstall keras
pip install keras

I checked in Python that import h5pytrue was working (the first time it gave me a DLL crash.) Then in R after restarting

install.packages("reticulate")
install.packages("tensorflow")
install.packages("keras")
install.packages("h5py")
devtools::install_github("decryptr/decryptr")
devtools::install_github("decryptr/decryptrModels")

library(keras)
install_keras()

# Check where Python looked for
reticulate::py_config() 

library(decryptr)
library(decryptrModels)

captcha <- captcha_download_tjmg(dest = 'img')
keras_tjmg <- read_model('tjmg')

sessionInfo() :

R version 3.4.1 (2017-06-30)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows >= 8 x64 (build 9200)
Matrix products: default
locale:
[1] LC_COLLATE=English_United States.1252 
[2] LC_CTYPE=English_United States.1252   
[3] LC_MONETARY=English_United States.1252
[4] LC_NUMERIC=C                          
[5] LC_TIME=English_United States.1252    
attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     
other attached packages:
[1] decryptrModels_0.0.0.9000 decryptr_0.0.1.9000      
[3] keras_2.0.8.9001         
loaded via a namespace (and not attached):
 [1] Rcpp_0.12.13          prettyunits_1.0.2     assertthat_0.2.0     
 [4] R6_2.2.2              jsonlite_1.5          magrittr_1.5         
 [7] httr_1.3.1            tfruns_1.0            rlang_0.1.2          
[10] progress_1.1.2        curl_2.8.1            whisker_0.3-2        
[13] reticulate_1.2.0.9005 tools_3.4.1           purrr_0.2.3          
[16] compiler_3.4.1        base64enc_0.1-3       tensorflow_1.4.0.9003

, .

+2

Source: https://habr.com/ru/post/1687756/


All Articles