Tech Log

[Deep Learning] M1 맥에 Tensorflow 설치 본문

Deep Learning/etc

[Deep Learning] M1 맥에 Tensorflow 설치

yuhee kim 2022. 6. 3. 00:42

딥러닝 과목에서 Tensorflow를 사용해서 퍼셉트론을 적용하게 되었다. Windows에서의 Tensorflow 설치와 맥에서 설치는 다른 부분이 있다. 설치 과정도 기록해두면 많은 사람들에게 도움이 될 것 같아 설치법을 작성하게 되었다. 생각보다 어렵지 않으니, 이 글을 보고 쉽게 설치하시는 분들이 많았으면 좋겠다.

근데 이 포스팅을 Deep Learning에 넣는 것은 어떨까 싶긴한데 그래도 관련있으니까 딥러닝 카테고리에 넣어놨다.

 

 

설치 단계

 

  1. PyCharm 설치
  2. miniforge 환경 구축
  3. 가상 환경 구축
  4. Tensorflow 설치
  5. 설치 최종 확인

 

1. PyCharm 설치

출처 : Jet Brains

PyCharm 다운로드

위 링크를 통해 PyCharm을 설치해준다. M1 맥 이므로 , Apple Silicon 버전을 설치해준다.

Community 버전으로도 많은 것을 할 수 있으니 무료인 Community 버전을 설치해주었다.

필요에 따라 Professional 버전을 사용해도 되나, Python IDE로만 사용하는 것이라면 Community 버전을 설치해준다.

 

 

2. miniforge 환경 구축

출처 : miniforge(https://github.com/conda-forge/miniforge)

Windows에서는 Tensorflow를 사용하기 위해, anaconda를 설치해주었지만 맥 OS의 경우에는 다르다.

anaconda 대신에 miniforge라는 환경을 구축해줘야 한다.

Conda-forge에서 파생한 프로젝트인 miniforge에서 유일하게 Conda 패키지를 Apple Silicon의 arm64에 지원하고 있다.

miniforge 파일 다운로드

위 링크에서 Miniforge3-MacOSX-arm64.sh 파일을 다운로드해준다.

 

설치를 해주었다면 아래 코드들을 iTerm에서 실행시켜준다.

chmod +x ~/Downloads/Miniforge3-MacOSX-arm64.sh
sh ~/Downloads/Miniforge3-MacOSX-arm64.sh
source ~/miniforge3/bin/activate

 

설치 중간에 y/n를 선택하는 구간이 나오면 y를 입력해준다.

 

 

3. 가상 환경 구축

가상 환경을 구축해주고 Tensorflow를 본격적으로 설치한다.

가상 환경을 구축해주는 이유는, 독립적인 작업 환경을 만들기 위해서이다.

Tensorflow를 설치하면서, 여러 라이브러리, 패키지들을 설치하게 될 것이다.

이 라이브러리들이 기존의 환경과 충돌하는 경우를 방지하기 위해서 가상 환경을 만들어주는 것이다.

 

또한, 패키지 혹은 라이브러리가 특정 버전과 호환하는 경우가 있으므로 이 부분을 맞춰주기 위해서 가상 환경을 만들어준다.

여기서는 Python 3.8 버전과 호환되는 Tensorflow를 설치할 것이기 때문에,

특정 버전과 호환을 맞추기 위해서 가상 환경을 만들어주는 것이라고도 볼 수 있다.

miniforge를 설치하면 Python 3.9 버전으로 설치되므로, Tensorflow와 상응하는 3.8로 맞춰주어야 한다.

 

conda create -n test python=3.8

위 코드를 작성하여 Python 3.8 버전의 가상 환경을 만든다.

test는 만들어질 가상 환경의 이름이다. 원하는 대로 정해도 상관없다.

중간에 설치를 계속할 것이냐고 물을 수 있는데, 이때는 y라고 당연히 답하면 된다.

 

conda activate test

위 코드를 입력하면 아까 만들어준 test라는 가상 환경으로 전환이 된다.

 

miniforge를 통해 anaconda 환경을 만들어주었으면, 앞에 (base) 라고 뜬다.

지금은 base라는 가상 환경에 속해있다.

 

이때 conda activate test를 입력해주면 위와 같이 (test)로 가상환경이 바뀐 것을 볼 수 있다.

 

conda env list

위 코드를 통해, 현재 시스템에 있는 가상 환경들의 목록을 확인할 수 있다.

 

 

4. Tensorflow 설치

conda install -c apple tensorflow-deps
pip install tensorflow-macos
pip install tensorflow-metal

위 코드를 iterm에 입력해주면, Tensorflow 패키지 설치는 끝이 났다!

 

python -m pip install tensorflow-metal

하드웨어 가속화를 시키고 싶으면 위 코드를 옵션으로 작성해주어도 좋다.

 

 

5. 설치 최종 확인

처음에 설치해주었던 Pycharm을 통해 Tensorflow가 잘 동작하는지 최종 확인할 수 있다.

 

5-1. PyCharm에서 새로운 프로젝트를 생성해준다.

 

 

5-2. Preferences로 들어간다.

 

5-3. Project:프로젝트명 > Python Interpreter로 이동한다.

 

5-4. Interpreter를 추가하기 위해 Add를 클릭해준다. (Add 버튼 누르기 전에 톱니바퀴 버튼이 있다. 그러면 Add 버튼이 나온다)

 

5-5. Conda Environment의 Interpreter를 추가해줘야 하므로, Conda Environment를 설정해준다.

 

5-6. Existing environment를 선택하여 Interpreter를 선택해준다. 

이때 아까 만들어준 가상 환경 내의 Python Interpreter를 지정해줘야 한다.

따라서 가상 환경의 디렉터리 주소에 따라 Python 파일을 찾는다.

miniforge 디렉터리 > env 디렉터리 > (아까 만들어준 가상환경 이름의) 가상 환경 디렉터리 > bin > python

 

위와 같이 PyCharm도 설정을 해주었다면, 아래 코드로 Tensorflow가 동작하는지 테스트해보자!

 

import tensorflow as tf

with tf.compat.v1.Session() as sess:
  h = tf.constant("Hello")
  w = tf.constant("World!")
  hw = h + w
  ans = sess.run(hw)
  print(ans)

 

생각보다 금방 따라할 수 있는 Tensorflow 설치다.

맥 GPU를 활용하여 딥러닝을 할 수 있게 되었다.

신기

 

 

참조
Comments