🫠
CreateMLでマルチラベル分類をしようとしたら詰まった話
はじめに
趣味の開発でcreateMLを用いて多ラベル分類の検証を簡単に行おうとしていましたが、データを読み込む過程でハマってしまい3時間ほど時間を溶かしてしまいました。ググっても答えがパッと見当たらなかったので、備忘として残しておきます。
CreateMLによる機械学習(画像認識)のやり方は公式ドキュメントを参照して下さい。
前提条件
公式ドキュメントに準い、学習データのディレクトリ構成は以下とします。
train/
├── image1.jpg
├── image2.jpg
├── ...
└── annotations.json
問題
公式ドキュメントにおいては、多ラベル分類のアノテーションファイルの形式が以下のように示されていましたが、
annotations.json
[
{
"filename": "image1.jpg",
"annotations": ["window_sill", "aloe", "pot"]
},
{
"filename": "image2.jpg",
"annotations": ["cactus", "pot", "person"]
}
]
この形式でデータを読み込まそうとしても、以下のようにData Analysis stopped
と表示され、データが正常に読み込まれませんでした。
対応方法
正しくは、以下のようにfilename
をimage
に直すことで解決できました。
annotations.json
[
{
"image": "image1.jpg",
"annotations": ["window_sill", "aloe", "pot"]
},
{
"image": "image2.jpg",
"annotations": ["cactus", "pot", "person"]
}
]
以上のように変更すると、正常にデータを読み込むことができました。
まとめ
深層学習のモデル作成はpytorchやtensorflowでやるのが現状スタンダードだとは思いますが、GUIを用いたモデル作成はお手軽で楽しいのでぜひ一度は試してみてください。その時にデータがなぜか読み込まれない等の問題が発生した際にこの記事が参考になれば幸いです。
Discussion