M1 Mac / Web app 開発環境構築

結論 : Conda miniforge使うと楽だし, Tensor Flow for macOSも使える。けどね...

非同期のweb appをserverで立てていると、途端にTFの挙動が落ち込む時がある。しかもめちゃくちゃ極端に。

現時点では、intel core MBP の方が処理が早い...
(これはwebappないで使用しているTFのモデルハンドリングの仕方が古いことに影響されているかもしれないけど)

構築した環境
- python 3.8.6 @conda miniforge
- Tensor Flow for macOS α3

> 解析用ライブラリ
- pandas , statsmodels , sklearn , keras , (numpy)

> 描画系ライブラリ
- matplotlib

> Serverライブラリ
- responder 


構築方法
最終的に一番わかりやすかったのだけリンクしておきます。(英語ですが)
Tensor Flow 2.4 on Apple Silicon M1: installation under Conda environment

ただ、最後のwhl系を直接インポートする部分は、alpha1とalpha3で名称が異なるので、注意。 

そのほか注意事項
- zsh 上のconda環境をほぼそのまま入れてみても、source ~/.zshrcで読み込んでもconda HTTP環境がうまく通っていないことがある。そんな時は、terminal一度落として、もう一回zshrc読み込みするとうまくいくことがある。

- ResponderでBackground.taskに追加( ThreadPoolに入れてる )するとGILの影響を受けているからか、処理がスタックしてものすごく遅くなる場合がある。(実装中のローカルテストやっている時にめちゃくちゃストレス)

- kerasはあまり速度向上の影響を受けられていないっぽい。モデルの使い方のせいかもしれないけど...

- 基本的にconda環境だけで完結できないことが多いので、pip との併用になる。その時は、pipをアップグレードしていないと変なところでつまる。

- pip / conda混ざることはどうしても発生しうる。


この記事が気に入ったらサポートをしてみませんか?