アプリとサービスのすすめ

アプリやIT系のサービスを中心に書いていきます。たまに副業やビジネス関係の情報なども気ままにつづります

M1 MacBook Air のsetupの記録

M1のMac、2021/04の時点で、brewはいかれてるは、tensorflowはinstallできないはで普通に使えない。
試行錯誤した時のメモ。


時系列順に実行した記録。

仮想環境用ubuntu-18.04-arm64.iso

f:id:trafalbad:20210406003747j:plain

python3とpip3のinstall

python3.9にtensorflow非対応なので、python3.8に下げる。

まずIntelと混ざるのを防ぐため、brewのpython3を消す

$ brew uninstall --ignore-dependencies python3
$ python3 --version
>>>
Python 3.8.2

$ python3 -m pip install --upgrade pip --user
$ pip3 --version   
>>>>   
pip 21.0.1 from /Users/ha~/Library/Python/3.8/lib/python/site-packages/pip (python 3.8)


$ which python3
>>>>>
/usr/bin/python3


******pay attention
M1のMac(2021/04時点)では「/opt」以下にanacondaとかbrewがinstallされてます。M1 Macでのhomebrewは 公式のドキュメント で /opt/homebrew にインストールすることが推奨されています(Intel版との衝突を避けて共存のため)。



condaのinstall

まず普通にanacondaのdownload。

$ conda
>>>>
zsh: command not found: conda

エラー吐くクソ野郎なので、正常にinstallされてるか確認

$ /opt/anaconda3/bin/conda init zsh

エラーが出なければOK

$ /opt/anaconda3/bin/conda --version
>>>
conda 4.9.2


やっぱりこの類のエラーかよ。



めんどいのでcondaのショートカットを作成

オリジナルのコマンド「conde」でcondaを使えるようにした。

# コマンドを追加
$ sudo vi ~/.bashrc
$ sudo vi ~/.zshenv

>>>>>
alias conde='/opt/anaconda3/bin/conda'
# パスを通す
$ sudo vi ~/.bash_profile
>>>
source ~/.bashrc
source ~/.zshenv


$ source ~/.bash_profile
# 確認
$ conde --version
>>>>
conda 4.9.2


できた。


アーキテクチャの確認・切替

# 買った時のモード
$ uname -m
>>>>arm64
$ arch 
>>>>arm64


archコマンドでアーキテクチャの切替

$ arch -x86_64 bash

# Rosetta2(Intel)で動いている多分
$ arch ($uname -m)
i386
元に戻す。
$ arch -arm64 bash


tensorflowのinstall

pip3でinstallしたtensorflowを実行するとzsh illegal hardwareとエラーが出る。
もうcondaでinstallするしか、方法がわかりませんでした。

# pip3 でinstallしたtensorflowをuninstall
$ pip3 uninstall tensorflow

# condaでtensorflowをinstall
$ (/opt/anaconda3/bin/conda) conde install tensorflow

>>>>

Specifications:

  - tensorflow -> python[version='2.7.*|3.7.*|3.6.*|3.5.*']

Your python: python=3.8


python 3.6か3.5にしろと言われた。

$ (/opt/anaconda3/bin/conda) conde install python=3.6

$ (/opt/anaconda3/bin/conda) conde install tensorflow


実行できるか確かめる

# tf.py
import tensorflow
from tensorflow.keras.applications.inception_v3 import InceptionV3
from tensorflow.keras.models import Model
from tensorflow.keras.layers import *
from tensorflow.keras.optimizers import RMSprop, Adam, SGD
$ python3 tf.py


エラーが出ないのでtensorflowをやっと実行できた。

****Pay attention
最初はM1 macbookairはpython3.9だったので、python3.9をサポートしてないtensorflowはpip3でinstallできませんでした。
最終手段でもうcondaでinstallするしかなかったです。



関連ライブラリもcondaでinstall (almost never pip3)

python3.6に下げたので、ライブラリの入れ直し。
pip3との混在を避けるためpip3でinstallするしかないライブラリ以外は、condaでinstallする

# opencvの例
$ (/opt/anaconda3/bin/conda) conde install -c conda-forge opencv


参考

M1 Mac+tensorflow-macosでディープラーニングする

M1 Mac買ったので行ったセットアップを書いていく