mlmodel のコンパイル
by
Yutaka
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
mlmodel のコンパイル AKIBA.swift #11? 2017.10.27 多鹿豊
Slide 2
Slide 2 text
CoreMLとかその辺の話
Slide 3
Slide 3 text
目次 ○ 自己紹介 ○ mlmodelとは? ○ mlmodelのコンパイル ● Xcodeでコンパイル ● Swiftコードでコンパイル ● コマンドラインでコンパイル ○ まとめと今後
Slide 4
Slide 4 text
目次 ○ 自己紹介 ○ mlmodelとは? ○ mlmodelのコンパイル ● Xcodeでコンパイル ● Swiftコードでコンパイル ● コマンドラインでコンパイル ○ まとめと今後
Slide 5
Slide 5 text
自己紹介(personal) ○ 多鹿 豊 (Tajika Yutaka) ○ @taji-taji ● Qiita, Github
Slide 6
Slide 6 text
自己紹介(hobby) ○ アプリ作ってます ○ 観葉植物が好き
Slide 7
Slide 7 text
自己紹介(work) ○ ウェルスタイル株式会社 ● 家族限定SNS「wellnote」を開発・運営 ○ iOSエンジニア ● AWS, Python, Go, PHP, Rails とかも
Slide 8
Slide 8 text
目次 ○ 自己紹介 ○ mlmodelとは? ○ mlmodelのコンパイル ● Xcodeでコンパイル ● Swiftコードでコンパイル ● コマンドラインでコンパイル ○ まとめと今後
Slide 9
Slide 9 text
mlmodelとは? ○ 機械学習のモデルをCoreMLで使える形にしたもの ● Keras, Caffe, Scikit-learnで作成したモデルをcoremltoolsで変換する ことでできる ○ 拡張子「.mlmodel」 https://developer.apple.com/documentation/coreml
Slide 10
Slide 10 text
画像分類の機械学習を 取り入れる実装例 学習 推論 学習済み モデル Keras Core ML Core ML Tools 教師データ 未知のデータ 分類 結果 学習済み モデル
Slide 11
Slide 11 text
画像分類の機械学習を 取り入れる実装例 学習 推論 学習済み モデル Keras Core ML Core ML Tools 教師データ 未知のデータ 分類 結果 学習済み モデル
Slide 12
Slide 12 text
mlmodelはコンパイルして使う
Slide 13
Slide 13 text
目次 ○ 自己紹介 ○ mlmodelとは? ○ mlmodelのコンパイル ● Xcodeでコンパイル ● Swiftコードでコンパイル ● コマンドラインでコンパイル ○ まとめ
Slide 14
Slide 14 text
Xcodeでコンパイル
Slide 15
Slide 15 text
Xcodeでコンパイル ○ Xcodeのプロジェクトにmlmodelファイルを追加 ○ 追加したmlmodelファイルをターゲットに追加 ○ Xcodeが自動でコンパイル ○ WWDCの発表でもデモがありましたね
Slide 16
Slide 16 text
Xcodeでコンパイル
Slide 17
Slide 17 text
Xcodeでコンパイル
Slide 18
Slide 18 text
Xcodeにより自動生成されたコードの一部
Slide 19
Slide 19 text
CoreMLでモデルを使うときは mlmodelcを呼ぶ
Slide 20
Slide 20 text
Xcodeにより自動生成されたコードの一部
Slide 21
Slide 21 text
Xcodeでコンパイル MyApp.appの中
Slide 22
Slide 22 text
mlmodelをコンパイルすると 「mlmodelc」 というディレクトリができる
Slide 23
Slide 23 text
Xcodeでコンパイル MyApp.appの中
Slide 24
Slide 24 text
Swiftコードでコンパイル
Slide 25
Slide 25 text
Swiftコードでコンパイル ○ メインスレッドでは行わない ○ コンパイルされた「mlmodelc」はtemporaryディレクトリに アウトプットされる ● applicationSupportDirectoryやdocumentDirectoryにコピーする必要 がある 事前に「.mlmodel」ファイルをダウン ロード・保存し、そのファイルパスを指 定する
Slide 26
Slide 26 text
コマンドラインでコンパイル
Slide 27
Slide 27 text
コマンドラインでコンパイル ○ coremlc compile [path to mlmodel] [output path]
Slide 28
Slide 28 text
○ mlmodelのコンパイル3種類 ● Xcodeで自動コンパイル ● Swiftコードでコンパイル ● コマンドラインでコンパイル ○ mlmodelはprotocol buffersベースでできているみたい ● そのあたりを深掘り まとめと今後
Slide 29
Slide 29 text
ご清聴ありがとうございました