背景
libtorch 1.8 になり, FFT モジュールとかついたので音声処理とか libtorch で完結できてよいので iOS で動かしたい.
オフィシャルでは Cocoapods での例を提示していますが...
- XCode の設定, Cmake でやっている(Cocoapods だと xcodeproj ファイルとが無いと
pod install
できない) - Cocoapod でインストールとかめんどい...
- M1 macOS だと fft 周りで arm 対応しておらずコケる https://stackoverflow.com/questions/64901180/running-cocoapods-on-apple-silicon-m1
- 最新 libtorch が得られない
- いずれにせよ Cocoapod 使いたくない(Specs ファイルが git repo 管理されており 2 GB! もある)
のでソースからビルドします.
手順
iOS ビルド用のスクリプトが用意されていますので, それを叩くだけです.
$ git clone https://github.com/pytorch/pytorch
$ cd pytorch
# (お好みで branch/tag をチェックアウト)
$ git submodule update --init --recursive
$ ./scripts/build_ios.sh
でいけます!
M1 macmini では 12 分ほどでビルドが終わりました.
あとはビルドできたファイルをよろしく自前プロジェクトにコピーするなどして利用しましょう.
TODO
- CI ビルドサーバか Cocoapods のダウンロード URL を探して iOS prebuilt パッケージを wget なりでぺろっと落とす方法を見つける