본문으로 바로가기

[Tensorflow] Mac에서 tensorflow 설정

category 개발이야기/Python 2025. 1. 26. 12:10
반응형

Photy by unsplash

Mac에도 GPU가 있지만 tensorflow 환경 설정치 주로 NVIDIA의 cuda 코드를 사용하는 설정만 나와 있기에 간략하게 사용 방법을 설명해 보겠습니다. (흠..실제로 잘 돌지는....)

Anaconda, VS code 설치

anaconda와 visual studio code는 이미 설치되었다고 가정하고 진행 합니다..하지만 아쉬울수 있으니 간략하게 설명하자면

- 아나콘다를 다운로드 받아 설치 합니다[1] https://docs.anaconda.com/anaconda/install/

- VS Code를 다운로드 받아 설치 합니다.[2] https://code.visualstudio.com/download 

왼쪽에 네모 모양의 아이콘을 클릭한뒤 python을 설치 합니다.

그리고 나서 jupyter로 설치해 줍니다.

Anaconda 가상환경 생성 및 tensorflow 설치

anaconda가 이미 환경변수에 추가되었다는 가정하에 하기 명령어를 입력하여 현재 가상환경을 확인 합니다.

conda env list

저는 이미 tensorflow라는 이름으로 환경을 만들었지만 기본적으로는 base만 존재 합니다. 그리고 기본적으로 * 표시는 현재 선택된 환경을 의미 합니다. 처음 생성하면 base에 * 표시가 되어 있습니다.

하기 명령어로 새로운 virtual 환경을 만들고 activate 시킵니다.

conda create -n tensorflow python=3.9 //'tensorflow' 라는 가상환경 생성, 버전은 3.9
condat activate tensorflow //'tensorflow' 환경을 사용하도록 변경

다시 한번 conda env list를 실행하면 위 그림처럼 tensorflow에 * 표시가 된것을 알수 있습니다.

현재 python의 버전은 3.12.xx까지 나와 있으나, 해당 버전으로 설치시 tensorflow가 설치가 안되더군요... 따라서 실행 최소 버전인 3.9를 명시적으로 넣고 virtual 환경을 생성합니다.

참고로 'python=3.9' 부분을 생략하면 가장 최신 버전의 python을 설치하여 줍니다.

conda install -c apple tensorflow=deps //Apple 의존성 설치
pip intall tensorflow=macos //mac용 tensorflow 설치
pip install tensorflow-metal // GPU 지원

위와 같이 새로 생성한 가상 공간에 tensorflow를 설치해 줍니다.[3][4]

Tensorflow 확인

VS code에서 ipynb 파일을 하나 생성합니다. "Command + Shift + P"를 누르면 선택창이 뜨고, "jupyter"를 입력하면 "Create: New Jupyter NoteBook" 을 선택할수 있습니다.

새로 주피터 노트북 파일 하나 생깁니다.

그리고 이 주피터 파일을 수행할 interpreter를 아까 생성해 놓은 가상 머신으로 바꿔 줍니다.

다시 "Command + Shift + P"를 눌러 선택창에서 "Interpre"를 입력하면 "Python: Select Interpreter" 을 선택할수 있습니다.

그럼 이미 생성해 놓은 여러 interpreter들이 나열되는데, 아까 만들어 놓은 'tensorflow'를 선택합니다.

우상단에 현재 사용하고 있는 interpreter가 사진과 같이 보여집니다.

그럼 간단하게 잘 설치되었는지 아래 코드르 넣어서 실행 시킵니다.[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의 버전과 사용할수 있는 CPU / GPU를 표시해 줍니다. (이 코드 몇줄 수행하는데 40s나 걸렸네요..)

또는 확인을 위해서 metal 설명 페이지에서 제시한 실제 learning을 돌리는 코드를 수행해 볼수도 있습니다. [4]

import tensorflow as tf

cifar = tf.keras.datasets.cifar100
(x_train, y_train), (x_test, y_test) = cifar.load_data()
model = tf.keras.applications.ResNet50(
    include_top=True,
    weights=None,
    input_shape=(32, 32, 3),
    classes=100,)

loss_fn = tf.keras.losses.SparseCategoricalCrossentropy(from_logits=False)
model.compile(optimizer="adam", loss=loss_fn, metrics=["accuracy"])
model.fit(x_train, y_train, epochs=5, batch_size=64)

실제 구동 화면

 

Reference

[1] https://docs.anaconda.com/anaconda/install/

[2] https://code.visualstudio.com/download 

[3] https://toward-the-future.tistory.com/entry/MacOS

[4] https://developer.apple.com/metal/tensorflow-plugin/

 

반응형