개요
본인은 애플 실리콘 M1 칩이 장착된 맥을 사용하고 있다.
현재 M1 맥에 TensorFlow 설치하기 위해서는 단순히 pip나 conda를 이용해서는 안되고, 애플이 제공한 fork를 이용해야 한다.
macOS 12.0 Monterey 이후로 Plugin 형태로 통합되었다. 자세한 내용은 애플 공식 사이트 를 참고.
Conda를 이용한 가상환경에 이 TensorFlow 설치하는 과정을 간단하게 정리해두고자 한다.
M1 맥에 TensorFlow 설치하기 (macOS 12.0 이상)
Xcode Command Line Tools 설치
1
% xcode-select --install
Miniforge 설치
1
2
3
% chmod +x ~/Downloads/Miniforge3-MacOSX-arm64.sh
% sh ~/Downloads/Miniforge3-MacOSX-arm64.sh
% source ~/miniforge3/bin/activate
애플 사이트에서는 위와 같은 방법으로 Miniforge를 설치하도록 하고 있는데, 아래 11.0 이하처럼 brew를 사용해도 무방하다.
가상환경 만들기
Conda를 이용한다는 것은 가상환경을 이용한다는 것이니, Tensorflow를 설치할 가상환경을 만들어주자.
1
2
% conda create --name DL-tf python=3.8
% conda activate DL-tf
TensorFlow Dependencies 설치
1
2
3
4
5
# For TensorFlow v2.5
% conda install -c apple tensorflow-deps==2.5.0
# For TensorFlow v2.6
% conda install -c apple tensorflow-deps==2.6.0
TensorFlow & Plugin 설치
1
2
% python -m pip install tensorflow-macos
% python -m pip install tensorflow-metal
M1 맥에 TensorFlow 설치하기 (macOS 11.0 이하)
Xcode Command Line Tools 설치
1
% xcode-select --install
Brew 설치
패키지 관리자 Brew를 설치한다!
1
% /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Miniforge 설치
방금 설치한 Brew를 이용해 Miniforge를 설치한다.
Miniforge는 맥용 arm64, 즉 M1 맥을 지원하고 있는 conda라고 보면 된다. Anaconda 등은 M1 맥을 지원하고 있지 않다. 사용 자체는 되는데, Rosetta 2를 통한 x64 패키지들을 설치한다.
1
2
3
% brew install cask
% brew install --cask miniforge
% conda init zsh
이렇게 설치한 miniforge의 설치 경로는 다음과 같다.
/opt/homebrew/Caskroom/miniforge
가상환경 만들기
Conda를 이용한다는 것은 가상환경을 이용한다는 것이니, Tensorflow를 설치할 가상환경을 만들어주자.
1
2
% conda create --name DL-tf python=3.8
% conda activate DL-tf
–name 뒤의 DL-tf는 원하는 대로 정해도 좋다.
패키지 설치
이후 tensorflow 설치에 필요한 패키지를 설치한다.
1
% conda install absl-py astunparse gast google-pasta grpcio h5py=2.10.0 ipython keras-preprocessing numpy=1.19.5 opt_einsum pip=20.2.4 protobuf python-flatbuffers scipy tensorboard tensorflow-estimator termcolor typeguard typing_extensions wheel wrapt
Tensorflow 설치
pip를 이용해 tensorflow를 설치한다.
1
% pip install --upgrade --force --no-dependencies https://github.com/apple/tensorflow_macos/releases/download/v0.1alpha3/tensorflow_macos-0.1a3-cp38-cp38-macosx_11_0_arm64.whl https://github.com/apple/tensorflow_macos/releases/download/v0.1alpha3/tensorflow_addons_macos-0.1a3-cp38-cp38-macosx_11_0_arm64.whl
위는 0.1a3 버전이 최신인 2021년 4월 20일 기준이다. 설치 전에 https://github.com/apple/tensorflow_macos/releases를 참고해서 새로운 버전이 나왔는지 확인할 것.
예를 들어 0.1a4 버전이 나왔다면 위 명령어의 주소가 https://github.com/apple/tensorflow_macos/releases/download/v0.1alpha3/tensorflow_macos-0.1a3-cp38-cp38-macosx_11_0_arm64.whl 형태가 되어야 할 것이다.
설치 확인
1
2
% conda activate DL-tf
% python3 -c "import tensorflow as tf; print(tf.reduce_sum(tf.random.normal([1000, 1000])))"
결과가 tf.Tensor(-771.1804, shape=(), dtype=float32) 형태로 나오면 import 하고 실행하는데 성공한 것이다.