こんにちは.changです.
ほぼ自分用のメモですが,MacでTensorflowLiteのサンプルをビルドして,iPhoneカメラでobject detectionするまでの記録になります.
1. 必要ツールのインストール
(1) Visual Studio Code
今回は設定ファイルの編集に使うだけですが,必ず使うので入れておきます.
- ここ*1からダウンロード
- FinderのApplicationにコピー
- Terminalから起動する為に,F1⇨Shell Command: Install 'code' command in Path
(2) markdown
TensorflowLiteとは全く関係ないのですが,記事の下書きをするのに使いました.
(3) git
Xcodeと一緒に入っていた為にインストール不要で,ver.確認だけしました.
% git --version
(4) rbenv
これが無いとcocodpodsが入らない様です*2*3. 環境変数の追加まで行いました.
brewをインストール
% /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" % echo export PATH='/opt/homebrew/bin:$PATH' >> ~/.bash_profile % source ~/.bash_profile % brew update % brew install rbenv ruby-build
続いてrbenv
% rbenv versions % rbenv install -l
% rbenv install 3.1.1 % rbenv versions
環境変数を設定
% rbenv global 3.1.1 % sudo code ~/.bash_profile
~/./bash_profile
[[ -d ~/.rbenv ]] && \ export PATH=${HOME}/.rbenv/bin:${PATH} && \ eval "$(rbenv init -)"
% source ~/.bash_profile % rbenv versions
面倒なことに,環境変数設定はTerminalを再起動すると無効になってしまう様です
(5) CocoaPods
% sudo gem install cocoapods
% pod setup
2. 公式サンプルのビルド
(1) ソースを取得
% cd ~/ % mkdir Tools % cd Tools % mkdir TensorflowLite % git clone https://github.com/tensorflow/examples.git
(2) workspace fileを生成.
% cd ~/Tools/TensorflowLite/examples/lite/examples/object_detection/ios % pod install
(3) いよいよXcode
プロジェクトを開く
% open ./ObjectDetection.xcworkspace
Bundle Identifierを指定
Apple ID
今回はDeveloper ID無し*6でやります.
実機を繋いでいざビルドと思ったが...
3. Xcodeを更新(付随的にiOSも)
Xcodeのver.を確認
先は長そうですが,めげずにiOS ver.を更新
無事に更新されました.
再度Xcodeを更新
無事に13.3.1が入りました.
4. 再びビルド
プロジェクトを開く
% cd ~/Tools/TensorflowLite/examples/lite/examples/object_detection/ios % open ./ObjectDetection.xcworkspace
実機を接続
設定⇨VPNとデバイス管理からDeveloper(自身)を信頼します.
出来ました😀
5. むすび
高々これだけの事をするのに,凄く時間がかかりました😮💨 めげずに続けていくしかないですね.
次回はデバッガーを動かしてみようと思います.
*1:https://code.visualstudio.com
*2:https://qiita.com/nishina555/items/63ebd4a508a09c481150
*3:https://www.yururiwork.net/archives/1563
*4:https://github.com/tensorflow/examples/blob/master/lite/examples/object_detection/ios/README.md
*5:https://cloud.google.com/vision/automl/object-detection/docs/tflite-ios-tutorial?hl=ja
*6:https://dev.classmethod.jp/articles/run-on-devices-without-apple-developer-program-license/