2018年10月17日水曜日

Xcode10 + mojave で CreateML を触ってみる

概要

CreateML が正式に試せるようになったので Playground でとりあえず試してみました
学習されるデータは画像情報になります

環境

  • macOS 10.14
  • Xcode 10.0

Playground なプロジェクトを作成する

CreateML を最も簡単に試せるのは Playground です
Xcode を立ち上げて「Get started with a playground」を選択します
createml1.png

macOS を選択する

Playground は macOS アプリとして動作させるので macOS を選択しましょう
以下では Single View を選択していますが何でも OK です
createml2.png

コーディング

以下のコードを貼り付けましょう

import CreateMLUI

let builder = MLImageClassifierBuilder()
builder.showInLiveView()

左側の矢印から Playground を実行します
そして右上の「Show the Assistant editor」から Live view を表示します
createml3.png

Live view が表示されない場合は Xcode を立ち上げて Assistant editor を開いて少し待ってみましょう
ダイアログが表示され許可すると Live view が立ち上がると思います
それでもダメな場合は再起動して許可のダイアログが表示されるまで繰り返してください

学習および評価データ

Playground の CreateML は画像情報を学習し評価してくれます
今回は犬と猫の画像データをここから取得しました
犬と猫の画像データがそれぞれ 1 万件ほどあります
学習データのラベル付けやテストデータのラベル付けはディレクトリに分けるだけで OK です

今回は犬の学習データ (train/dog) とテストデータ (test/dog)
そして猫の学習データ (train/cat) とテストデータを (test/cat) をそれぞれ 100 ファイルづつコピーして使いました

1 万ファイルすべてを使いたい場合は 9000:1000 くらいで学習:テストで分けると良いと思います

$ tree -d
.
├── test
│   ├── cat (1.jpg から 100.jpgをコピー)
│   └── dog (1.jpg から 100.jpgをコピー)
└── train
    ├── cat (101.jpg から 200.jpgをコピー)
    └── dog (101.jpg から 200.jpgをコピー)

学習データと評価データの選択

Live view にプルダウンがあるのでクリックすると「Training data」と「Validation data」を選択する部分があります
ここに先程作成したデータのディレクトリをそれぞれ選択します
createml4.png

あとは「Train」を押せば学習が始まります
学習している画像が次々と表示されると思います

モデルを保存する

学習が完了するとモデルを保存することができます
与えたテストデータでは 97% の精度が出ていることが確認できます
コンソールには更に詳しい学習状況が表示されています

createml5.png

ImageClassifier.mlmodel という名前のモデルが保存されていると思います
作成したモデルは CoreML を使うことで iOS アプリに組み込むことができます
https://developer.apple.com/documentation/vision/classifying_images_with_vision_and_core_ml

最後に

とりあえず CreateML で画像認識してみました
モデルだけであればかなり簡単に作成できました
あとはモデルを使う方法を学べばすぐにアプリにできると思います

他にもテキストデータを学習したり分類などもできるようです

参考サイト

0 件のコメント:

コメントを投稿