Web Analytics

K Lab.

モノ作りしたり、写真撮ったり。

Raspberry Piにtensorflowをインストールする。

f:id:KLAB:20220319153942p:plain

どうもこんにちはK Lab.です。今回はraspberrypiにtensorflowをインストールする方法を書いていきたいと思います。

環境

Python 3.7.3

Rasberrypi OS Buster 32bit

Raspberry Pi OS Bullseyeでインストールをしようと試みましたができませんでした。

 

1.tensorflowをダウンロード

下記のページからprevious_versionsを選択し、自分に合ったファイルをダウンロードしてください。今回はtensorflow-2.5.0-cp37-none-linux_armv7l_numpy1195.shを選択します。

github.com

・ダウンロードの仕方

下記のコマンドを実行してください。

.shファイルがダウンロードされます。

wget "https://raw.githubusercontent.com/PINTO0309/Tensorflow-bin/main/previous_versions/download_tensorflow-2.5.0-cp37-none-linux_armv7l_numpy1195.sh"

.shファイルを実行します。

sh download_tensorflow-2.5.0-cp37-none-linux_armv7l_numpy1195.sh

上記の方法で200MB程度のファイルがダウンロードできれば成功です。

失敗してしまった人は下記の方法でダウンロードしてください。

下記のURLからブラウザ経由で.whlファイルをダウンロードしてください。

Google Drive - Virus scan warning

※RAWページに書かれているコードからURLを抜粋したものです。

 

2.tensorflowをインストールする。

1. 下記のコマンドを実行してsources.listを開き、#deb-srcの行の先頭の#をすべて削除してください。

sudo vim /etc/apt/sources.list

2. パッケージをアップデート。

sudo apt-get update;

sudo apt-get dist-upgrade

3.sudo apt-get -y install curl python3-protobuf python3-termcolor python3-yaml python3-pydot python3-pyasn1 python3-pyasn1-modules python3-rsa python3-markdown python3-cachetools python3-future python3-dill python3-tqdm python3-pil python3-pip python3-wheel python3-setuptools python3-matplotlib python3-h5py python3-scipy python3-grpcio python3-requests-oauthlib python3-werkzeug python3-wrapt

4.sudo apt-get build-dep h5py grpc python-wrapt

5.pip3 install numpy==1.19.5 && (CC=mpicc CXX=mpic++ pip3 install h5py==3.1.0) || pip3 install h5py==3.1.0

6.apt-get purge python3-wrapt

7.エラーが出るからpipを更新

pip3 install -I pip

8.tensorflowをインストール

python3 -m pip install tensorflow-hub tensorflow-datasets tensorflow-2.5.0-cp37-none-linux_armv7l.whl

 

動作確認

下記のコードを実行して問題なければ成功です。


import numpy as np
import tensorflow as tf

print(tf.__version__)

gpus = tf.config.experimental.list_physical_devices('GPU')
if gpus:
    logical_gpus = tf.config.experimental.list_logical_devices('GPU')
    print("Physical GPUs: {}, Logical GPUs: {}".format(len(gpus), len(logical_gpus)))
else:
    print("CPU only")

x = np.arange(-1, 1, 0.0001)
y = 0.8 * x + 0.2

model = tf.keras.Sequential([tf.keras.layers.Dense(1, activation=None)])
model.compile("sgd", "mse")
model.build(input_shape=(0,1))
model.summary()
model.fit(x, y, epochs=5)

print("ground truth: 0.8, 0.2")
print("estimated: ", model.variables[0][0,0].numpy(), model.variables[1][0].numpy())

 

エラーが発生した場合

libatlas-base-devをインストールしてみてください。

下記のコマンドでインストールできます。

sudo apt install libatlas-base-dev

 

参考にさせて頂いたサイト

ラズパイへのTensorFlow 2.5 & Keras超簡単インストールして物体検出 - Qiita

ラズパイでnumpyをインストールしたのにインポートできない