[PYTHON] Osez apprendre avec Ruby "Deep Learning from scratch" Importation de fichiers pickle depuis PyCall interdit

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.

Environnement

#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

Comment importer

require 'pycall/import'
include PyCall::Import

pyimport :numpy
pyimport :pickle
pkl = open("sample_weight.pkl", "rb")
network = pickle.load(pkl) 

Remarques: ce à quoi j'étais accro

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

Article de référence

Installez pyenv et pyenv-virtualenv https://qiita.com/shigechioyo/items/198211e84f8e0e9a5c18 [Ruby] Apprentissage automatique ①: Introduction à Ruby https://qiita.com/chamao/items/cd62715c6be2fad2f8e7

Recommended Posts

Osez apprendre avec Ruby "Deep Learning from scratch" Importation de fichiers pickle depuis PyCall interdit
Deep Learning from scratch ① Chapitre 6 "Techniques liées à l'apprentissage"
Résumé Python vs Ruby "Deep Learning from scratch"
Apprentissage profond à partir de zéro
[Deep Learning from scratch] J'ai essayé d'expliquer le décrochage
"Deep Learning from scratch" Mémo d'auto-apprentissage (n ° 16) J'ai essayé de créer SimpleConvNet avec Keras
"Deep Learning from scratch" Mémo d'auto-apprentissage (n ° 17) J'ai essayé de créer DeepConvNet avec Keras
Apprentissage profond à partir de zéro 1 à 3 chapitres
Essayez de créer un réseau de neurones / d'apprentissage en profondeur avec scratch
Créez un environnement pour "Deep Learning from scratch" avec Docker
J'ai essayé d'implémenter Perceptron Part 1 [Deep Learning from scratch]
Apprentissage profond à partir de zéro (calcul des coûts)
Mémo d'apprentissage profond créé à partir de zéro
Réaliser la construction d'environnement pour "Deep Learning from scratch" avec docker et Vagrant
[Deep Learning from scratch] J'ai essayé d'implémenter la couche sigmoïde et la couche Relu
Python vs Ruby «Deep Learning from scratch» Chapitre 2 Circuit logique par Perceptron
[Deep Learning from scratch] Implémentation de couche de la fonction softmax à l'erreur d'entropie croisée
Python vs Ruby "Deep Learning from scratch" Chapitre 4 Implémentation de la fonction de perte
[Mémo d'apprentissage] Le Deep Learning fait de zéro [Chapitre 7]
Apprentissage profond à partir de zéro (propagation vers l'avant)
Deep learning / Deep learning made from scratch Chapitre 6 Mémo
[Mémo d'apprentissage] Deep Learning fait de zéro [Chapitre 5]
[Mémo d'apprentissage] Le Deep Learning fait de zéro [Chapitre 6]
Alignement d'image: du SIFT au deep learning
"Deep Learning from scratch" avec Haskell (inachevé)
Deep learning / Deep learning made from scratch Chapitre 7 Mémo
[Windows 10] Construction de l'environnement "Deep Learning from scratch"
Enregistrement d'apprentissage de la lecture "Deep Learning from scratch"
[Deep Learning from scratch] À propos de l'optimisation des hyper paramètres
Mémo d'auto-apprentissage "Deep Learning from scratch" (partie 12) Deep learning
[Mémo d'apprentissage] Deep Learning fait de zéro [~ Chapitre 4]
Python vs Ruby "Deep Learning from scratch" Chapitre 3 Implémentation d'un réseau neuronal à 3 couches
Préparez l'environnement pour le livre O'Reilly "Deep Learning from scratch" avec apt-get (Debian 8)
Deep Learning from scratch La théorie et la mise en œuvre de l'apprentissage profond appris avec Python Chapitre 3
J'ai essayé d'extraire le dessin au trait de l'image avec Deep Learning
Version Lua Deep Learning from scratch Part 5.5 [Rendre les fichiers pkl disponibles dans Lua Torch]
Mémo d'auto-apprentissage "Deep Learning from scratch" (glossaire illisible)
"Deep Learning from scratch" Mémo d'auto-apprentissage (n ° 9) Classe MultiLayerNet
GitHub du bon livre "Deep Learning from scratch"
Deep Learning from scratch Chapter 2 Perceptron (lecture du mémo)
[Mémo d'apprentissage] Apprentissage profond à partir de zéro ~ Mise en œuvre de l'abandon ~
Apprentissage automatique à partir de zéro (apprentissage automatique appris avec Kaggle)
Contre-mesures pour l'erreur "Impossible d'obtenir le répertoire supérieur" lors de l'utilisation du Deep Learning ② fait à partir de zéro avec le spyder d'ANACONDA
Mémo d'auto-apprentissage «Deep Learning from scratch» (10) Classe MultiLayerNet
Mémo d'auto-apprentissage «Deep Learning from scratch» (n ° 11) CNN
Python vs Ruby "Deep Learning from scratch" Chapitre 3 Graphique de la fonction step, fonction sigmoid, fonction ReLU
Python vs Ruby "Deep Learning from scratch" Chapitre 1 Graphique de la fonction sin et de la fonction cos
[Deep Learning from scratch] J'ai implémenté la couche Affine
Mémo d'auto-apprentissage «Deep Learning from scratch» (n ° 19) Augmentation des données
Application de Deep Learning 2 à partir de zéro Filtre anti-spam
Résumé du site pour apprendre l'apprentissage automatique avec une vidéo en anglais
MVC - Édition de modèle pour apprendre de 0 avec un biais uniquement
Créez un environnement d'apprentissage automatique à partir de zéro avec Winsows 10
Feuille de route d'apprentissage qui vous permet de développer et de publier des services à partir de zéro avec Python
[Deep Learning from scratch] J'ai essayé d'expliquer la confirmation du gradient d'une manière facile à comprendre.
Un mémo lors de l'exécution de l'exemple de code de Deep Learning créé à partir de zéro avec Google Colaboratory
Mémo d'auto-apprentissage "Deep Learning from scratch" (partie 8) J'ai dessiné le graphique du chapitre 6 avec matplotlib