初心者が機械学習をやってみたら（その１）


早速、Jetson Nanoのセットアップを開始します。

#1.準備するもの

・Jetson Nano Developer Kit（これがないと始まりません）※以下Jetsonと言います。

・microSDカード
　（公式サイトでは、最低16GB UHS-1と記載あり。今回はNVIDIA指定に従い32GB UHS-I が最低条件）
　https://developer.nvidia.com/embedded/learn/get-started-jetson-nano-devkit

・ACアダプタ（5V/4A の 2.1mm DC バレル コネクタの電源）
　Jetsonを性能を最大限に引き出すために必要
　私は以下をAmazonで購入し使用しています。
　https://www.amazon.co.jp/gp/product/B015RKFAA2/ref=ppx_yo_dt_b_asin_title_o01_s00?ie=UTF8&psc=1

・ジャンパーピン
　上記ACアダプタを使用するために必要なものです。
　私は、家に転がっているものを使用しました。

・LANケーブル
　ヘッドレスには必須です。

・USB ケーブル (Micro-B to Type-A)
　初期設定にて使用する。


#2.SDカードイメージ作成
##2.1.SDイメージダウンロードする。

　今回はNVIDIAのイメージを使用します。
　https://courses.nvidia.com/courses/course-v1:DLI+C-RX-02+V1-JA/about
　![スクリーンショット 2020-07-09 21.03.01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/668956/43953e3c-95ef-f807-1168-6c7a531ffd94.png)


 https://developer.download.nvidia.com/training/nano/ainano-ja_v1-1-1_20GB_200203A.zip
![スクリーンショット 2020-07-09 21.11.02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/668956/9ea565ab-c5ea-9d79-dffb-9a23d5a55424.png)

・解凍する。


##2.2.SDイメージ書き込みを行う。（今回はMac OS X）※Nvidiaページに従うのが良いかと思います。
・クライアントPCにSDカードを挿入する。

・SDカードの確認
　「diskutil list」にてSDカードの確認を行う。

```
$ diskutil list
（略）
/dev/disk2 (external, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:     FDisk_partition_scheme                        *31.7 GB    disk2
```

・SDカードのアンマウントをする。
　上記のコマンドで、SDカードが「/dev/disk2」であると確認できた。
　SDカードをアンマウントする。

```
$ diskutil unmountDisk /dev/disk2
```

・書き込み
　※書き込み先を間違えると、クライアントPCを破損しますので要注意です。

```
$ sudo dd if=ainano-ja_v1-1-1_20GB_200203A.img of=/dev/rdisk2 bs=1g
```
sudoなのでパスワードを求められますので、入力ください。
ainano-ja_v1-1-1_20GB_200203A.imgは、ダウンロードファイルを解凍したもの。
かつ解凍ディレクトリで実行する。

・進捗確認
「dd」実行中に「Ctrl+t」にて進捗状況が確認できる。

```
load: 1.74  cmd: dd 16258 uninterruptible 0.00u 4.56s
4+0 records in
3+0 records out
3221225472 bytes transferred in 254.028620 secs (12680561 bytes/sec)
```

#3.Jetson初期セットアップ

##3.1.起動

・書き込んだSDカードをJetsonに挿入する。
・ジャンパーピンを接続する。
・ACアダプタを接続し電源を投入する。
・USBケーブルをPCと接続する。
![jetson-nano-dev-kit-top_numbered.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/668956/56b29a73-1dd7-6dad-6d62-c6f46c0a4704.png)

![headless_dev-mode_animation.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/668956/357112ec-7f3a-98a1-6cb1-b8a87eed9108.gif)

##3.2.SSH接続

以下コマンドを実行し接続する。
ユーザ名　：dlinano
パスワード：dlinano
が初期値のようです。

```
$ ssh dlinano@192.168.55.1
dlinano@192.168.55.1's password:
# 確認があれば、ここでパスワードを入力する。
```

##3.2.IPアドレス設定

```
#デバイス名を確認(NAMEがデバイス名)
$ nmcli connection show
#NAMEを指定し設定(私の場合"Wired connection 1")
$ sudo nmcli c mod "Wired connection 1" ipv4.addresses "192.168.0.111/24"
$ sudo nmcli c mod "Wired connection 1" ipv4.gateway "192.168.0.1"
$ sudo nmcli c mod "Wired connection 1" ipv4.dns "192.168.0.1"
```
注）各アドレスは、環境に合わせ設定してください。

再起動して設定を反映します。

```
$ sync
$ sudo init 0
# 確認があれば、ここでパスワードを入力する。
```

・ACアダプタを外す。
・USBケーブルを外す。
・LANケーブルを接続する。
・ACアダプタを接続し起動する。
・SSHにて先ほど設定したIPアドレスに接続できれば完成です。


#関連（連載）

[初心者が機械学習をやってみたら（その０）](https://qiita.com/tosikazu-s/items/db2b37c46b104633d79a)
[初心者が機械学習をやってみたら（その２）](https://qiita.com/tosikazu-s/items/410b30e5fbdce0ce2675)