Jetson Nano への.whl(wheel)を用いたTensorflow install 手順

スペース・アイで機械学習に関する諸々を担当しているtkです。

先日勉強会に参加してGoogleやNvidiaの中の人の講演や他の参加者の方から開発状況を色々聞く機会があり、社内開発用にNvidiaのエッジGPUデバイスの Jetson Nano を購入してから検証をしています。

(2019/06/23時点)でのTensorflowのインストールに関するエラー情報が幾つか上がっており、自分でセットアップした範囲の記録になります。


(写真はJetson Nano)

Jetson Nano へTensorflowインストール 公式手順ではerror

今回SDカードに「Jetson Nano Developer Kit SD Card Image JP 4.2」イメージ焼いてセットアップを続け、
Tensorflowのインストールで公式手順では404errorが出ました。
(2019/06/23時点)

公式インストール手順
https://docs.nvidia.com/deeplearning/frameworks/install-tf-jetson-platform/index.html#install

このコマンドでは404エラーで失敗してしまいます

$ pip3 install --pre --extra-index-url https://developer.download.nvidia.com/compute/redist/jp/v42 tensorflow-gpu
 :
 (メッセージいろいろ)
 :
requests.exceptions.HTTPError: 404 Client Error: Not Found for url: https://developer.download.nvidia.cn/compute/redist/jp/v42/keras-preprocessing/

Jetson Nano にTensorflow を .whl でインストール

既に公式issueや各所でエラー報告も上がっています。リポジトリアップデートやbazelでのビルドなどにより解決できるようです。

自分はNvidiaで提供されているビルド済みの wheelファイル(.whl)にてインストールをしました。

wheelのインストール

wheelのインストール

$sudo pip3 install wheel
wheelパッケージの対応アーキテクチャ確認

Python実行環境がサポートするwheelバイナリパッケージのアーキテクチャを確認します。

$python3

>>> import pip
>>> print(pip.pep425tags.get_supported())

[('cp36', 'cp36m', 'linux_aarch64'), ('cp36', 'abi3', 'linux_aarch64'), ('cp36', 'none', 'linux_aarch64'), ('cp35', 'abi3', 'linux_aarch64'), ('cp34', 'abi3', 'linux_aarch64'), ('cp33', 'abi3', 'linux_aarch64'), ('cp32', 'abi3', 'linux_aarch64'), ('py3', 'none', 'linux_aarch64'), ('cp36', 'none', 'any'), ('cp3', 'none', 'any'), ('py36', 'none', 'any'), ('py3', 'none', 'any'), ('py35', 'none', 'any'), ('py34', 'none', 'any'), ('py33', 'none', 'any'), ('py32', 'none', 'any'), ('py31', 'none', 'any'), ('py30', 'none', 'any')]

JetsonはARMプロセッサ64bitです。
一番初めあたりに記述のある「 (‘cp36’, ‘cp36m’, ‘linux_aarch64’) 」に関するwheelファイルを用いれば良いようです。

対応しているTensorflowの.whlファイルからインストール

今回SDカードイメージは「Jetson Nano Developer Kit SD Card Image JP 4.2」を使いました。JetPackのバージョンは JP 4.2 です。

以下のページから適応している.whlをさがします。
TensorFlow for JetPack JP 4.2 2019/05/22 がみつかります。
https://developer.nvidia.com/embedded/downloads



クリック展開してDOWNLOADにあるリンクURLをみると、
https://developer.download.nvidia.com/compute/redist/jp/v42/tensorflow-gpu/tensorflow_gpu-1.13.1+nv19.5-cp36-cp36m-linux_aarch64.whl

(‘cp36’, ‘cp36m’, ‘linux_aarch64’)  対応していますので、このファイルでOKです。

以下コマンドによって.whlでtensorflow-gpuのインストール。

$ sudo pip3 install https://developer.download.nvidia.com/compute/redist/jp/v42/tensorflow-gpu/tensorflow_gpu-1.13.1+nv19.5-cp36-cp36m-linux_aarch64.whl

正常インストールできました。

確認します。

$python3
>>>import tensorflow as tf
>>>tf.__version__
'1.13.1'

1.13.1がインストールできていますね。
以上になります。

最新ブログ一覧