NVIDIA Jetson Jetson Nano ブラシ マシン + ROS インストール + ディープラーニング構成

.NVIDIA Jetson Jetson Nano ブラシ マシン + ROS インストール + ディープラーニング構成

V1.0.0 – Holden 著

日付:2021-10-22

1. Jetson Nano の概要

NVIDIA は、2019 NVIDIA GPU Technology Conference (GTC) で Jetson Nano 開発キットを発表しました。これは、組み込み設計者、研究者、DIY メーカーが現在入手できる 99 ドルのコンピューターで、コンパクトで使いやすいプラットフォームで最新の AI のパワーを提供します。完全なソフトウェアプログラマビリティ。Jetson Nano は、クアッドコア 64 ビット ARM CPU と 128 コアの統合 NVIDIA GPU を使用しており、472 GFLOPS のコンピューティング パフォーマンスを提供できます。また、5W/10W 電力モードと 5V DC 入力を備えた効率的な低電力パッケージに 4GB の LPDDR4 メモリが含まれています。

Nanoは下図のようにメモリの違いで左が4GBモデル、右が2GBモデルの2種類に分かれます(もちろん4GBも2種類ありますが、見た目は同じです)。

この記事では Jetson Nano 4GB バージョンを使用します。

ここに画像の説明を挿入

これらのフレームワークおよび NVIDIA の最先端の AI プラットフォームと完全な互換性があるため、AI ベースの推論ワークロードを Jetson にデプロイすることがこれまでより簡単になります。Jetson Nano は、さまざまな複雑なディープ ニューラル ネットワーク (DNN) モデルに対してリアルタイムのコンピューター ビジョンと推論を提供します。これらの機能は、マルチセンサー自律ロボット、インテリジェントなエッジ分析と高度な AI システムを備えた IoT デバイスをサポートします。転移学習でも、ML フレームワークを使用して、Jetson Nano 上でローカルにネットワークを再学習できます。
ここに画像の説明を挿入
ここに画像の説明を挿入

詳細については、公式 Web サイトをご確認ください: https://developer.nvidia.com/embedded/learn/get-started-jetson-nano-devkit#intro

2. Jetson Nano フラッシュの紹介

質問を開く

2.1 ツールの準備

  • Jetson Nano にはハードディスクが内蔵されていないため、ハードディスクとして TF カードをインストールする必要があります。64G TF カードを購入することをお勧めします。32G も使用できますが、フラッシュ完了後の残りのスペースは比較的少なくなります
  • PCとTFカードを書き込むためのカードリーダーを準備します。
  • Ubuntu システムを搭載した PC を準備します; Windows システムも使用できますが、この記事では Windows のプロセスは紹介しません。

2.2 イメージのダウンロードと書き込みツール

ここに画像の説明を挿入

クリックしてダウンロードすると、Nvidia アカウントにログインする必要があります。ダウンロードするためにアカウントを登録する必要がない場合は、外部ネットワークを使用してダウンロードすることをお勧めします

ファイルサイズは約 6.5G で、ダウンロードした Baidu クラウドのリンクが添付されています。

4GBメモリ イメージ –> リンク: https://pan.baidu.com/s/1E3ybUCxzxqSNZAHjdvqJaAパスワード: lg43

2GBメモリイメージ –> リンク: https://pan.baidu.com/s/1dCqKd2Hjp6mXz5X2tJ24Zgパスワード: l6lw

  • Jetson Nano Ubuntu 書き込みツールのダウンロード リンク: https://www.balena.io/etcher/

  • ここに画像の説明を挿入

    リンクを開くと、マシンのシステムが直接自動的に識別されます。Linux64 ビット ソフトウェアをダウンロードしましたが、この Web サイトのダウンロードには時間がかかる可能性があります。

    ダウンロードした Baidu クラウドのリンクを添付します: https://pan.baidu.com/s/1Gfi77-rimCC3P7MH182ikwパスワード:oiln

    使用するときに直接実行できます

  $ ./balenaEtcher-1.5.122-x64.AppImage

2.3 ネイティブイメージをTFカードに書き込む

TF カードをカード リーダーに挿入し、ホスト コンピューターの USB ポートに挿入して、次の手順を実行します。

1. Flash フォーム ファイルをクリックして、ダウンロードした SD カード イメージ圧縮パッケージを選択します

ここに画像の説明を挿入

2. [ターゲットの選択] をクリックして、書き込む TF カードを選択し (TF カードを自動的に認識するものもあります)、[フラッシュ] をクリックします。

ここに画像の説明を挿入

ここに画像の説明を挿入

ここに画像の説明を挿入

3. コンピュータのホストのパスワードを入力する必要があります

ここに画像の説明を挿入

ここに画像の説明を挿入

ここに画像の説明を挿入

4.書き込みが成功しました

ここに画像の説明を挿入

2.4 起動

焼き付けたTFカードをJetson Nano開発ボードに挿入し、マウス、キーボード、モニターを接続し、最後に電源を接続して、開発ボードを起動します。

初めてインターフェイスを確認し、インストールして次へ直接進むことができます。

ここに画像の説明を挿入

2.5 ディープラーニングコンポーネントの構成

ネイティブ イメージには、デフォルトで cuda、cudnn などがインストールされます。システムのインストール後、次の構成が必要です。

[1]. cuda パスを bashrc にエクスポート

export LD_LIBRARY_PATH=/usr/local/cuda/lib
export PATH=$PATH:/usr/local/cuda/bin

[2]. ROSのインストール(メロディックバージョン)

公式の ROS インストール チュートリアルを参照してください: http://wiki.ros.org/cn/melodic/installation/Ubuntu ;

3. ミラークローンの作成

[1] Jetson Nano 開発ボードにさまざまなプロジェクトとさまざまな環境をインストールした後、新しいイメージをエクスポートする必要があります。

[2] TF カードを取り出してカード リーダーに挿入し、カード リーダーを Ubuntu ホストに挿入します。

[3] ホスト上で新しいターミナルを開き、次のコマンドを入力して SD カードのパーティション名を表示します。

$ sudo fdisk -u -l

表示は次のとおりです。私のTFカードのパーティションは/dev/sdc

Disk /dev/sdc: 29.2 GiB, 31312576512 bytes, 61157376 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: B81CC800-DEB8-47E1-A23C-04D0D166A06A

Device     Start      End  Sectors  Size Type
/dev/sdc1  28672 61155327 61126656 29.2G Linux filesystem

[4] ターミナルを再度開き、以下のコマンドを入力すると、ディレクトリに~/イメージファイルJetson-Nano.img.gzが生成されます。

$ sudo dd if=/dev/sdc conv=sync,noerror bs=4M | gzip -c > Jetson-Nano.img.gz

次のコマンドを実行して、クローン作成の進行状況を表示します。

$ sudo pkill -USR1 -n -x dd

ここに画像の説明を挿入

クローン作成が成功すると、~/ ディレクトリにイメージ ファイルが生成されます。

ここに画像の説明を挿入

4. 画像の更新

[1] セクション 4 で新しいイメージをエクスポートした後、それを新しい Jetson Nano にインポートする必要があります。インポート方法は次のとおりですJetson Nano と同じモデルである必要があることに注意してください。

[2] プログラムする必要がある TF カードをカード リーダーを通して Ubuntu ホストに挿入します。TF カードは 32G 以上でなければならず、フォーマットします!!!

[3] ホスト上で新しいターミナルを開き、次のコマンドを入力して SD カードのパーティション名を表示します。

$ sudo fdisk -u -l

表示は次のとおりです。私のTFカードのパーティションは/dev/sdc

Disk /dev/sdc: 29.2 GiB, 31312576512 bytes, 61157376 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: B81CC800-DEB8-47E1-A23C-04D0D166A06A

Device     Start      End  Sectors  Size Type
/dev/sdc1  28672 61155327 61126656 29.2G Linux filesystem

[4] TFカードに画像を書き込む

$ sudo -s
$ gunzip -c Jetson-Nano.img.gz | dd of=/dev/sdc bs=4M

また、ターミナルを再度開き、次のコマンドを実行して書き込みの進行状況を確認します。

$ sudo pkill -USR1 -n -x dd

ここに画像の説明を挿入

正常に書き込まれたTFカードを新しいNanoに挿入し、電源を接続して起動します。

5. Jetson Nano 制御コマンド

1. Jetson Nano ファンのPWMを調整する

$ sudo sh -c 'echo 140 > /sys/devices/pwm-fan/target_pwm'  ##140代表调节PWM(0-255)

2. jtop をインストールして、GPU や CPU などのさまざまなインジケーターの占有率を表示します。

まずサポート環境パッケージをインストールします

$ sudo apt-get install git cmake
$ sudo apt-get install python3-dev
$ sudo apt-get install libhdf5-serial-dev hdf5-tools
$ sudo apt-get install libatlas-base-dev gfortran

次にpipでインストールします

$ sudo -H pip install -U jetson-stats

pip がインストールできない場合は、pip3 に変更してください。

$ pip3 install --upgrade pip
$ pip3 install jetson-stats

次に、 jtopを直接実行します

ここに画像の説明を挿入

3.他のアプリケーション ( Wiresharklibpcap、 openssl、 glog、 Tcpdump、gitVisual Studio Code ...)をインストールします。

ワンクリック インストール スクリプトを作成します。必要に応じて、Baidu クラウド ネットワーク ディスクから直接ダウンロードできます (パスワードは 73j1): install_Jetson Nano.sh ;

スクリプトの内容は次のとおりです。

#!/bin/bash

#######################################################################################################
echo -e "\033[32m =====>             Installing Dependancy               <===== \033[0m"

## install basic third-part libraries ##

#install libpcap
sudo apt-get install -y  libpcap-dev

#install openssl
sudo apt-get install -y openssl
sudo apt-get install -y libssl-dev

#install protobuf
sudo apt-get install -y libprotobuf-dev protobuf-compiler

#install wireshark
sudo apt-get install -y wireshark

#install doxygen
sudo apt-get install -y doxygen

4. Jetson Nano で VNC リモート サービスを有効にする

[1] 以下のファイルを修正します

$ sudo gedit /usr/share/glib-2.0/schemas/org.gnome.Vino.gschema.xml

ノードを追加する

    <key name='enabled' type='b'>
      <summary>Enable remote access to the desktop</summary>
      <description>
        If true, allows remote access to the desktop via the RFB
        protocol. Users on remote machines may then connect to the
        desktop using a VNC viewer.
      </description>
      <default>false</default>
    </key>

[2]コンパイル

$ sudo glib-compile-schemas /usr/share/glib-2.0/schemas

これで、マウスでデスクトップ共有を開くことができます。このマシンへのアクセスを確認する必要があることをチェックしないように注意してください。そうでない場合は、マウスをクリックしてリモートへのアクセスを確認する必要があります。

ここに画像の説明を挿入

[3] VNCを使用する

SSH 経由で Nano にリモート接続している場合は、まず次のコマンドを実行します。

$ /usr/lib/vino/vino-server

上記のコマンドをgnome-session-propertiesに追加すると、起動時に自動的に開始されるようになります。

次に、remmina または ubuntu に付属の他のツールを使用して接続します

ここに画像の説明を挿入

[4] ディスプレイなしの VNC リモート解像度例外の解決策

VNC が Nano に入ったら、次のコマンドを実行して解像度を 1024x768 に変更します。

$ xrandr --fb 1024x768

上記のコマンドをgnome-session-propertiesに追加すると、起動時に自動的に開始されるようになります。

基本的なインストールは基本的にここで完了します。読んでいただきありがとうございます。質問がある場合は、一緒にコミュニケーションすることができます。

おすすめ

転載: blog.csdn.net/m0_54792870/article/details/120908531