Dans 72p "3.6.2 Traitement d'inférence de réseau neuronal" de "Deep Learning from scratch", le fichier pickle de python est appelé. Ce fichier pickle est un binaire brut, il n'est donc pas facile à appeler. Alors, essayez d'importer le fichier pickle depuis le PyCall interdit.
#Installez pycall
$ gem install pycall
#Incorporation de pyenv
$ git clone https://github.com/pyenv/pyenv.git ~/.pyenv
$ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
$ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile
$ echo 'eval "$(pyenv init -)"' >> ~/.bash_profile
# .bash_Profil de récupération
$ source ~/.bash_profile
#Vérifier la version de python
$ python3 --version
3.7.3
#Installer la bibliothèque partagée de pyenv
$ CONFIGURE_OPTS="--enable-shared" pyenv install 3.7.3
#Installez numpy
$ pip install numpy
Prêt maintenant
require 'pycall/import'
include PyCall::Import
pyimport :numpy
pyimport :pickle
pkl = open("sample_weight.pkl", "rb")
network = pickle.load(pkl)
J'étais en colère que je viens d'appeler pycall normalement.
> require 'pycall/import'
true
> include PyCall::Import
Object
> hoge = PyCall.eval('0')
Traceback (most recent call last):
9: from /usr/local/bin/irb:23:in `<main>'
8: from /usr/local/bin/irb:23:in `load'
7: from /usr/local/lib/ruby/gems/2.7.0/gems/irb-1.2.1/exe/irb:11:in `<top (required)>'
6: from (irb):3
5: from /usr/local/bundle/gems/pycall-1.3.0/lib/pycall.rb:39:in `eval'
4: from /usr/local/bundle/gems/pycall-1.3.0/lib/pycall.rb:62:in `import_module'
3: from /usr/local/bundle/gems/pycall-1.3.0/lib/pycall/init.rb:16:in `const_missing'
2: from /usr/local/bundle/gems/pycall-1.3.0/lib/pycall/init.rb:35:in `init'
1: from /usr/local/bundle/gems/pycall-1.3.0/lib/pycall/libpython/finder.rb:95:in `find_libpython'
PyCall::PythonNotFound (PyCall::PythonNotFound)
J'ai pu le résoudre en installant la bibliothèque partagée de pyenv en se référant à l'article suivant
Installez pyenv et pyenv-virtualenv https://qiita.com/shigechioyo/items/198211e84f8e0e9a5c18 [Ruby] Apprentissage automatique ①: Introduction à Ruby https://qiita.com/chamao/items/cd62715c6be2fad2f8e7