14
13

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Jetson Nano でTensorFlow を使えるようにする

Posted at

【目的】

Jetson NanoでTensorflowを使えるようにします。

【内容】

下記記事の続きです。
【Jetson Nano はじめました】

Jetson NanoできちんとGPUが利用できるようにTensorflowのセットアップを行います。

【手順】

基本的には以下の手順を踏襲します。
【nvidia - DEEP LEARNING FRAMEWORKS DOCUMENTATION】

大雑把に分けると以下の手順になります。

  1. 必要なライブラリの追加
  2. pip3のインストールとアップデート
  3. Python3ライブラリの追加
  4. Tensorflowのインストール
  5. インストール確認

【0. システムアップデート】

作業を行う前に、下記コマンドでシステムのアップデートを行っておきましょう。

システムアップデート
sudo apt update
sudo apt upgrade
sudo apt dist-upgrade  # <- 必要に応じて

【1. 必要なライブラリの追加】

以下のコマンドを実行して、ライブラリを追加します。

ライブラリインストール
sudo apt install libhdf5-serial-dev hdf5-tools libhdf5-dev zlib1g-dev zip libjpeg8-dev

【2. pip3のインストールとアップデート】

以下のコマンドを実行して、pip3のインストールとアップデートを行います。

pip3インストール
sudo apt install python3-pip
sudo pip3 install -U pip

【3. Python3ライブラリの追加】

以下のコマンドを実行して、Python3のライブラリをインストールします。
hdf5(h5py)のビルドに時間がかかるので、動きが止まってもしばらく待ちましょう。

Python3ライブラリインストール
sudo pip3 install -U numpy grpcio absl-py py-cpuinfo psutil portpicker six mock requests gast h5py astor termcolor protobuf keras-applications keras-preprocessing wrapt google-pasta

【4. Tensorflowのインストール】

本手順の肝になります。
通常TensorflowのGPUをインストールする場合は pip3 install tensorflow-gpu としますが、ここでは少し異なる手順を行います。
Jetson用に最適化されたtensorflowをインストールするために、以下のコマンドのようにパッケージの参照先を指定してインストール操作を行います。

TensorFlowインストール
sudo pip3 install --pre --extra-index-url https://developer.download.nvidia.com/compute/redist/jp/v42 tensorflow-gpu

【5. インストール確認】

下記コマンドを実行し、エラーが発生せず正常にバージョン番号が表示されればインストールは完了しています。

TenrorFlowバージョン確認
python3

>>> import tensorflow
>>> tensorflow.__version__
'1.13.1'
TenrorFlowデバイス確認
python3 -c "from tensorflow.python.client import device_lib;print(device_lib.list_local_devices())"

2019-07-29 13:14:58.190442: W tensorflow/core/platform/profile_utils/cpu_utils.cc:98] Failed to find bogomips in /proc/cpuinfo; cannot determine CPU frequency
2019-07-29 13:14:58.235141: I tensorflow/compiler/xla/service/service.cc:161] XLA service 0xb3cd0c0 executing computations on platform Host. Devices:
2019-07-29 13:14:58.235246: I tensorflow/compiler/xla/service/service.cc:168]   StreamExecutor device (0): <undefined>, <undefined>
2019-07-29 13:14:58.612721: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:965] ARM64 does not support NUMA - returning NUMA node zero
2019-07-29 13:14:58.613451: I tensorflow/compiler/xla/service/service.cc:161] XLA service 0x937e7c0 executing computations on platform CUDA. Devices:
2019-07-29 13:14:58.613523: I tensorflow/compiler/xla/service/service.cc:168]   StreamExecutor device (0): NVIDIA Tegra X1, Compute Capability 5.3
2019-07-29 13:14:58.635780: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1433] Found device 0 with properties: 
name: NVIDIA Tegra X1 major: 5 minor: 3 memoryClockRate(GHz): 0.9216
pciBusID: 0000:00:00.0
totalMemory: 3.87GiB freeMemory: 400.53MiB
2019-07-29 13:14:58.635908: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1512] Adding visible gpu devices: 0
2019-07-29 13:15:11.521625: I tensorflow/core/common_runtime/gpu/gpu_device.cc:984] Device interconnect StreamExecutor with strength 1 edge matrix:
2019-07-29 13:15:11.566313: I tensorflow/core/common_runtime/gpu/gpu_device.cc:990]      0 
2019-07-29 13:15:11.566375: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1003] 0:   N 
2019-07-29 13:15:11.617237: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1115] Created TensorFlow device (/device:GPU:0 with 182 MB memory) -> physical GPU (device: 0, name: NVIDIA Tegra X1, pci bus id: 0000:00:00.0, compute capability: 5.3)
[name: "/device:CPU:0"
device_type: "CPU"
memory_limit: 268435456
locality {
}
incarnation: 5129210299603277623
, name: "/device:XLA_CPU:0"
device_type: "XLA_CPU"
memory_limit: 17179869184
locality {
}
incarnation: 5782956840367099111
physical_device_desc: "device: XLA_CPU device"
, name: "/device:XLA_GPU:0"
device_type: "XLA_GPU"
memory_limit: 17179869184
locality {
}
incarnation: 16654519161776921911
physical_device_desc: "device: XLA_GPU device"
, name: "/device:GPU:0"
device_type: "GPU"
memory_limit: 191168512
locality {
  bus_id: 1
  links {
  }
}
incarnation: 11282338340052839306
physical_device_desc: "device: 0, name: NVIDIA Tegra X1, pci bus id: 0000:00:00.0, compute capability: 5.3"
]

GPUもきちんと認識しているようです。
以上でTensorflowを使えるようになりました。

14
13
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
14
13

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?