茨城エンジニアのPython開発日記

茨城のITベンチャー企業ではたらく2年目エンジニア。Pythonで色々なものを作成中。

ドローン開発日記~第6回勉強会開催~

ブログから記事を見つけたい場合はこちら

ブログ地図(大) - 茨城エンジニアのPython開発日記

 

お久しぶりです。開発メンバーの松原です。

最近は大学時代の友人とクラフトピアで遊ぶなどをしています。コロナ禍は誰にとっても大変ですが、遠方の友達とオンラインで遊ぶようになったのはうれしいですね。 

SSDの学習をさせる

さて、今週は独自データセットSSDに学習させる枠組みを作成しました。

SSDとは、ざっくり物体の検知, 検知した物体の識別を同時にやってくれるようなAIです。私は下の動画で勉強しました。

【YOLOとSSDを使った】実践物体検出 | Udemy

 

で、学習させる手順は大体下みたいな感じですね。

 

1. 学習データセットを作成

2. 学習実行するPythonファイルを用意

3. 各種ライブラリインストール

4. 学習開始

 

学習データセット作成はVoTTで行い、学習実行Pythonファイルは下記サイトを参考にしました。

https://water2litter.net/rum/post/ai_chainercv_ssd_trial/

 

 

SSDの学習データセット

学習データはVOTTで作成しました。

最終的なフォルダ構造はこんな感じ。

f:id:tottorisnow33:20200920131849p:plain

ImageSetsフォルダの中はどれを学習画像, どれを評価用画像にするかというtxtファイルが入っています。こんな感じ。

f:id:tottorisnow33:20200920132117p:plain

大体VoTTが自動でやってくれたはず。

 

ライブラリインストールの注意事項

で、大事なのがライブラリインストールです。

ここでかなり沼にはまりました。GPUを利用して学習を行うのですが、GPUで計算を実施させるためのcupyというものがうまく利用できなかったのですね。

 

で、cupyについて以下が正しいインストール手順です。

 

1. cudaの10.1をPCにインストール(要再起動)1

https://developer.nvidia.com/cuda-toolkit-archive

2. 下記コマンドでインストール

pip install cupy-cuda101==6.3.0

 

書いてみると簡単な結論なんですが、自分で探るのはこういうのが結構大変なんですよね…

K君がぱぱっと解決してくれました!

 

あとはChainerCVというライブラリのインストールもはまると長いので、以下の記事を参考にしてください。

ChainerCVのインストール - 茨城エンジニアのPython開発日記

 

学習実施!

なんとか今回は学習実施までこぎつけました!こんな感じのコンソール画面になります。

f:id:tottorisnow33:20200920133359p:plain

学習画像5枚, エポック数500で20分くらいかな?resultフォルダに学習したnpzファイルが出力されます。

ちなみに推論を実施したところ、学習用画像では識別がきちんと行われていました。新しく用意した画像ではだめ…

学習画像5枚ではしっかり過学習してますね。

ちなみにデータセットは私が友人の犬を勝手にデータセットにしたので、お見せすることはできません。来週はお見せするのを持ってきます。

 

 

来週からはなにはともあれN増しですねー。個人開発でそんな大量のデータセット集められない…

 

日記といいつつかなり技術的な話になってしまいましたが、今回はこのあたりで。それではまた!