覺書: Setup NVIDIA Jetson Nano
ここに至つた顚末
ここ數年、Amazonの欲しいものリストにはRaspberry Pieが入つてゐたのだが、玩具として面白さうといふだけで、はつきりとした利用目的があるわけでもなし、踏ん切りがつかずそのままになつてゐた。
近頃になつて、AIだのDLだのを少し弄る機會が出來たものの、うちのPCにはCUDAをぶん廻せるGPUが載つてゐないので、まるで捗らない。さりとてそのためにPCを更新するのは經濟的にも空間的にも辛い。さういふ折りに、たまさかNVIDIA Jetson Nanoの存在を知つた。
「これは、今の俺の需要に割とぴつたりなんと違ふか?」
情報不足でいきなり20kJPYをぽんと支拂ふ勇氣はないので、特輯の組まれてゐた『トランジスタ技術』2019年9月號を取り寄せ、まあまあ大丈夫だらうといふ見通しが立つたので、ポチつた。
以下は、かくなる經緯で手に入れたNVIDIA Jetson Nanoのセットアップについての記錄である。
microSDの準備
NVIDIA Jetson Nano(以下、JNと略する)は、ストレージとしてmicroSDを用ゐる。最小16GB、UHS-1推獎とのこと。後から容量不足で面倒が起きるのは嫌なので、スマホに插したのと同じのでいいや、くらゐのノリで128GBのものを選擇した。
そいつにOSイメージを燒く。手順はWrite Image to the microSD Card @ Getting Started With Jetson Nano Developer Kitのとほり。
First Boot
OSイメージを燒いたmicroSDと、キーボード、マウス、モニター(HDMI)、WiFiドングルをJNに插した後、電源を入れた。電源はmicroUSB供給、ACアダプタ供給のいづれかで供給するのだが、うちは5V4AのACアダプタを選擇。ACアダプタを繫ぐと、LEDが光り、起動した。
しばらく後、設定畫面が出現。次のやうな項目を設定する。前後して、WiFiの設定も行つたが、どちらが先に出たかはつきり覺えてゐない(汗)
- Language: English (Japaneseはトラブルの元、みたいな情報が多かつたので)
- Keyboard: Japanese OADG 109A
- Location: Tokyo
- 計算機名、ユーザ名、パスワード
設定が終はれば、ログイン畫面からログイン。ログイン無用の設定もあつたと思ふが、選ばなかつたので、どんな感じなのかは分からない。
ログイン後、ターミナルを開き、取り敢へずとばかりに更新をかける。
- $ sudo apt update
- $ sudo apt upgrade
次いで、.bashrcに以下を追加。
alias rm='rm -i'
alias cp='cp- i'
alias mv='mv- i'
續いて、以下を參照してswapの設定をした。
ここまでやつて、一度reboot。
SSHの設定
いつまでもPCのモニタをJNに明け渡したままにしておいたのでは捗らないので、sshでリモートログインできるやうに……特に何もしてゐない。JNがうちのノートPCから見えなかつたのでしばらく困つたのだが、デスクトップPCにモニタを繫ぎ直してpingで叩いたらあつさり見えたので……うん、何が惡かつたのか、いまいちはつきりしない。今は一往、問題のノートからもJNにssh接續できるやうになつたもので……。
ともかく、sshでログインできることを確認後、以下の手順でRSA公開鍵を設定。
- PCからJNにsftpで~/.ssh/id_rsa.pubをput。
- JN上で以下を實行
- $ cat id_rsa.pub >> ~/.ssh/authorized_keys
- chmod 700 ~/.ssh
- chmod 600 ~/.ssh/authorized_keys
Sambaの設定
Windows側とのファイルの遣り取りのために、NVIDIA Jetson Nano を使ってみる(起動と設定編)の「Samba設定」の項を參考に、sambaを設定した。
開發環境の整備
ごく基本的なものとか、JN特有のものとかは、最初からインストールされてゐる。具體的には、Jetson Nanoの開発環境に纏められてゐる。それで足るわけでもないので、あれこれ動かすために、以下をsudo apt installした。
- cmake
- libpython3-dev
- python3-numpy
- pybind11-dev
- python3-pybind11
- python3-pip
pip3を入れた後、pythonのパッケージも入れた。
- fastrlock
- cupy
- chainer
Windows + MSYS2 のメイン環境だと、GCC9とかを普通に使つてゐたので、ダウングレードした開發ツール使つてあれこれやるのが、把握するまでは結構難儀かもなあ、と思つた。pybind11のバージョンが2.0.1-4つてことで、早速コード書き換へる羽目になつたし……。
(とりあへずここまで)