Core ML Toolsのドキュメントサイトにある、チュートリアルであるQuick StartをGoogle Colabで試してみたので、その手順を書きます。環境構築が不要で、なるべくサクッと実行できる手順を書いています。
対象のサイトはこちらです。
Apple Core ML Tools Quick Start
手順
1.Google Colabを起動する
※Colab = Colaboratoryの略です
Google Colaboratoryのサイトにアクセスします。
Google Colaboratory
ここから先はGitHub gistに保存したものがあるので、こちらをみながらやるとわかりやすいです。
https://gist.github.com/TokyoYoshida/4eb34070911a3cfad1ddd34e400abb91
3. TensorFlowのバージョンを2系にする
ノートブックに書いていきます。
次のように書くとTensorFlowのバージョンを設定できます。
%tensorflow_version 2.x
バージョンの確認をしたいときは、次のようにします。
!pip freeze | grep -i -e tensorflow
# 出力:
# tensorflow==2.3.0
# tensorflow-addons==0.8.3
# tensorflow-datasets==2.1.0
# tensorflow-estimator==2.3.0
# tensorflow-gcs-config==2.3.0
# tensorflow-hub==0.9.0
# tensorflow-metadata==0.24.0
# tensorflow-privacy==0.2.2
# tensorflow-probability==0.11.0
4. Quick Startの内容をノートブックに移す
あとは、Quick Startの内容を書いていくだけです。
import tensorflow as tf
keras_model = tf.keras.applications.MobileNetV2(
weights="imagenet",
input_shape=(224, 224, 3,),
classes=1000,
)
・
(続く)
・
なお、「Make Predictions」というセクションでは、ノートブック上で推論を行いますが、やろうとするとこんなエラーがでます。
Exception: Model prediction is only supported on macOS version 10.13 or later.
これは諦めましょう。
5. modelを保存してダウンロードする
Quick Startの最後のセクションでモデルを保存しています。
# Save model
model.save("MobileNetV2.mlmodel")
# Load a saved model
loaded_model = ct.models.MLModel("MobileNetV2.mlmodel")
保存したら、左側にあるメニューからフォルダのマークを選ぶと、フォルダの内容が見られるようになるので、出力したMobileNetV2.mlmodelを選択し、横にあるメニューからダウンロードを選択してダウンロードします。
5. MLModelCameraをダウンロードする
CoreMLのモデルをiOS上で動作させるのは、MLModelCameraというOSSを使うと簡単です。
モデルファイルをDrag & Dropしてビルドするだけで、あとは自動的に読み込んで推論してくれます。
こちらにあります。
MLModelCamera
このリポジトリをCloneしてプロジェクトをXcodeに読み込みます。
6. プロジェクトのmodelsの下にMobileNetV2.mlmodelをDrag & Dropする
すでに、MobileNetV2Int8LUT.mlmodelという同じようなモデルがありますが気にせずドロップします。
7. ビルドして実行する
仕上がり
ちょっとだけ障子にも見えたんですね🙃
NoteではiOS開発について定期的に発信していますので、フォローしていただけますと幸いです。
https://note.com/tokyoyoshida
Twitterでは簡単なtipsを発信しています。
https://twitter.com/jugemjugemjugem