Bonjour.
Je voulais installer TensorFlow version 1.15.0
ou ultérieure sur Raspberry Pi.
Cela n'a pas fonctionné avec pip
, et je n'ai rien trouvé qui soit organisé en japonais, alors je vais rédiger un mémorandum.
L'environnement de Raspeye est le suivant.
$ uname -a
#Linux raspberrypi 4.19.66-v7+ #1253 SMP Thu Aug 15 11:49:46 BST 2019 armv7l GNU/Linux
$ lsb_release -a
#No LSB modules are available.
#Distributor ID: Raspbian
#Description: Raspbian GNU/Linux 9.11 (stretch)
#Release: 9.11
#Codename: stretch
La version Python est ci-dessous.
$ python3 --version
#Python 3.5.3
$ python3 -m pip --version
#pip 20.0.2 from /home/pi/.local/lib/python3.5/site-packages/pip (python 3.5)
J'ai essayé d'installer avec pip
comme d'habitude.
$ pip3 install tensorflow==xxx
#Could not find a version that satisfies the requirement tensorflow==xxx (from versions: 0.11.0, 1.8.0, 1.9.0, 1.10.0, 1.11.0, 1.12.0, 1.13.1, 1.14.0)
#No matching distribution found for tensorflow==xxx
Cependant, il semble que vous ne puissiez installer que la version 1.14.0 de Raspeye. Par conséquent, j'ai décidé de l'installer par une autre méthode.
D'après la page officielle de TensorFlow, il semble qu'il puisse être installé en construisant à partir de la source de Raspberry Pi. Nous allons construire en utilisant docker. Comme il faut du temps pour construire sur Raspeye, il est préférable de faire une compilation croisée, nous allons donc construire sur mac. En conclusion, je ne pouvais pas construire de cette façon.
mac
$ docker --version
#Docker version 19.03.5, build 633a0ea
Cloner depuis github. Je veux installer 1.15.0 cette fois, alors consultez la branche.
mac
$ git clone https://github.com/tensorflow/tensorflow.git
$ cd tensorflow
$ git checkout r1.15
Compilation croisée selon la page officielle.
mac
$ CI_DOCKER_EXTRA_PARAMS="-e CI_BUILD_PYTHON=python3 -e CROSSTOOL_PYTHON_INCLUDE_PATH=/usr/include/python3.4" \
tensorflow/tools/ci_build/ci_build.sh PI-PYTHON3 \
tensorflow/tools/ci_build/pi/build_raspberry_pi.sh
Lorsque la construction est terminée (environ 30 minutes), un fichier de package .whl sera créé dans le répertoire des artefacts de sortie de l'arborescence source de l'hôte.
Cependant, la génération ne s'est pas terminée avec l'erreur suivante.
#addgroup: Please enter a username matching the regular expression configured
#via the NAME_REGEX[_SYSTEM] configuration variable. Use the `--force-badname'
#option to relax this check or reconfigure NAME_REGEX.
Quand je l'ai recherché, j'ai trouvé isuue qu'il ne pouvait pas être construit par la procédure officielle.
Pourquoi ne puis-je pas rester officiel? .. .. C'est comme ressentir Il y avait une personne dans le numéro qui a donné un fichier nativement construit, donc cette fois je vais l'utiliser.
Il est répertorié dans Tensorflow-bin, donc installez-le en vous référant au README.
Puisque l'environnement de Rasppie est Raspbian 9.11 (stretch), utilisez tensorflow-1.15.0-cp35-cp35m-linux_armv7l.whl
.
$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get install -y libhdf5-dev libc-ares-dev libeigen3-dev gcc gfortran python-dev \
libatlas3-base libatlas-base-dev libopenblas-dev libopenblas-base libblas-dev \
liblapack-dev cython openmpi-bin libopenmpi-dev libatlas-base-dev python3-dev
#Je n'ai pas pu installer libgfortran5 alors je l'ai retiré
$ sudo pip3 install keras_applications==1.0.8 --no-deps
$ sudo pip3 install keras_preprocessing==1.1.0 --no-deps
$ sudo pip3 install h5py==2.9.0
$ sudo pip3 install pybind11
$ pip3 install -U --user six wheel mock
$ sudo pip3 uninstall tensorflow
$ wget https://github.com/PINTO0309/Tensorflow-bin/raw/master/tensorflow-1.15.0-cp35-cp35m-linux_armv7l.whl
$ sudo pip3 install tensorflow-1.15.0-cp35-cp35m-linux_armv7l.whl
La dernière commande d'installation a échoué plusieurs fois avec TypeError: type (s) d'opérande non pris en charge pour - =: 'Retry' et'int'
, mais sans aucun doute sudo pip3 install tensorflow-1.15.0 Lorsque j'ai tapé -cp35-cp35m-linux_armv7l.whl
, l'installation a réussi environ 5 fois. .. ..
$ python3
>>> import tensorflow as tf
>>> tf.__version__
1.15.0
>>> exit()
Vous avez installé avec succès 1.15.0! Aujourd'hui, c'est ici.
Recommended Posts