SlideShare uma empresa Scribd logo
1 de 37
Baixar para ler offline
HELLO AI WORLD —
MEET JETSON NANO
2
Webinar
AGENDA
Intro to Jetson Nano
- 自律型マシーンのためのAI
- Jetson Nano 開発者キット
- Jetson Nano モジュール
Jetson Software
- JetPack
- ML/DL フレームワークサポート
- NVIDIA TensorRT
- 推論ベンチマーク
Application SDKs
- DeepStream SDK
- Isaac Robotics SDK
Getting Started
- Jetson Nano リソース
- Hello AI World
- JetBot
- System Setup
- Tips & Tricks
3
JETSONで自律型マシーンを強化
倉庫 配送 農業 産業用小売り
4
JETSON NANO 開発者キット
$99 CUDA-X AI Computer
128 CUDA コア | 4 コア CPU
4GB LPDDR4 メモリー
472 GFLOPs
5W | 10W
5
JETSON NANO 開発者キットのスペック
インターフェース
USB (4x) USB 3.0 A (Host) | USB 2.0 Micro B (Device)
カメラ MIPI CSI-2 x2 (15-position Flex Connector)
ディスプレイ HDMI | DisplayPort
Networking Gigabit Ethernet (RJ45, PoE)
Wireless M.2 Key-E with PCIe x1
ストレージ MicroSD card (16GB UHS-1 recommended minimum)
40-Pin Header UART | SPI | I2C | I2S | Audio Clock | GPIOs
電源 5V DC (µUSB, Barrel Jack, PoE) - 5W | 10W
サイズ 80x100mm
プロセッサー
CPU 64ビット Quadコア ARM A57 @ 1.43GHz
GPU 128コア NVIDIA Maxwell @ 921MHz
Memory 4GB 64ビット LPDDR4 @ 1600MHz | 25.6GB/s
Video Encoder 4Kp30 | (4x) 1080p30 | (2x) 1080p60
Video Decoder 4Kp60 | (2x) 4Kp30 | (8x) 1080p30 | (4x) 1080p60
Distributors Include:
6
JETSON NANO
Compact AI Compute Module
128 CUDA コア | 4 コア CPU
4GB LPDDR4 メモリー
16GB eMMC 5.1
45x70mm
5W | 10W
7
JETSON NANOモジュール
インターフェース
USB USB 3.0 | (3x) USB 2.0
Camera 12 lanes MIPI CSI-2 (up to 4 cameras)
Display HDMI | DP | eDP | DSI
Networking Gigabit Ethernet
PCIe PCIe Gen2 x1/x2/x4
Storage 16GB eMMC 5.1
Other I/O (4x) I2C | (2x) SPI | (3x) UART | (2x) I2S | GPIO
Power 5V DC, 5W | 10W
Size 45x70mm, 260-pin SODIMM connector
プロセッサー
CPU 64-bit Quad-core ARM A57 @ 1.43GHz
GPU 128-core NVIDIA Maxwell @ 921MHz
Memory 4GB 64-bit LPDDR4 @ 1600MHz | 25.6GB/s
Video Encoder 4Kp30 | (4x) 1080p30 | (2x) 1080p60
Video Decoder 4Kp60 | (2x) 4Kp30 | (8x) 1080p30 | (4x) 1080p60
プロダクションモジュール
8
JETSON ファミリー
エッジでのAIから自律動作システムまで
同じソフトウェア
詳細の製品仕様はホームページにて https://developer.nvidia.com/embedded-computing * TX2i: 10-20W
7.5 – 15W*
50mm x 87mm
JETSON TX2 series
1.3 TFLOPS (FP16)
5 - 10W
45mm x 70mm
JETSON NANO
0.5 TFLOPS (FP16)
10 – 30W
100mm x 87mm
JETSON AGX XAVIER Series
11 TFLOPS (FP16)
32 TOPS (INT8)
10 - 15W
45mm x 70mm
JETSON Xavier NX
6 TFLOPS (FP16)
21 TOPS (INT8)
エッジでのAI 完全自律動作マシン
9
NsightDeveloperTools
DeepStream SDK
Modules
深度推定
パス
プランニング
物体検出
ジェスチャー
認識
エコシステム
モジュール
ポーズ推定 自動ナビゲーション
CUDA-X • Linux for Tegra • ROS
JetPackSDK
TensorRT
cuDNN
VisionWorks
OpenCV
libargus
Video API
GraphicsComputer Vision Accel. ComputingDeep Learning
Drivers
Ecosystem
cuBLAS
cuFFT
Vulkan
OpenGL
SensorsMultimedia
Isaac Robotics Engine
developer.nvidia.com/jetpack
Jetson Nano Jetson AGX XavierJetson TX1/TX2
JETSON ソフトウェア
10
フレームワークサポート
機械学習 ロボティクス / IOT
JETSON
11
NVIDIA TensorRT
TRAIN EXPORT OPTIMIZE DEPLOY
TF-TRT
UFF
.caffemodel
TensorRT
Model Optimizer
レイヤー合成, カーネル自動選択,
GPU 最適化, Mixed Precision, バッチサイズ
チューニング
TensorRT
Runtime Engine
C++ / Python
学習 出力 最適化 デプロイ
12
36
11
10
39
27
8
25
18
15
14
0
10
20
30
40
ResNet-50 Inception-v4 VGG-19 SSD Mobilenet-
v2 (300x300)
SSD Mobilenet-
v2 (480x272)
SSD Mobilenet-
v2 (960x544)
Tiny YOLO U-Net Super
Resolution
OpenPose
Img/sec
推論
Jetson Nano
Not supported/Does not run
DEEP LEARNINGモデルをJETSON NANOで
動作したときのパフォーマンス
TensorFlow TensorFlow TensorFlowTensorFlow PyTorch MxNet Darknet Caffe PyTorch Caffe
developer.nvidia.com/embedded/jetson-nano-dl-inference-benchmarks
13
DEEPSTREAM
Replace with Final
14
ネットワークビデオレコーダー
15
ISAAC SDK
developer.nvidia.com/isaac-sdk
CUDA-X
Jetson Nano Jetson TX2 Jetson AGX Xavier
ISAAC OPEN TOOLBOX
Sensor and
Actuator Drivers
Core Libraries GEMS Reference DNN Tools
KAYA (Nano) CARTER (Xavier) LINK (Multi Xavier)
Isaac Sim
Isaac Gym
16
ISAAC ロボット
Obstacle
Avoidance
Global
Planner
Odometry
LQR Planner Control
Segway
Driver
Obstacle
Detection
Localization
RGB + Depth
Image
RangeScan
Camera
Driver
Lidar
Driver
IMU
Waypoint as
Goal
Map
NVIDIA Carter
NVIDIA Kaya
GEMS
WebSight
developer.nvidia.com/isaac-sdk
17
リソース
チュートリアル
システムセットアップ
チップス & トリック
アクセサリー
Getting Started
18
JETSON NANO リソース
Tutorials Projects Developer Forums
AccessorieseLinux WikiJetson Developer Zone
HELLO AI WORLD
Getting Started with Deep Learning
Pretrained
Networks
NVIDIA Jetson
JetPack | TensorRT
Realtime
Inferencing
github.com/dusty-nv/jetson-inference
20
1. GitHub レポジトリからダウンロード、ビルド
git clone http://github.com/dusty-nv/jetson-inference
2. コマンドラインから画像識別処理
3. 独自の画像認識問題をコーディング可能
4. ライブカメラからリアルタイムに認識処理
5. ディスクから画像データを取得して物体検出処理
6. ライブカメラからの物体検出
HELLO AI WORLD
Getting Started with Deep Learning
github.com/dusty-nv/jetson-inference
21
HELLO AI WORLD
Getting Started with Deep Learning
github.com/dusty-nv/jetson-inference
1. GitHub レポジトリからダウンロード、ビルド
git clone http://github.com/dusty-nv/jetson-inference
2. コマンドラインから画像識別処理
3. 独自の画像認識問題をコーディング可能
4. ライブカメラからリアルタイムに認識処理
5. ディスクから画像データを取得して物体検出処理
6. ライブカメラからの物体検出
22
HELLO AI WORLD
Getting Started with Deep Learning
#include <jetson-inference/imageNet.h>
#include <jetson-utils/loadImage.h>
int main( int argc, char** argv )
{
// load the image recognition network with TensorRT
imageNet* net = imageNet::Create(imageNet::GOOGLENET);
// this variable will store the confidence of the classification (between 0 and 1)
float confidence = 0.0;
// classify the image with TensorRT on the GPU (hence we use the CUDA pointer)
// this will return the index of the object class that the image was recognized as
const int classIndex = net->Classify(imgCUDA, imgWidth, imgHeight, &confidence);
// make sure a valid classification result was returned
if( classIndex >= 0 )
{
// retrieve the name/description of the object class index
const char* classDescription = net->GetClassDesc(classIndex);
// print out the classification results
printf("image is recognized as '%s' (class #%i) with %f%% confidencen",
classDescription, classIndex, confidence * 100.0f);
}
// free the network's resources before shutting down
delete net;
return 0;
}
github.com/dusty-nv/jetson-inference
1. GitHub レポジトリからダウンロード、ビルド
git clone http://github.com/dusty-nv/jetson-inference
2. コマンドラインから画像識別処理
3. 独自の画像認識問題をコーディング可能
4. ライブカメラからリアルタイムに認識処理
5. ディスクから画像データを取得して物体検出処理
6. ライブカメラからの物体検出
23
HELLO AI WORLD
Getting Started with Deep Learning
github.com/dusty-nv/jetson-inference
1. GitHub レポジトリからダウンロード、ビルド
git clone http://github.com/dusty-nv/jetson-inference
2. コマンドラインから画像識別処理
3. 独自の画像認識問題をコーディング可能
4. ライブカメラからリアルタイムに認識処理
5. ディスクから画像データを取得して物体検出処理
6. ライブカメラからの物体検出
24
HELLO AI WORLD
Getting Started with Deep Learning
github.com/dusty-nv/jetson-inference
1. GitHub レポジトリからダウンロード、ビルド
git clone http://github.com/dusty-nv/jetson-inference
2. コマンドラインから画像識別処理
3. 独自の画像認識問題をコーディング可能
4. ライブカメラからリアルタイムに認識処理
5. ディスクから画像データを取得して物体検出処理
6. ライブカメラからの物体検出
25
HELLO AI WORLD
Getting Started with Deep Learning
Object Detection Models
facenet (faces) multiped (humans)
coco-dog (dogs) coco-bottle (bottles)
coco-chair (chairs) coco-airplane (airplanes)
github.com/dusty-nv/jetson-inference
1. GitHub レポジトリからダウンロード、ビルド
git clone http://github.com/dusty-nv/jetson-inference
2. コマンドラインから画像識別処理
3. 独自の画像認識問題をコーディング可能
4. ライブカメラからリアルタイムに認識処理
5. ディスクから画像データを取得して物体検出処理
6. ライブカメラからの物体検出
TWO DAYS TO A DEMO
DIGITSとクラウド/ PCを使用してトレーニングし、
Jetsonにデプロイ
画像認識、物体検出、セグメンテーションデータセットなど、独自のモデルをトレーニングする
ために必要なすべての手順が用意されている
AI WORKFLOW TRAINING GUIDES DEEP VISION PRIMITIVES
Training + Inference
github.com/dusty-nv/jetson-inference
27
JETBOT
• NVIDIAがGitHubで作り方、サンプルコード、BOMリストなどすべての情
報を公開 https://github.com/NVIDIA-AI-IOT/jetbot
• ロボティクスとディープラーニングの習得に最適
• Jupiter Notebookで実行
• 衝突回避、物体追従、白線追従
• 世界中の多くのパートナー企業が独自のJetBotキットを販売
• https://www.nvidia.com/ja-jp/autonomous-machines/embedded-
systems/jetbot-ai-robot-kit/
• 日本ではFabo, ALGYAN, ヴィストンから購入可能
https://fabo.store/collections/frontpage/products/jetbot-kit
https://jetbot.algyan.biz/
https://www.vstone.co.jp/robotshop/index.php?main_page=product
_info&products_id=5267
https://www.vstone.co.jp/robotshop/index.php?main_page=product
_info&products_id=5282
• 世界中のユーザーが独自のJetBotを作ってSNSで公開
28
• Jetson NanoはマイクロSDから起動。
• 16GB UHS-1 recommended minimum
• SDカードイメージをNVIDIA.comからダウンロード
• Etcherプログラムを使用してSDカードにイメージを書き込み
• Windows/Mac/Linux PC
• NV SDK ManagerでJetPackをフラッシュすることもできる
• MicroSDカードをJetson Nanoモジュールの下側にあるスロットに挿
入
• キーボード、マウス、ディスプレイ、電源を接続
• 電源が投入されると、ボードは自動的に起動
• 緑色の電源LEDが点灯
NVIDIA.com/JetsonNano-Start
SYSTEM SETUP
29
• 5V⎓2A Micro-USB charger
• Adafruit #1995
• 5V⎓4A DC barrel jack adapter
• Adafruit #1466
• 5.5mm OD x 2.1mm ID x 9.5mm length
• Place a jumper on header J48
• J41 Expansion Header, pins 2/4
• Up to 5V⎓3A per pin (5V⎓6A total)
• Power over Ethernet (PoE)
• Standard PoE supply is 48V
• Use a PoE hat or 5V regulator
電源供給
• J50 Button Header can disable Auto Power-On
• Manual Power-On / Reset
• Enter Recovery Mode
(Power Over
Ethernet)
30
異なる電力モード: 5W and 10W
Default mode is 10W
ユーザーは、クロックとオンラインコアを指定して、独自のプリセットを作成できます。 /etc/nvpmodel.conf
< POWER_MODEL ID=1 NAME=5W >
CPU_ONLINE CORE_0 1
CPU_ONLINE CORE_1 1
CPU_ONLINE CORE_2 0
CPU_ONLINE CORE_3 0
CPU_A57 MAX_FREQ 918000
GPU MAX_FREQ 640000000
EMC MAX_FREQ 1600000000
NVIDIA Power Model Tool
sudo nvpmodel –q (アクティブモードを確認するため)
sudo nvpmodel –m 0 (モードを変更するため、再起動後も持続します)
sudo jetson_clocks (DVFSを無効にし、アクティブモードのクロックを最大)
Power Mode 10W† 5W
Mode ID 0 1
Online CPU Cores 4 2
CPU Max Frequency (MHz) 1428 918*
GPU Max Frequency (MHz) 921 640*
Memory Max Freq. (MHz) 1600 1600
† Default Mode is 10W (ID:0)
* Rounded at runtime to closest discrete freq. available
電力モード
31
sudo tegrastatsを実行して、パフォーマンス/使用率モニターを起動 :
RAM 1216/3963MB (lfb 330x4MB) IRAM 0/252kB(lfb 252kB)
CPU [27%@102,36%@307,6%@204,35%@518] EMC_FREQ 19%@204 GR3D_FREQ 0%@76 APE 25
PLL@25C CPU@29.5C PMIC@100C GPU@27C AO@34C thermal@28C POM_5V_IN 1532/1452
POM_5V_GPU 0/20 POM_5V_CPU 241/201
Memory
Memory
CPU
GPU
Thermal Power
Memory Used / Total Capacity
Bandwidth % @ Frequency (MHz)
Utilization / Frequency (MHz)
Utilization / Frequency (MHz)
Zone @ Temperature (°C) Current Consumption (mW) / Average (mW)
Refer to the L4T Developer Guide for more options and documentation on the output.
パフォーマンスモニター
docs.nvidia.com/jetson
32
• rPIと同様の40ピンヘッダー、3.3Vロジックレベル
• Adafruit Blinka + SeeedStudio Grove サポート
• Jetson.GPIO Python ライブラリ
• rPI.GPIOと互換性のあるAPI
• ドキュメントおよびサンプルは/opt/nvidia/jetson-gpio/に存在
• /sys/class/gpio/からsysfs I/Oアクセス可能
• GPIOピンにマッピング echo 38 > /sys/class/gpio/export
• 入出力の方向を決める echo out > /sys/class/gpio/gpio38/direction
• Bit-banging echo 1 > /sys/class/gpio/gpio38/value
• GPIOのマッピングを解除 echo 38 > /sys/class/gpio/unexport
• ステータスを確認 cat /sys/kernel/debug/gpio
• https://www.kernel.org/doc/Documentation/gpio/sysfs.txt
• C/C++ プログラム (もしくは他のプログラミング言語)で同様に sysfs filesを使
用することができます。
• I2C –C/C++ もしくは Pythonでlibi2c APIを使用
GPIOの使用
sysfs GPIO Name Pin Pin Name sysfs GPIO
3.3V 5.0V
I2C_2_SDA 5.0V
I2C_2_SCL GND
gpio216 AUDIO_MCLK UART_2_TX
GND UART_2_RX
gpio50 UART_2_RTS I2S_4_SCLK gpio79
gpio14 SPI_2_SCK GND
gpio194 LCD_TE SPI_2_CS1 gpio232
3.3V SPI_2_CS0 gpio15
gpio16 SPI_1_MOSI GND
gpio17 SPI_1_MISO SPI_2_MISO gpio13
gpio18 SPI_1_SCK SPI_1_CS0 gpio19
GND SPI_1_CS1 gpio20
I2C_1_SDA I2C_1_SCL
gpio149 CAM_AF_EN GND
gpio200 GPIO_PZ0 LCD_BL_PWM gpio168
gpio38 GPIO_PE6 GND
gpio76 I2S_4_LRCK UART_2_CTS gpio51
gpio12 SPI_2_MOSI I2S_4_SDIN gpio77
GND I2S_4_SDOUT gpio78
J41 Expansion Header
1 2
3
5
4
6
7
9
8
10
11 12
13 14
15 16
17 18
2019
21
23
22
24
2625
27 28
3029
31
33
32
34
35 36
38
4039
37
33
JETSON NANO アクセサリー
プリント可能なケース
キャリアー
センサー、カメラ
GPIO ハット
5V ファンバッテリーパック
eLinux.org/Jetson_Nano
34
• NVIDIA Argus (libargus)
• MIPI CSIセンサー用の低オーバーヘッドのオフロード取り込みとISP
• GStreamer
• nvarguscamerasrc は内部でArgusを使用します。
• gst-launch-1.0 nvarguscamerasrc ! ‘video/x-raw(memory:NVMM),  width=(int)1920,
height=(int)1080, format=(string)NV12,  framerate=(fraction)30/1' ! nvoverlaysink -e
• nvgstcapture カメラビューアプリケーション
• V4L2
• USBカメラおよびMIPI CSI YUVセンサーとのインターフェース (/dev/video)
• libv4l (C/C++), pip install v4l2 (Python), v4l2src (GStreamer)
• https://www.kernel.org/doc/html/v4.9/media/uapi/v4l/v4l2.html
CAMERA CAPTURE
Up to three MIPI CSI-2 x4 cameras or four cameras in x4/x2 configurations
(12 MIPI CSI-2 lanes total)
CSI
CSI
CSI
CSI
VI
MemoryInterface
x4
x2
x4
x2
Statistics
Statistics
ISP A
ISP B
35
• マルチストリームHWエンコーダーおよびデコーダーエンジン
• GStreamer
• NV エンコーダー要素: omxh265enc, omxh264enc, ect.
• gst-launch-1.0 videotestsrc ! 'video/x-raw, format=(string)I420, 
width=(int)1920, height=(int)1080' ! omxh265enc ! matroskamux ! 
filesink location=test.mkv -e
• NV デコーダー要素: omxh265dec, omxh264dec, ect.
• gst-launch-1.0 filesrc location=test.mkv ! matroskademux ! 
h265parse ! omxh265dec ! nvoverlaysink -e
• More pipelines in L4T Accelerated GStreamer User Guide
• V4L2 Extensions
• NV エンコーダ: /dev/nvhost-msenc (YUV in, H.264/H.265 out)
• NV デコーダ: /dev/nvhost-nvdec (Bitstream in, NV12/YUV out)
• Documentation + samples included with L4T Multimedia API
VIDEO CODECS
Encoder Profile
H.265 (Main, Main 10) 4Kp30 | (2x) 1080p60 | (4x) 1080p30
H.264 (Base, Main, High) 4Kp30 | (2x) 1080p60 | (4x) 1080p30
H.264 (MVC Stereo) 1440p30 | 1080p60 | (2x) 1080p30
VP8 4Kp30 | (2x) 1080p60 | (4x) 1080p30
JPEG 600 MP/s
Decoder Profile
H.265 (Main, Main 10) 4Kp60 | (2x) 4Kp30 | (4x) 1080p60 | (8x) 1080p30
H.264 (Base, Main, High) 4Kp60 | (2x) 4Kp30 | (4x) 1080p60 | (8x) 1080p30
H.264 (MVC Stereo) 4Kp30 | (2x) 1080p60 | (4x) 1080p30
VP9 (Profile 0, 8-bit) 4Kp60 | (2x) 4Kp30 | (4x) 1080p60 | (8x) 1080p30
VP8 4Kp60 | (2x) 4Kp30 | (4x) 1080p60 | (8x) 1080p30
VC-1 (Simple, Main, Adv.) (2x) 1080p60* | (4x) 1080p30*
MPEG-2 (Main) 4Kp60 | (2x) 4Kp30 | (4x) 1080p60* | (8x) 1080p30*
JPEG 600 MP/s
* Supports progressive and interlaced formats
36
• Shared memory により、プロセッサエンジン間でコピーする必要なく、プロセッ
サエンジンが同じメモリにアクセスできます。
• CUDA Mapped Memory API’s
• cudaHostAlloc(&cpuPtr, size, cudaHostAllocMapped);
• cudaHostGetDevicePointer(&gpuPtr, cpuPtr, 0);
• No cudaMemcpy() required
• CUDA Unified Memory
• cudaMallocManaged()
• コヒーレントキャッシュ
• Jetson上でのデータの移動は無視
• EGLStreams – グラフィックスAPIの相互運用性
• Argus、NV V4L2拡張、およびDeepStreamライブラリは、ZeroCopyを使用
するために最適化されています
ZERO COPY
docs.nvidia.com/cuda/cuda-for-tegra-appnote/
37
Getting Started nvidia.com/JetsonNano-Start
developer.nvidia.com/jetsonDeveloper Site
Thank you!
Visit the Wiki eLinux.org/Jetson_Nano
Q&A: What can I help you build?
Hello AI World github.com/dusty-nv
DevTalk Forums devtalk.nvidia.com
Dev Blog Jetson Nano Brings AI
Computing to Everyone

Mais conteúdo relacionado

Mais procurados

複数台のKinectV2の使い方
複数台のKinectV2の使い方複数台のKinectV2の使い方
複数台のKinectV2の使い方
Norishige Fukushima
 

Mais procurados (20)

複数台のKinectV2の使い方
複数台のKinectV2の使い方複数台のKinectV2の使い方
複数台のKinectV2の使い方
 
AIのラボからロボティクスへ --- 東大松尾研究室のWRS2020パートナーロボットチャレンジへの挑戦
AIのラボからロボティクスへ --- 東大松尾研究室のWRS2020パートナーロボットチャレンジへの挑戦AIのラボからロボティクスへ --- 東大松尾研究室のWRS2020パートナーロボットチャレンジへの挑戦
AIのラボからロボティクスへ --- 東大松尾研究室のWRS2020パートナーロボットチャレンジへの挑戦
 
3次元レジストレーション(PCLデモとコード付き)
3次元レジストレーション(PCLデモとコード付き)3次元レジストレーション(PCLデモとコード付き)
3次元レジストレーション(PCLデモとコード付き)
 
SSII2019TS: 実践カメラキャリブレーション ~カメラを用いた実世界計測の基礎と応用~
SSII2019TS: 実践カメラキャリブレーション ~カメラを用いた実世界計測の基礎と応用~SSII2019TS: 実践カメラキャリブレーション ~カメラを用いた実世界計測の基礎と応用~
SSII2019TS: 実践カメラキャリブレーション ~カメラを用いた実世界計測の基礎と応用~
 
SSII2020SS: 微分可能レンダリングの最新動向 〜「見比べる」ことによる3次元理解 〜​
SSII2020SS:  微分可能レンダリングの最新動向 〜「見比べる」ことによる3次元理解 〜​SSII2020SS:  微分可能レンダリングの最新動向 〜「見比べる」ことによる3次元理解 〜​
SSII2020SS: 微分可能レンダリングの最新動向 〜「見比べる」ことによる3次元理解 〜​
 
[DL輪読会]YOLOv4: Optimal Speed and Accuracy of Object Detection
[DL輪読会]YOLOv4: Optimal Speed and Accuracy of Object Detection[DL輪読会]YOLOv4: Optimal Speed and Accuracy of Object Detection
[DL輪読会]YOLOv4: Optimal Speed and Accuracy of Object Detection
 
文献紹介:TSM: Temporal Shift Module for Efficient Video Understanding
文献紹介:TSM: Temporal Shift Module for Efficient Video Understanding文献紹介:TSM: Temporal Shift Module for Efficient Video Understanding
文献紹介:TSM: Temporal Shift Module for Efficient Video Understanding
 
SSII2019TS: 実践カメラキャリブレーション ~カメラを用いた実世界計測の基礎と応用~
SSII2019TS: 実践カメラキャリブレーション ~カメラを用いた実世界計測の基礎と応用~SSII2019TS: 実践カメラキャリブレーション ~カメラを用いた実世界計測の基礎と応用~
SSII2019TS: 実践カメラキャリブレーション ~カメラを用いた実世界計測の基礎と応用~
 
[DL輪読会]Pixel2Mesh: Generating 3D Mesh Models from Single RGB Images
[DL輪読会]Pixel2Mesh: Generating 3D Mesh Models from Single RGB Images[DL輪読会]Pixel2Mesh: Generating 3D Mesh Models from Single RGB Images
[DL輪読会]Pixel2Mesh: Generating 3D Mesh Models from Single RGB Images
 
多チャンネルバイラテラルフィルタの高速化
多チャンネルバイラテラルフィルタの高速化多チャンネルバイラテラルフィルタの高速化
多チャンネルバイラテラルフィルタの高速化
 
You Only Look One-level Featureの解説と見せかけた物体検出のよもやま話
You Only Look One-level Featureの解説と見せかけた物体検出のよもやま話You Only Look One-level Featureの解説と見せかけた物体検出のよもやま話
You Only Look One-level Featureの解説と見せかけた物体検出のよもやま話
 
【チュートリアル】動的な人物・物体認識技術 -Dense Trajectories-
【チュートリアル】動的な人物・物体認識技術 -Dense Trajectories-【チュートリアル】動的な人物・物体認識技術 -Dense Trajectories-
【チュートリアル】動的な人物・物体認識技術 -Dense Trajectories-
 
MS COCO Dataset Introduction
MS COCO Dataset IntroductionMS COCO Dataset Introduction
MS COCO Dataset Introduction
 
A100 GPU 搭載! P4d インスタンス 使いこなしのコツ
A100 GPU 搭載! P4d インスタンス使いこなしのコツA100 GPU 搭載! P4d インスタンス使いこなしのコツ
A100 GPU 搭載! P4d インスタンス 使いこなしのコツ
 
20160724_cv_sfm_revisited
20160724_cv_sfm_revisited20160724_cv_sfm_revisited
20160724_cv_sfm_revisited
 
[DL輪読会]LightTrack: A Generic Framework for Online Top-Down Human Pose Tracking
[DL輪読会]LightTrack: A Generic Framework for Online Top-Down Human Pose Tracking[DL輪読会]LightTrack: A Generic Framework for Online Top-Down Human Pose Tracking
[DL輪読会]LightTrack: A Generic Framework for Online Top-Down Human Pose Tracking
 
敵対的生成ネットワーク(GAN)
敵対的生成ネットワーク(GAN)敵対的生成ネットワーク(GAN)
敵対的生成ネットワーク(GAN)
 
よわよわPCによる姿勢推定 -PoseNet-
よわよわPCによる姿勢推定 -PoseNet-よわよわPCによる姿勢推定 -PoseNet-
よわよわPCによる姿勢推定 -PoseNet-
 
関東コンピュータビジョン勉強会
関東コンピュータビジョン勉強会関東コンピュータビジョン勉強会
関東コンピュータビジョン勉強会
 
Structured Light 技術俯瞰
Structured Light 技術俯瞰Structured Light 技術俯瞰
Structured Light 技術俯瞰
 

Semelhante a HELLO AI WORLD - MEET JETSON NANO

45分で理解する 最近のスパコン事情 斉藤之雄
45分で理解する 最近のスパコン事情 斉藤之雄45分で理解する 最近のスパコン事情 斉藤之雄
45分で理解する 最近のスパコン事情 斉藤之雄
Yukio Saito
 

Semelhante a HELLO AI WORLD - MEET JETSON NANO (20)

Jetson Xavier NX クラウドネイティブをエッジに
Jetson Xavier NX クラウドネイティブをエッジにJetson Xavier NX クラウドネイティブをエッジに
Jetson Xavier NX クラウドネイティブをエッジに
 
JETSON 最新情報 & 自動外観検査事例紹介
JETSON 最新情報 & 自動外観検査事例紹介JETSON 最新情報 & 自動外観検査事例紹介
JETSON 最新情報 & 自動外観検査事例紹介
 
第 1 回 Jetson ユーザー勉強会
第 1 回 Jetson ユーザー勉強会第 1 回 Jetson ユーザー勉強会
第 1 回 Jetson ユーザー勉強会
 
Getting Started with Jetson Nano
Getting Started with Jetson NanoGetting Started with Jetson Nano
Getting Started with Jetson Nano
 
NVIDIA Jetson Edge Computing Digital Seminar Special Edition, JETSON XAVIER NX
NVIDIA Jetson Edge Computing Digital Seminar Special Edition, JETSON XAVIER NXNVIDIA Jetson Edge Computing Digital Seminar Special Edition, JETSON XAVIER NX
NVIDIA Jetson Edge Computing Digital Seminar Special Edition, JETSON XAVIER NX
 
2019 jetson azure_hands-on
2019 jetson azure_hands-on2019 jetson azure_hands-on
2019 jetson azure_hands-on
 
Jetson 活用による スタートアップ企業支援
Jetson 活用による スタートアップ企業支援Jetson 活用による スタートアップ企業支援
Jetson 活用による スタートアップ企業支援
 
NVIDIA deep learning最新情報in沖縄
NVIDIA deep learning最新情報in沖縄NVIDIA deep learning最新情報in沖縄
NVIDIA deep learning最新情報in沖縄
 
20170421 tensor flowusergroup
20170421 tensor flowusergroup20170421 tensor flowusergroup
20170421 tensor flowusergroup
 
20170726 py data.tokyo
20170726 py data.tokyo20170726 py data.tokyo
20170726 py data.tokyo
 
Openstackを200%活用するSDSの挑戦
Openstackを200%活用するSDSの挑戦Openstackを200%活用するSDSの挑戦
Openstackを200%活用するSDSの挑戦
 
Introducing to algyan jet bot ai robot kit
Introducing to algyan jet bot ai robot kitIntroducing to algyan jet bot ai robot kit
Introducing to algyan jet bot ai robot kit
 
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
 
20190225 jetson azure_hands-on
20190225 jetson azure_hands-on20190225 jetson azure_hands-on
20190225 jetson azure_hands-on
 
45分で理解する 最近のスパコン事情 斉藤之雄
45分で理解する 最近のスパコン事情 斉藤之雄45分で理解する 最近のスパコン事情 斉藤之雄
45分で理解する 最近のスパコン事情 斉藤之雄
 
CUDAプログラミング入門
CUDAプログラミング入門CUDAプログラミング入門
CUDAプログラミング入門
 
2値ディープニューラルネットワークと組込み機器への応用: 開発中のツール紹介
2値ディープニューラルネットワークと組込み機器への応用: 開発中のツール紹介2値ディープニューラルネットワークと組込み機器への応用: 開発中のツール紹介
2値ディープニューラルネットワークと組込み機器への応用: 開発中のツール紹介
 
Cmc cmd slim
Cmc cmd slimCmc cmd slim
Cmc cmd slim
 
GTC 2020 発表内容まとめ
GTC 2020 発表内容まとめGTC 2020 発表内容まとめ
GTC 2020 発表内容まとめ
 
GTC 2020 発表内容まとめ
GTC 2020 発表内容まとめGTC 2020 発表内容まとめ
GTC 2020 発表内容まとめ
 

Mais de NVIDIA Japan

Mais de NVIDIA Japan (20)

HPC 的に H100 は魅力的な GPU なのか?
HPC 的に H100 は魅力的な GPU なのか?HPC 的に H100 は魅力的な GPU なのか?
HPC 的に H100 は魅力的な GPU なのか?
 
NVIDIA cuQuantum SDK による量子回路シミュレーターの高速化
NVIDIA cuQuantum SDK による量子回路シミュレーターの高速化NVIDIA cuQuantum SDK による量子回路シミュレーターの高速化
NVIDIA cuQuantum SDK による量子回路シミュレーターの高速化
 
Physics-ML のためのフレームワーク NVIDIA Modulus 最新事情
Physics-ML のためのフレームワーク NVIDIA Modulus 最新事情Physics-ML のためのフレームワーク NVIDIA Modulus 最新事情
Physics-ML のためのフレームワーク NVIDIA Modulus 最新事情
 
20221021_JP5.0.2-Webinar-JP_Final.pdf
20221021_JP5.0.2-Webinar-JP_Final.pdf20221021_JP5.0.2-Webinar-JP_Final.pdf
20221021_JP5.0.2-Webinar-JP_Final.pdf
 
開発者が語る NVIDIA cuQuantum SDK
開発者が語る NVIDIA cuQuantum SDK開発者が語る NVIDIA cuQuantum SDK
開発者が語る NVIDIA cuQuantum SDK
 
NVIDIA Modulus: Physics ML 開発のためのフレームワーク
NVIDIA Modulus: Physics ML 開発のためのフレームワークNVIDIA Modulus: Physics ML 開発のためのフレームワーク
NVIDIA Modulus: Physics ML 開発のためのフレームワーク
 
NVIDIA HPC ソフトウエア斜め読み
NVIDIA HPC ソフトウエア斜め読みNVIDIA HPC ソフトウエア斜め読み
NVIDIA HPC ソフトウエア斜め読み
 
HPC+AI ってよく聞くけど結局なんなの
HPC+AI ってよく聞くけど結局なんなのHPC+AI ってよく聞くけど結局なんなの
HPC+AI ってよく聞くけど結局なんなの
 
Magnum IO GPUDirect Storage 最新情報
Magnum IO GPUDirect Storage 最新情報Magnum IO GPUDirect Storage 最新情報
Magnum IO GPUDirect Storage 最新情報
 
データ爆発時代のネットワークインフラ
データ爆発時代のネットワークインフラデータ爆発時代のネットワークインフラ
データ爆発時代のネットワークインフラ
 
Hopper アーキテクチャで、変わること、変わらないこと
Hopper アーキテクチャで、変わること、変わらないことHopper アーキテクチャで、変わること、変わらないこと
Hopper アーキテクチャで、変わること、変わらないこと
 
GPU と PYTHON と、それから最近の NVIDIA
GPU と PYTHON と、それから最近の NVIDIAGPU と PYTHON と、それから最近の NVIDIA
GPU と PYTHON と、それから最近の NVIDIA
 
GTC November 2021 – テレコム関連アップデート サマリー
GTC November 2021 – テレコム関連アップデート サマリーGTC November 2021 – テレコム関連アップデート サマリー
GTC November 2021 – テレコム関連アップデート サマリー
 
テレコムのビッグデータ解析 & AI サイバーセキュリティ
テレコムのビッグデータ解析 & AI サイバーセキュリティテレコムのビッグデータ解析 & AI サイバーセキュリティ
テレコムのビッグデータ解析 & AI サイバーセキュリティ
 
必見!絶対におすすめの通信業界セッション 5 つ ~秋の GTC 2020~
必見!絶対におすすめの通信業界セッション 5 つ ~秋の GTC 2020~必見!絶対におすすめの通信業界セッション 5 つ ~秋の GTC 2020~
必見!絶対におすすめの通信業界セッション 5 つ ~秋の GTC 2020~
 
2020年10月29日 プロフェッショナルAI×Roboticsエンジニアへのロードマップ
2020年10月29日 プロフェッショナルAI×Roboticsエンジニアへのロードマップ2020年10月29日 プロフェッショナルAI×Roboticsエンジニアへのロードマップ
2020年10月29日 プロフェッショナルAI×Roboticsエンジニアへのロードマップ
 
2020年10月29日 Jetson活用によるAI教育
2020年10月29日 Jetson活用によるAI教育2020年10月29日 Jetson活用によるAI教育
2020年10月29日 Jetson活用によるAI教育
 
2020年10月29日 Jetson Nano 2GBで始めるAI x Robotics教育
2020年10月29日 Jetson Nano 2GBで始めるAI x Robotics教育2020年10月29日 Jetson Nano 2GBで始めるAI x Robotics教育
2020年10月29日 Jetson Nano 2GBで始めるAI x Robotics教育
 
COVID-19 研究・対策に活用可能な NVIDIA ソフトウェアと関連情報
COVID-19 研究・対策に活用可能な NVIDIA ソフトウェアと関連情報COVID-19 研究・対策に活用可能な NVIDIA ソフトウェアと関連情報
COVID-19 研究・対策に活用可能な NVIDIA ソフトウェアと関連情報
 
NVIDIA Jetson導入事例ご紹介
NVIDIA Jetson導入事例ご紹介NVIDIA Jetson導入事例ご紹介
NVIDIA Jetson導入事例ご紹介
 

HELLO AI WORLD - MEET JETSON NANO

  • 1. HELLO AI WORLD — MEET JETSON NANO
  • 2. 2 Webinar AGENDA Intro to Jetson Nano - 自律型マシーンのためのAI - Jetson Nano 開発者キット - Jetson Nano モジュール Jetson Software - JetPack - ML/DL フレームワークサポート - NVIDIA TensorRT - 推論ベンチマーク Application SDKs - DeepStream SDK - Isaac Robotics SDK Getting Started - Jetson Nano リソース - Hello AI World - JetBot - System Setup - Tips & Tricks
  • 4. 4 JETSON NANO 開発者キット $99 CUDA-X AI Computer 128 CUDA コア | 4 コア CPU 4GB LPDDR4 メモリー 472 GFLOPs 5W | 10W
  • 5. 5 JETSON NANO 開発者キットのスペック インターフェース USB (4x) USB 3.0 A (Host) | USB 2.0 Micro B (Device) カメラ MIPI CSI-2 x2 (15-position Flex Connector) ディスプレイ HDMI | DisplayPort Networking Gigabit Ethernet (RJ45, PoE) Wireless M.2 Key-E with PCIe x1 ストレージ MicroSD card (16GB UHS-1 recommended minimum) 40-Pin Header UART | SPI | I2C | I2S | Audio Clock | GPIOs 電源 5V DC (µUSB, Barrel Jack, PoE) - 5W | 10W サイズ 80x100mm プロセッサー CPU 64ビット Quadコア ARM A57 @ 1.43GHz GPU 128コア NVIDIA Maxwell @ 921MHz Memory 4GB 64ビット LPDDR4 @ 1600MHz | 25.6GB/s Video Encoder 4Kp30 | (4x) 1080p30 | (2x) 1080p60 Video Decoder 4Kp60 | (2x) 4Kp30 | (8x) 1080p30 | (4x) 1080p60 Distributors Include:
  • 6. 6 JETSON NANO Compact AI Compute Module 128 CUDA コア | 4 コア CPU 4GB LPDDR4 メモリー 16GB eMMC 5.1 45x70mm 5W | 10W
  • 7. 7 JETSON NANOモジュール インターフェース USB USB 3.0 | (3x) USB 2.0 Camera 12 lanes MIPI CSI-2 (up to 4 cameras) Display HDMI | DP | eDP | DSI Networking Gigabit Ethernet PCIe PCIe Gen2 x1/x2/x4 Storage 16GB eMMC 5.1 Other I/O (4x) I2C | (2x) SPI | (3x) UART | (2x) I2S | GPIO Power 5V DC, 5W | 10W Size 45x70mm, 260-pin SODIMM connector プロセッサー CPU 64-bit Quad-core ARM A57 @ 1.43GHz GPU 128-core NVIDIA Maxwell @ 921MHz Memory 4GB 64-bit LPDDR4 @ 1600MHz | 25.6GB/s Video Encoder 4Kp30 | (4x) 1080p30 | (2x) 1080p60 Video Decoder 4Kp60 | (2x) 4Kp30 | (8x) 1080p30 | (4x) 1080p60 プロダクションモジュール
  • 8. 8 JETSON ファミリー エッジでのAIから自律動作システムまで 同じソフトウェア 詳細の製品仕様はホームページにて https://developer.nvidia.com/embedded-computing * TX2i: 10-20W 7.5 – 15W* 50mm x 87mm JETSON TX2 series 1.3 TFLOPS (FP16) 5 - 10W 45mm x 70mm JETSON NANO 0.5 TFLOPS (FP16) 10 – 30W 100mm x 87mm JETSON AGX XAVIER Series 11 TFLOPS (FP16) 32 TOPS (INT8) 10 - 15W 45mm x 70mm JETSON Xavier NX 6 TFLOPS (FP16) 21 TOPS (INT8) エッジでのAI 完全自律動作マシン
  • 9. 9 NsightDeveloperTools DeepStream SDK Modules 深度推定 パス プランニング 物体検出 ジェスチャー 認識 エコシステム モジュール ポーズ推定 自動ナビゲーション CUDA-X • Linux for Tegra • ROS JetPackSDK TensorRT cuDNN VisionWorks OpenCV libargus Video API GraphicsComputer Vision Accel. ComputingDeep Learning Drivers Ecosystem cuBLAS cuFFT Vulkan OpenGL SensorsMultimedia Isaac Robotics Engine developer.nvidia.com/jetpack Jetson Nano Jetson AGX XavierJetson TX1/TX2 JETSON ソフトウェア
  • 11. 11 NVIDIA TensorRT TRAIN EXPORT OPTIMIZE DEPLOY TF-TRT UFF .caffemodel TensorRT Model Optimizer レイヤー合成, カーネル自動選択, GPU 最適化, Mixed Precision, バッチサイズ チューニング TensorRT Runtime Engine C++ / Python 学習 出力 最適化 デプロイ
  • 12. 12 36 11 10 39 27 8 25 18 15 14 0 10 20 30 40 ResNet-50 Inception-v4 VGG-19 SSD Mobilenet- v2 (300x300) SSD Mobilenet- v2 (480x272) SSD Mobilenet- v2 (960x544) Tiny YOLO U-Net Super Resolution OpenPose Img/sec 推論 Jetson Nano Not supported/Does not run DEEP LEARNINGモデルをJETSON NANOで 動作したときのパフォーマンス TensorFlow TensorFlow TensorFlowTensorFlow PyTorch MxNet Darknet Caffe PyTorch Caffe developer.nvidia.com/embedded/jetson-nano-dl-inference-benchmarks
  • 15. 15 ISAAC SDK developer.nvidia.com/isaac-sdk CUDA-X Jetson Nano Jetson TX2 Jetson AGX Xavier ISAAC OPEN TOOLBOX Sensor and Actuator Drivers Core Libraries GEMS Reference DNN Tools KAYA (Nano) CARTER (Xavier) LINK (Multi Xavier) Isaac Sim Isaac Gym
  • 16. 16 ISAAC ロボット Obstacle Avoidance Global Planner Odometry LQR Planner Control Segway Driver Obstacle Detection Localization RGB + Depth Image RangeScan Camera Driver Lidar Driver IMU Waypoint as Goal Map NVIDIA Carter NVIDIA Kaya GEMS WebSight developer.nvidia.com/isaac-sdk
  • 18. 18 JETSON NANO リソース Tutorials Projects Developer Forums AccessorieseLinux WikiJetson Developer Zone
  • 19. HELLO AI WORLD Getting Started with Deep Learning Pretrained Networks NVIDIA Jetson JetPack | TensorRT Realtime Inferencing github.com/dusty-nv/jetson-inference
  • 20. 20 1. GitHub レポジトリからダウンロード、ビルド git clone http://github.com/dusty-nv/jetson-inference 2. コマンドラインから画像識別処理 3. 独自の画像認識問題をコーディング可能 4. ライブカメラからリアルタイムに認識処理 5. ディスクから画像データを取得して物体検出処理 6. ライブカメラからの物体検出 HELLO AI WORLD Getting Started with Deep Learning github.com/dusty-nv/jetson-inference
  • 21. 21 HELLO AI WORLD Getting Started with Deep Learning github.com/dusty-nv/jetson-inference 1. GitHub レポジトリからダウンロード、ビルド git clone http://github.com/dusty-nv/jetson-inference 2. コマンドラインから画像識別処理 3. 独自の画像認識問題をコーディング可能 4. ライブカメラからリアルタイムに認識処理 5. ディスクから画像データを取得して物体検出処理 6. ライブカメラからの物体検出
  • 22. 22 HELLO AI WORLD Getting Started with Deep Learning #include <jetson-inference/imageNet.h> #include <jetson-utils/loadImage.h> int main( int argc, char** argv ) { // load the image recognition network with TensorRT imageNet* net = imageNet::Create(imageNet::GOOGLENET); // this variable will store the confidence of the classification (between 0 and 1) float confidence = 0.0; // classify the image with TensorRT on the GPU (hence we use the CUDA pointer) // this will return the index of the object class that the image was recognized as const int classIndex = net->Classify(imgCUDA, imgWidth, imgHeight, &confidence); // make sure a valid classification result was returned if( classIndex >= 0 ) { // retrieve the name/description of the object class index const char* classDescription = net->GetClassDesc(classIndex); // print out the classification results printf("image is recognized as '%s' (class #%i) with %f%% confidencen", classDescription, classIndex, confidence * 100.0f); } // free the network's resources before shutting down delete net; return 0; } github.com/dusty-nv/jetson-inference 1. GitHub レポジトリからダウンロード、ビルド git clone http://github.com/dusty-nv/jetson-inference 2. コマンドラインから画像識別処理 3. 独自の画像認識問題をコーディング可能 4. ライブカメラからリアルタイムに認識処理 5. ディスクから画像データを取得して物体検出処理 6. ライブカメラからの物体検出
  • 23. 23 HELLO AI WORLD Getting Started with Deep Learning github.com/dusty-nv/jetson-inference 1. GitHub レポジトリからダウンロード、ビルド git clone http://github.com/dusty-nv/jetson-inference 2. コマンドラインから画像識別処理 3. 独自の画像認識問題をコーディング可能 4. ライブカメラからリアルタイムに認識処理 5. ディスクから画像データを取得して物体検出処理 6. ライブカメラからの物体検出
  • 24. 24 HELLO AI WORLD Getting Started with Deep Learning github.com/dusty-nv/jetson-inference 1. GitHub レポジトリからダウンロード、ビルド git clone http://github.com/dusty-nv/jetson-inference 2. コマンドラインから画像識別処理 3. 独自の画像認識問題をコーディング可能 4. ライブカメラからリアルタイムに認識処理 5. ディスクから画像データを取得して物体検出処理 6. ライブカメラからの物体検出
  • 25. 25 HELLO AI WORLD Getting Started with Deep Learning Object Detection Models facenet (faces) multiped (humans) coco-dog (dogs) coco-bottle (bottles) coco-chair (chairs) coco-airplane (airplanes) github.com/dusty-nv/jetson-inference 1. GitHub レポジトリからダウンロード、ビルド git clone http://github.com/dusty-nv/jetson-inference 2. コマンドラインから画像識別処理 3. 独自の画像認識問題をコーディング可能 4. ライブカメラからリアルタイムに認識処理 5. ディスクから画像データを取得して物体検出処理 6. ライブカメラからの物体検出
  • 26. TWO DAYS TO A DEMO DIGITSとクラウド/ PCを使用してトレーニングし、 Jetsonにデプロイ 画像認識、物体検出、セグメンテーションデータセットなど、独自のモデルをトレーニングする ために必要なすべての手順が用意されている AI WORKFLOW TRAINING GUIDES DEEP VISION PRIMITIVES Training + Inference github.com/dusty-nv/jetson-inference
  • 27. 27 JETBOT • NVIDIAがGitHubで作り方、サンプルコード、BOMリストなどすべての情 報を公開 https://github.com/NVIDIA-AI-IOT/jetbot • ロボティクスとディープラーニングの習得に最適 • Jupiter Notebookで実行 • 衝突回避、物体追従、白線追従 • 世界中の多くのパートナー企業が独自のJetBotキットを販売 • https://www.nvidia.com/ja-jp/autonomous-machines/embedded- systems/jetbot-ai-robot-kit/ • 日本ではFabo, ALGYAN, ヴィストンから購入可能 https://fabo.store/collections/frontpage/products/jetbot-kit https://jetbot.algyan.biz/ https://www.vstone.co.jp/robotshop/index.php?main_page=product _info&products_id=5267 https://www.vstone.co.jp/robotshop/index.php?main_page=product _info&products_id=5282 • 世界中のユーザーが独自のJetBotを作ってSNSで公開
  • 28. 28 • Jetson NanoはマイクロSDから起動。 • 16GB UHS-1 recommended minimum • SDカードイメージをNVIDIA.comからダウンロード • Etcherプログラムを使用してSDカードにイメージを書き込み • Windows/Mac/Linux PC • NV SDK ManagerでJetPackをフラッシュすることもできる • MicroSDカードをJetson Nanoモジュールの下側にあるスロットに挿 入 • キーボード、マウス、ディスプレイ、電源を接続 • 電源が投入されると、ボードは自動的に起動 • 緑色の電源LEDが点灯 NVIDIA.com/JetsonNano-Start SYSTEM SETUP
  • 29. 29 • 5V⎓2A Micro-USB charger • Adafruit #1995 • 5V⎓4A DC barrel jack adapter • Adafruit #1466 • 5.5mm OD x 2.1mm ID x 9.5mm length • Place a jumper on header J48 • J41 Expansion Header, pins 2/4 • Up to 5V⎓3A per pin (5V⎓6A total) • Power over Ethernet (PoE) • Standard PoE supply is 48V • Use a PoE hat or 5V regulator 電源供給 • J50 Button Header can disable Auto Power-On • Manual Power-On / Reset • Enter Recovery Mode (Power Over Ethernet)
  • 30. 30 異なる電力モード: 5W and 10W Default mode is 10W ユーザーは、クロックとオンラインコアを指定して、独自のプリセットを作成できます。 /etc/nvpmodel.conf < POWER_MODEL ID=1 NAME=5W > CPU_ONLINE CORE_0 1 CPU_ONLINE CORE_1 1 CPU_ONLINE CORE_2 0 CPU_ONLINE CORE_3 0 CPU_A57 MAX_FREQ 918000 GPU MAX_FREQ 640000000 EMC MAX_FREQ 1600000000 NVIDIA Power Model Tool sudo nvpmodel –q (アクティブモードを確認するため) sudo nvpmodel –m 0 (モードを変更するため、再起動後も持続します) sudo jetson_clocks (DVFSを無効にし、アクティブモードのクロックを最大) Power Mode 10W† 5W Mode ID 0 1 Online CPU Cores 4 2 CPU Max Frequency (MHz) 1428 918* GPU Max Frequency (MHz) 921 640* Memory Max Freq. (MHz) 1600 1600 † Default Mode is 10W (ID:0) * Rounded at runtime to closest discrete freq. available 電力モード
  • 31. 31 sudo tegrastatsを実行して、パフォーマンス/使用率モニターを起動 : RAM 1216/3963MB (lfb 330x4MB) IRAM 0/252kB(lfb 252kB) CPU [27%@102,36%@307,6%@204,35%@518] EMC_FREQ 19%@204 GR3D_FREQ 0%@76 APE 25 PLL@25C CPU@29.5C PMIC@100C GPU@27C AO@34C thermal@28C POM_5V_IN 1532/1452 POM_5V_GPU 0/20 POM_5V_CPU 241/201 Memory Memory CPU GPU Thermal Power Memory Used / Total Capacity Bandwidth % @ Frequency (MHz) Utilization / Frequency (MHz) Utilization / Frequency (MHz) Zone @ Temperature (°C) Current Consumption (mW) / Average (mW) Refer to the L4T Developer Guide for more options and documentation on the output. パフォーマンスモニター docs.nvidia.com/jetson
  • 32. 32 • rPIと同様の40ピンヘッダー、3.3Vロジックレベル • Adafruit Blinka + SeeedStudio Grove サポート • Jetson.GPIO Python ライブラリ • rPI.GPIOと互換性のあるAPI • ドキュメントおよびサンプルは/opt/nvidia/jetson-gpio/に存在 • /sys/class/gpio/からsysfs I/Oアクセス可能 • GPIOピンにマッピング echo 38 > /sys/class/gpio/export • 入出力の方向を決める echo out > /sys/class/gpio/gpio38/direction • Bit-banging echo 1 > /sys/class/gpio/gpio38/value • GPIOのマッピングを解除 echo 38 > /sys/class/gpio/unexport • ステータスを確認 cat /sys/kernel/debug/gpio • https://www.kernel.org/doc/Documentation/gpio/sysfs.txt • C/C++ プログラム (もしくは他のプログラミング言語)で同様に sysfs filesを使 用することができます。 • I2C –C/C++ もしくは Pythonでlibi2c APIを使用 GPIOの使用 sysfs GPIO Name Pin Pin Name sysfs GPIO 3.3V 5.0V I2C_2_SDA 5.0V I2C_2_SCL GND gpio216 AUDIO_MCLK UART_2_TX GND UART_2_RX gpio50 UART_2_RTS I2S_4_SCLK gpio79 gpio14 SPI_2_SCK GND gpio194 LCD_TE SPI_2_CS1 gpio232 3.3V SPI_2_CS0 gpio15 gpio16 SPI_1_MOSI GND gpio17 SPI_1_MISO SPI_2_MISO gpio13 gpio18 SPI_1_SCK SPI_1_CS0 gpio19 GND SPI_1_CS1 gpio20 I2C_1_SDA I2C_1_SCL gpio149 CAM_AF_EN GND gpio200 GPIO_PZ0 LCD_BL_PWM gpio168 gpio38 GPIO_PE6 GND gpio76 I2S_4_LRCK UART_2_CTS gpio51 gpio12 SPI_2_MOSI I2S_4_SDIN gpio77 GND I2S_4_SDOUT gpio78 J41 Expansion Header 1 2 3 5 4 6 7 9 8 10 11 12 13 14 15 16 17 18 2019 21 23 22 24 2625 27 28 3029 31 33 32 34 35 36 38 4039 37
  • 33. 33 JETSON NANO アクセサリー プリント可能なケース キャリアー センサー、カメラ GPIO ハット 5V ファンバッテリーパック eLinux.org/Jetson_Nano
  • 34. 34 • NVIDIA Argus (libargus) • MIPI CSIセンサー用の低オーバーヘッドのオフロード取り込みとISP • GStreamer • nvarguscamerasrc は内部でArgusを使用します。 • gst-launch-1.0 nvarguscamerasrc ! ‘video/x-raw(memory:NVMM), width=(int)1920, height=(int)1080, format=(string)NV12, framerate=(fraction)30/1' ! nvoverlaysink -e • nvgstcapture カメラビューアプリケーション • V4L2 • USBカメラおよびMIPI CSI YUVセンサーとのインターフェース (/dev/video) • libv4l (C/C++), pip install v4l2 (Python), v4l2src (GStreamer) • https://www.kernel.org/doc/html/v4.9/media/uapi/v4l/v4l2.html CAMERA CAPTURE Up to three MIPI CSI-2 x4 cameras or four cameras in x4/x2 configurations (12 MIPI CSI-2 lanes total) CSI CSI CSI CSI VI MemoryInterface x4 x2 x4 x2 Statistics Statistics ISP A ISP B
  • 35. 35 • マルチストリームHWエンコーダーおよびデコーダーエンジン • GStreamer • NV エンコーダー要素: omxh265enc, omxh264enc, ect. • gst-launch-1.0 videotestsrc ! 'video/x-raw, format=(string)I420, width=(int)1920, height=(int)1080' ! omxh265enc ! matroskamux ! filesink location=test.mkv -e • NV デコーダー要素: omxh265dec, omxh264dec, ect. • gst-launch-1.0 filesrc location=test.mkv ! matroskademux ! h265parse ! omxh265dec ! nvoverlaysink -e • More pipelines in L4T Accelerated GStreamer User Guide • V4L2 Extensions • NV エンコーダ: /dev/nvhost-msenc (YUV in, H.264/H.265 out) • NV デコーダ: /dev/nvhost-nvdec (Bitstream in, NV12/YUV out) • Documentation + samples included with L4T Multimedia API VIDEO CODECS Encoder Profile H.265 (Main, Main 10) 4Kp30 | (2x) 1080p60 | (4x) 1080p30 H.264 (Base, Main, High) 4Kp30 | (2x) 1080p60 | (4x) 1080p30 H.264 (MVC Stereo) 1440p30 | 1080p60 | (2x) 1080p30 VP8 4Kp30 | (2x) 1080p60 | (4x) 1080p30 JPEG 600 MP/s Decoder Profile H.265 (Main, Main 10) 4Kp60 | (2x) 4Kp30 | (4x) 1080p60 | (8x) 1080p30 H.264 (Base, Main, High) 4Kp60 | (2x) 4Kp30 | (4x) 1080p60 | (8x) 1080p30 H.264 (MVC Stereo) 4Kp30 | (2x) 1080p60 | (4x) 1080p30 VP9 (Profile 0, 8-bit) 4Kp60 | (2x) 4Kp30 | (4x) 1080p60 | (8x) 1080p30 VP8 4Kp60 | (2x) 4Kp30 | (4x) 1080p60 | (8x) 1080p30 VC-1 (Simple, Main, Adv.) (2x) 1080p60* | (4x) 1080p30* MPEG-2 (Main) 4Kp60 | (2x) 4Kp30 | (4x) 1080p60* | (8x) 1080p30* JPEG 600 MP/s * Supports progressive and interlaced formats
  • 36. 36 • Shared memory により、プロセッサエンジン間でコピーする必要なく、プロセッ サエンジンが同じメモリにアクセスできます。 • CUDA Mapped Memory API’s • cudaHostAlloc(&cpuPtr, size, cudaHostAllocMapped); • cudaHostGetDevicePointer(&gpuPtr, cpuPtr, 0); • No cudaMemcpy() required • CUDA Unified Memory • cudaMallocManaged() • コヒーレントキャッシュ • Jetson上でのデータの移動は無視 • EGLStreams – グラフィックスAPIの相互運用性 • Argus、NV V4L2拡張、およびDeepStreamライブラリは、ZeroCopyを使用 するために最適化されています ZERO COPY docs.nvidia.com/cuda/cuda-for-tegra-appnote/
  • 37. 37 Getting Started nvidia.com/JetsonNano-Start developer.nvidia.com/jetsonDeveloper Site Thank you! Visit the Wiki eLinux.org/Jetson_Nano Q&A: What can I help you build? Hello AI World github.com/dusty-nv DevTalk Forums devtalk.nvidia.com Dev Blog Jetson Nano Brings AI Computing to Everyone