手元の Jetson Nano の再セットアップをやったので、手順のメモを残しておきます。

  • SSH or RDP を使ってリモートで使う
  • Python で機械学習をいろいろやってみる

というあたりが目指す最終形です。 Jetson Nano 初期モデルでしか試していませんが、Jetson Nano 2GB でもほぼ同じ手順で行けるはず。 JetPackのバージョンは4.5前提。2021/08/04 リリースの 4.6 でも大丈夫だったけど、4.5より古いと多分ダメ。

back

初期設定

起動するところまでは 公式ドキュメント 通りにセットアップを進めます。特に引っかかることはないと思いますが、言語設定は English にしておけば余計な気を使わなくて済みます。 あと、公式ドキュメントには ヘッドレスセットアップの方法 についても記載されていますが、うちの macOS Big Sur ではシリアルデバイスが見つからず、ヘッドレスセットアップは試せていません。Big Sur以降はセキュリティの何とかで USBシリアルが使えないらしい です。

必要なソフトのインストール

まずはソフトウェアのアップデート。

sudo apt update
sudo apt upgrade

SSH と avahi-daemon

sudo apt install ssh avahi-daemon
sudo systemctl restart ssh
sudo systemctl restart avahi-daemon

ここまでやれば、Jetson Nano のキーボードその他は外しても大丈夫です。

(JetPack 4.6 だと SSH と avahi-daemon はデフォルトでインストールされているんで、1行目の sudo apt install ssh avahi-daemon は不要。systemctl restart も「念のため」ぐらいの意味しかないかも)

avahi-daemon があれば、初期設定中に設定したマシン名でログインできます (例えば、ssh 192.168.xxx.xxx ではなくて、ssh jetson みたいな感じ)。

リモートでの作業

ここから先は、母艦となるPC上での作業。 まずはSSH公開鍵のコピー

ssh-copy-id -i .ssh/id_rsa <machine-name>

.ssh/id_rsa のところは .ssh/id_rsa.pub と書きたくなりますが、上記の通りのコマンドで良きに計らってくれます。

ここで ssh でログイン。 ディスプレイマネージャの変更 (以下の手順は、”Save 1GB of Memory! Use LXDE on your Jetson - JetsonHacks” の内容そのままです)。

sudo dpkg-reconfigure lightdm

ディスプレイマネージャの選択画面が出るので、lightdm を選択。 (Jetson Nano 2GB だとデフォルトが lightdm だそうなので、ここのステップは無視してください)

sudo apt install xrdp
echo lxsession > ~/.xsession
sudo systemctl restart xrdp

これでリモートデスクトップが使えます。

ここから先は自力でいろいろインストールして環境を構築していくのが定番の手順でしたが、Docker 使った方が圧倒的に楽なので、この辺りの情報をいろいろ見てください。

back


以下、単なる記録として。

Python関係

pipでのモジュールインストールだとバイナリファイル周りの依存関係がいろいろ面倒くさいので、aptでインストール

sudo apt install python3-pip python3-numpy python3-pandas python3-matplotlib python3-sklearn python3-ipykernel

Tensorflow のインストールは基本的に 公式ドキュメント の手順を踏めばいいのですが、上の流れでPythonモジュールはいろいろインストールしているので、途中段階をすっ飛ばしていきなり

sudo pip3 install --pre --extra-index-url https://developer.download.nvidia.com/compute/redist/jp/v45 tensorflow

でも行けるかもしれません。

その後

あとはこの辺りの情報をいろいろ

back