LoginSignup
3
2

More than 3 years have passed since last update.

Core ML ToolsのチュートリアルをGoogle Colabで簡単に試す方法(環境構築不要)

Posted at

Core ML Toolsのドキュメントサイトにある、チュートリアルであるQuick StartをGoogle Colabで試してみたので、その手順を書きます。環境構築が不要で、なるべくサクッと実行できる手順を書いています。

対象のサイトはこちらです。
Apple Core ML Tools Quick Start

 手順

1.Google Colabを起動する
※Colab = Colaboratoryの略です

Google Colaboratoryのサイトにアクセスします。
Google Colaboratory

image.png

2. ファイル > ノートブックを新規作成 を選択する
image.png

こんな感じでノートブックができます。
image.png

ここから先はGitHub gistに保存したものがあるので、こちらをみながらやるとわかりやすいです。
https://gist.github.com/TokyoYoshida/4eb34070911a3cfad1ddd34e400abb91

3. TensorFlowのバージョンを2系にする

ノートブックに書いていきます。

次のように書くとTensorFlowのバージョンを設定できます。

notebook
%tensorflow_version 2.x

バージョンの確認をしたいときは、次のようにします。

notebook
!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の内容を書いていくだけです。

notebook
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の最後のセクションでモデルを保存しています。

notebook
# Save model
model.save("MobileNetV2.mlmodel")

# Load a saved model
loaded_model = ct.models.MLModel("MobileNetV2.mlmodel")

保存したら、左側にあるメニューからフォルダのマークを選ぶと、フォルダの内容が見られるようになるので、出力したMobileNetV2.mlmodelを選択し、横にあるメニューからダウンロードを選択してダウンロードします。

image.png

5. MLModelCameraをダウンロードする

CoreMLのモデルをiOS上で動作させるのは、MLModelCameraというOSSを使うと簡単です。
モデルファイルをDrag & Dropしてビルドするだけで、あとは自動的に読み込んで推論してくれます。

こちらにあります。
MLModelCamera

このリポジトリをCloneしてプロジェクトをXcodeに読み込みます。

6. プロジェクトのmodelsの下にMobileNetV2.mlmodelをDrag & Dropする

すでに、MobileNetV2Int8LUT.mlmodelという同じようなモデルがありますが気にせずドロップします。
image.png

7. ビルドして実行する

仕上がり

うまく推論しているようでした。

ちょっとだけ障子にも見えたんですね🙃

NoteではiOS開発について定期的に発信していますので、フォローしていただけますと幸いです。
https://note.com/tokyoyoshida

Twitterでは簡単なtipsを発信しています。
https://twitter.com/jugemjugemjugem

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2