参考:Jetson Japan User Group, "Jetson Nano 超入門", ソーテック社 (amazonの販売ページ)
今日(2020/04/20)の昼にJetsonNanoの入門本が届いたので、これを見ながらデモを動かしてみようと思う
因みにこの本は後々P研の部室に貸し出し用に置こうかなと思っている、部室がミニミニ図書館化していく…
注意: GUIのプログラムの実行はリモートでは出来ないので、本体から行おう(自責の念)
まず、fluidsGLデモが入っている、CUDAデモファイルをコピーして持ってくるために、以下のコマンドを実行
$ cd ~
$ cp -a /usr/local/cuda-10.0/samples/ ../share/
$ ll
まるっとコピーする為のaオプション…そして、コピー先は遠隔で触れるshareフォルダに入れておこう…
$ cd samples/5_Simulations/fluidsGL
それでは、サンプルプログラムをコンパイルして、実行
$ make
$ ./fluidsGL
エラーが返ってきた他にも色々なサンプルプログラムがあるっぽい、面白そうな感じだ…
参考:Jetson Japan User Group, "Jetson Nano 超入門", ソーテック社 (amazonの販売ページ)
自分の認識をメモっておこうと思う
流石にまだ無知無知のムチン(れんこん)すぎて書けないので、本とかサイトに載っているプログラムを引っ張ってくる
参考:Jetson Japan User Group, "Jetson Nano 超入門", ソーテック社 (amazonの販売ページ)
まず、最新の状態にして
$ sudo apt-get update
$ sudo apt-get install python3-pip protobuf-compiler libprotoc-dev libjpeg-dev cmake
$ git clone https://github.com/tsutof/tiny_yolov2_onnx_cam
$ cd tiny_yolov2_onnx_cam
$ export PATH=$PATH :usr/local/cuda/bin
$ python3 -m pip install -r requirements.txt
$ sudo nvpmodel -m 0
$ sudo jetson_clocks
$ python3 tiny_yolov2_onnx_cam.py --camera=0
先生たちに、まだ何も作ってないのかよ…はぁ(^^;って顔された…ごめんなさい……
他の人のプログラム読んだら書けるようになるかなって…読んでいこうと思います…って言ったけど、これは果たして本当に書けるようになるのだろうか…およよ
…とりあえず、今まで動かした画像認識のプログラム読んで理解するしかないね!(^ω^)
はー、完全に理解した
あのね、3-2-1.で書いていた"camera=0(何で"--"なのかね?)"の部分、解決しました!
cloneしてきたプロジェクトのREADMEファイルにも、こういうコマンド使うよーってのが書いてあったのだが、
"tiny_yolov2_onnx_cam.py"の127~129行目に引数のパースがされていたのだ
えっ、コマンドライン引数のパース?設定?って出来るんですかって驚きをしてしまった…へへっ
さらに、44~48行目の"GST_STR_CSI"がよく分からなくて結構調べていた
色々なプログラムに当たり前のように書かれているけど、解説書いてないし…
GStreamerの話ってのは分かるけど…
って思って"GStreamer nvarguscamerasrc"で調べたら、NVIDIAのGStreamerのユーザーガイドが出てきた
nvarguscamerasrcはNVIDIA独自のプラグインですって書いてある…
あと、父親に聞いたらここでカメラで撮った画像を持ってきて、加工して、渡す…なパイプラインを構築しているんだそうな
つまり"GST_STR_CSI"は、
そういえば、Samba入れる発端のあのアプリケーション(JetsonNanoのセットアップメモ2-4.を参照)
動かしてないなぁと思い、動かしてみることにした
でも、さっきのアプリケーションを実行するとき、"--camera=0"って書いたら出来たし、試しにやってみるか…
$ cd keras-pi/
$ python3 inspect_camera.py --camera=0
"inspect_camera.py: error: unrecognized arguments: --camera=0"
$ python3 inspect_camera.py
(追記 その1)
一回アプリ終了してから動かそうとしたら、エラーが返って来た
ResourceExhaustedError (see above for traceback): OOM when allocating tensor with shape[3,3,32,64] and
type float on /job:localhost/replica:0/task:0/device:GPU:0 by allocator GPU_0_bfc
[[node conv2d_2/kernel/Initializer/random_uniform/RandomUniform (defined at inspect_camera.py:28) ]]
Hint: If you want to see a list of allocated tensors when OOM happens,
add report_tensor_allocations_upon_oom to RunOptions for current allocation info.
何かメモリ足りないみたいなこと言ってるっぽいけど、OOMが分からなかったので調べたら、Out Of Memoryだって
(追記 その2)
よく見たら、動く時でもプログラム実行時にWarningが出てた
[ WARN:0] global /home/matsuno/opencv/opencv-4.3.0/modules/videoio/src/cap_gstreamer.cpp (935) open OpenCV |
GStreamer warning: Cannot query video position: status=0, value=-1, duration=-1
2020-04-28 17:52:52.174176: I tensorflow/stream_executor/dso_loader.cc:153]
successfully opened CUDA library libcublas.so.10.0 locally
Gtk-Message: 17:53:08.837: Failed to load modu
カメラ辺りの設定が良くないっぽい、がよく分からない