物体検出のチュートリアルで学習が始まらない。

463 views
Skip to first unread message

k.ishi

unread,
May 31, 2021, 5:37:47 AM5/31/21
to Neural Network Console Users (JP)

皆様、お世話になっております。
synthetic_image_object_detection.sdcproj のサンプルで学習が始まりません。

021-05-31 18:30:13,025 Training process is started.
python "C:\Sony\neural_network_console_150\libs\Miniconda3\Lib\site-packages\nnabla\utils\cli\cli.py" train
    -c "C:\Sony\neural_network_console_150\samples\sample_project\tutorial\object_detection\synthetic_image_object_detection.files\20210531_183012\net.nntxt"
    -o "C:\Sony\neural_network_console_150\samples\sample_project\tutorial\object_detection\synthetic_image_object_detection.files\20210531_183012"
2021-05-31 18:30:17,267 [nnabla]: Train with contexts ['cpu', 'cuda', 'cudnn']
2021-05-31 18:30:18,185 [nnabla]: Training epoch 1 of 10 begin
2021-05-31 18:30:18,507 [nnabla]: Cost is Nan
2021-05-31 18:30:18,507 [nnabla]: Training Incompleted.

と表示されていまいます。
データセットはサンプル通りです。(プロジェクトを開いた時にセットアップされました。)
何が原因なのでしょうか?

Neural Network Console version 1.5.7111.65177

k.ishi

unread,
May 31, 2021, 10:11:22 PM5/31/21
to Neural Network Console Users (JP)
皆様、お世話になっております。
を参考にさせて頂いたところ、*_region.csvにnanが含まれていました。
添付させて頂きます。
これが Cost is Nan の原因だと考えています。
これらのファイルは、 synthetic_image_object_detection.sdcprojを開いたときに表示されたダイアログで「はい」をクリックして自動生成されたデータセットです。
*_region.csv全てで位置データと思われる個所がnanに成っているようです。
解決手段はありますでしょうか?

2021年5月31日月曜日 18:37:47 UTC+9 k.ishi:
0_label.csv
0_region.csv

k.ishi

unread,
May 31, 2021, 10:31:04 PM5/31/21
to Neural Network Console Users (JP)

C:\Sony\neural_network_console_150\samples\sample_dataset\synthetic_data\object_detection\original\0000
に格納された
学習画像を添付します。
YOLOフォーマットファイルの0.txtは
2 0.39788767860687646 0.08702670720318162 1.1947936763010307 0.7672939990009532
3 0.32386645673952685 0.2234168119914035 0.6650916591291881 0.4788756029860543
3 0.5068150914581103 0.5246961037942296 0.1605097667554413 0.14364128750486174
と成っていました。
1.0を超える値が入っているのは違和感があります。
バウンディングボックスの値は、画像の縦横を1.0とした場合の比ではないのでしょうか?

2021年6月1日火曜日 11:11:22 UTC+9 k.ishi:
0.png

Kazuya Goto

unread,
May 31, 2021, 11:25:49 PM5/31/21
to k.ishi, Neural Network Console Users (JP)
2.10で走らせてみましたが、エラーにはならず、学習したようです。

1.50に同梱されているデータ生成用scriptに誤りがあるのか、k.ishiさんの実行環境で環境変数などの影響があり、scriptが正しく動かなかったのか、
どちらかの可能性があるかもしれないですね。

可能であれば、まずは最新版を試してみてはいかがでしょうか?

2021年6月1日(火) 11:31 k.ishi <ishikaw...@gmail.com>:
> --
> このメールは Google グループのグループ「Neural Network Console Users (JP)」に登録しているユーザーに送られています。
> このグループから退会し、グループからのメールの配信を停止するには neural_network_consol...@googlegroups.com にメールを送信してください。
> このディスカッションをウェブ上で閲覧するには https://groups.google.com/d/msgid/neural_network_console_users_jp/9099a152-da90-41e6-8152-63374e3e8dc8n%40googlegroups.com にアクセスしてください。

k.ishi

unread,
May 31, 2021, 11:53:19 PM5/31/21
to Neural Network Console Users (JP)
kaaさん
ご助言ありがとうございます。

先ずは起動しているアプリを全て終了させ、NNC単独状態でデータセットと学習履歴を全て削除して、最初からやり直したら学習が始まりました。
原因は不明です。

ありがとうございました。

2021年6月1日火曜日 12:25:49 UTC+9 kaa...@gmail.com:

小林由幸

unread,
Jun 8, 2021, 6:03:32 AM6/8/21
to Neural Network Console Users (JP)
> バウンディングボックスの値は、画像の縦横を1.0とした場合の比ではないのでしょうか?

各CSVファイルに書かれている物体の縦横のサイズは、画像のグリッドの縦横を1.0とした場合の値の、さらに対数を取った値になります。
このため、物体のサイズがグリッドサイズを上回る場合は1.0以上の値となります。
詳細については以下の動画が参考になるかもしれません。

NNCチュートリアル:物体検出
https://www.youtube.com/watch?v=rlMPii_HyJ4
2021年6月1日火曜日 12:53:19 UTC+9 k.ishi:

k.ishi

unread,
Jun 9, 2021, 3:15:42 AM6/9/21
to Neural Network Console Users (JP)
小林様

ご回答ありがとうございます。
今後ともよろしくお願いいたします。


2021年6月8日火曜日 19:03:32 UTC+9 小林由幸:
Reply all
Reply to author
Forward
0 new messages