Jetson Nano に機械学習環境を構築


Jetson Nano (Jetpack4.6) にJupyter Notebook や基本ライブラリをインストールしてPython(3.6.9) を使ったベーシックな機械学習環境を構築してみます。

主要なライブラリは以下のとおり

Numpy
Pandas
Scikit-Learn
Jupyter Notebook

データ・セットの内容を確認したり、結果を可視化

Seaborn(可視化ライブラリ、matplotlib単体より簡単できれい
Bokeh(可視化ライブラリ、Webブラウザ用のグラフを表示する

これらをネイティブとDockerコンテナの2つに入れてみます。

 


ネイティブ

Jetpack4.6 のOSイメージには以下のバージョンのライブラリがデフォルトで実装されています。

Numpy 1.13.3
Pandas 0.22.0
matplotlib 2.1.1

が、最新のSeaborn を使う場合インストールできません。Seaborn を使えるようにするにはバージョンを合わせる必要があります。

Python(3.6.9)の場合

Numpy 1.18.5
Pandas 1.0.4
matplotlib 3.2.1
seaborn 0.10.1

まず、pip3をインストール・アップグレード

Scikit-Learnをインストール

Jupyter Notebook をインストール

cythonを入れておきます。

Numpyをアップグレード

Pandasをアップグレード

Matplotlibをアップグレード

Seaborn をインストール

Bokeh をインストール

 

ブラウザーを起動しておいて、Jupyter Notebook を起動

jupyter notebook

 

 

 

 

 

 

 

 

 

 

 


コンテナ

Docker イメージはNVIDIA 提供nvcr.io/nvidia/l4t-ml:r32.6.1-py3を使います。

jupyterのファイルやいろいろなデータセットなどをホストと共有するフォルダーを作っておきます。

ユーザー名は各自で変更

my_ml という名前でコンテナを作成

sudo docker create -it --name my_ml --gpus all --network host -v /home/jetson/jupyternb:/work nvcr.io/nvidia/l4t-ml:r32.6.1-py3

コンテナ起動

アップデート、アップグレード、ライブラリインストール

seabornインストール

bokeh インストール

scikit-learnインストール

Jupyter Notebook インストール

Jupyter起動

No web browser found: could not locate runnable browser.」と表示されたら

ホスト側でブラウザーを起動して以下にアクセス

localhost:8888 

パスワードを聞いてきた場合 : nvidia

 

 

 

 

 

 

 

 

 

 

 

 


機械学習の入門などでよく使われるirisデータセットの散布図を描いてみました。

上がSearborn、下がMatpoltlib

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Bokeh を使った散布図

irisのデータはPandas を使って外部から読み込んでいます(iris.csvは探せばネット上ですぐ見つかります)。

フロッピーのアイコンでグラフを保存できます。

 

 


Appendix

機械学習を前提にしたPython 入門

(Colab のjupyterを使うようになっていますがローカルのJupyter でもいけます)

Pythonプログラミング入門

入門でぼんやり分かった気になったことをより突っ込んで教えてくれます

機械学習帳

現場に近いとこではこうやってるみたいです

教師あり学習 分類

教師あり学習 回帰

 


Appendix2

より網羅的なPython 入門

 


Appendix3

NVIDIA のl4t-mlのr35.3.1以降のイメージ

参照 dusty-nv/jetson-containers 

 


 

Be the first to comment

Leave a Reply

Your email address will not be published.


*