[MacOS] 텐서플로우(Tensorflow2.x) GPU 딥러닝 개발환경 구축
● Xcode command-line tools 설치
1. 터미널 창을 열어서 xcode 개발자 도구를 설치합니다.
xcode-select --install
Conda 설치
필자의 경우 anaconda&minconda는 아래와 같은 메시지로 설치가 안되서 miniforge를 설치했습니다. anaconda와miniconda가 Apple Silicon의 M1 arm64를 2022년 하반기부터 지원하기 시작했지만 M2는 아직인것 같습니다. 세 가지 중에 설치가 되는 걸로 하시면 됩니다.
● Anaconda 설치
아래의 링크로 접속하여 설치합니다
https://www.anaconda.com/products/distribution
www.anaconda.com" data-og-source-url="https://www.anaconda.com/products/distribution" data-og-url="https://www.anaconda.com/products/distribution" data-og-image="https://scrap.kakaocdn.net/dn/snxy7/hySa2Ysr21/lM2MGmaCuiPNJQTTouUbx1/img.jpg?width=1200&height=630&face=0_0_1200_630,https://scrap.kakaocdn.net/dn/mP02o/hySaVkJaLx/gV2ZUBMUS5r16SaSjrBEKk/img.jpg?width=796&height=418&face=0_0_796_418,https://scrap.kakaocdn.net/dn/bE6rrc/hySaT8icJm/1pEMju2X2KgbJttQcxNBtK/img.png?width=650&height=650&face=0_0_650_650" style="margin: 30px 0px; max-width: 100%; clear: both; padding: 0px; color: rgb(85, 85, 85); font-family: AppleSDGothicNeo, "Noto Sans KR", sans-serif; font-size: 16px;">
● Miniconda 설치
아래의 링크로 접속하여 설치합니다
https://docs.conda.io/en/latest/miniconda.html
● Miniforge 설치
1. 아래의 링크로 접속하여 설치합니다.
https://github.com/conda-forge/miniforge
2. 터미널 창을 열어서 설치한 경로로 이동한 후 설치를 진행합니다.
cd Downloads
bash Miniforge3-MacOSX-arm.64.sh
3. 계속 Enter키를 눌러주다가, 라이센스 동의창에서 yes를 입력하고 Enter키를 눌러줍니다.
4. 설치 경로에 대한 질문이 나옵니다. 현재 설치되고 있는 경로에 설치한다면 Enter키를 눌러주고 혹은 자신이 원하는 경로가 있다면 지정 후에 Enter키를 누릅니다.
5. 이 이후부터는 yes를 입력하고 Enter키를 눌러준 다음에 설치를 완료해줍니다.
Conda 설치 후 터미널을 실행할 때 자동으로 conda가 활성화 되는 것이 싫다면 다음과 같이 입력해주면 됩니다.
conda config-set auto_activate_base false
● 가상환경 구축
1. 가상환경을 생성합니다.
conda create -n tf29_py39 python=3.9
activate tf29_py39
2. tensorflow를 설치합니다. 텐서플로우는 정말 예민하기 때문에 호환되는 버전끼리 설치해줘야합니다.
conda install -c apple tensorflow-deps==2.9.0 # Apple채널에서 의존성 설치
pip install tensorflow-macos==2.9.0 # Apple의 macos 전용 tensorflow
pip install tensorflow-metal==0.5.0 # GPU 지원
아래의 링크의 Releases를 확인해주세요.
https://developer.apple.com/metal/tensorflow-plugin/
3. 제대로 작동하는지 확인합니다.
import tensorflow as tf
# Check for tensorflow GPU acess
print("TensorFlow has access to the following devices:", tf.config.list_physical_devices())
# See TensorFlow version
print("TensorFlow version:", tf.__version__)
TensorFlow has access to the following devices: PhysicalDevice(name='/physical_device:CPU:0', device_type='CPU'), PhysicalDevice(name='/physical_device:GPU:0', device_type='GPU')
TensorFlow version: 2.9.0