ドラッグ&ドロップで超簡単にオリジナルの機械学習モデルがつくれてしまうCreate MLが大幅パワーアップしました。
新機能が増えたのと、使い方が若干変わった(より簡単になった)部分があるので、最新版として本記事をお送りします。
なお、NDAに配慮してスクリーンショットはAppleの公開資料および現行バージョンのもので代用することにします。
Create MLの起動方法
これまではCreate MLはまだ独立したアプリとして提供されておらず、
import CreateMLUI letbuilder= MLImageClassifierBuilder() builder.showInLiveView()
みたいなコードをPlaygroundから実行してアプリケーションのUIにアクセスしていました。
しかしmacOS 10.15 Catalina / Xcode 11で提供される最新バージョンでは、独立したアプリ(Create ML.app)として提供されるようになりました。
Xcode 11のメニューから、
[Xcode] > [Open Developer Tool] > [Create ML]
を選択することで起動します。
使用方法:画像分類器(Image Classifier)
プロジェクトの作成
[File] > [New Project] を選択するとテンプレート選択画面が立ち上がるので、"Image Classifier"を選択します。
データセットを用意する
どういうデータを用意するかですが、チュートリアルによると、
- ラベルごとに最低でも10枚の画像
- ラベルごとに枚数のバランスをとること(チーターは10枚、ゾウは1000枚、みたいなことをしない)
Use at least 10 images per label for the training set, but more is always better. Also, balance the number of images for each label. For example, don’t use 10 images for Cheetah and 1000 images for Elephant.
- JPEGやPNG等、画像フォーマットはなんでもいい(UTIがpublic.imageに適合していれば)
- サイズは揃ってなくてもOK
- サイズもなんでもいいが、最低でも299x299ピクセルはあった方が良い
The images can be in any format whose uniform type identifer conforms to public.image. This includes common formats like JPEG and PNG. The images don’t have to be the same size as each other, nor do they have to be any particular size, although it’s best to use images that are at least 299x299 pixels.
あとは実際に推論を行うのと同じ状況で学習データも収集した方がいいとか、いろんな角度、ライティングの状況のデータがあった方がいい、ということが書かれています。
If possible, train with images collected in a way that’s similar to how images will be collected for prediction.
Provide images with variety. For example, use images that show animals from many different angles and in different lighting conditions. A classifier trained on nearly identical images for a given label tends to have poorer performance than one trained on a more diverse image set.
ラベルをフォルダ名にし、その配下にトレーニングデータ、テストデータを配置します。
学習&モデルの評価
データフォルダをドラッグ&ドロップします。
テスト(モデルの評価)もドラッグ&ドロップ。
オプショナルで、最大イテレーション回数を指定したり、トレーニングデータにノイズやブラーを付加したり、回転を加えたりといったパラメータを指定することもできます。
Playボタンをクリックすると、学習が開始されます。
学習が完了すると、スコアが表示されます。
モデルを保存する
学習したモデルを .mlmodel
ファイルとして保存します。
アプリに組み込む
作成した .mlmodel
ファイルをiOSアプリに組み込んで使用します。
実装方法はこちらの記事を参考にしてください。
また画像分類の .mlmodel
ファイルをドラッグ&ドロップで試せるアプリをGitHubで公開しているので、こちらもぜひ活用してください。
使用方法:音声分類器(Sound Classifier)
(続く)
関連(SoundAnalysisについてちょっと書いてます):