본문 바로가기
Data Science

맥북 M2 tensorflow certificate 자격증 초기 세팅 Pycharm

by Lora Baek 2023. 12. 26.
300x250

구글 부트캠프를 무사히 졸업하고, 텐서플로우 자격증 응시료 지원 코드를 받았다!

10만원짜리인만큼 자격증 시험에 응시해봐야겠다 싶었는데,

문제는 나의 노트북이 맥북 M2라는 것..

 

찾아보니 애플 실리콘 맥은 tensorflow 시험 시 이래저래 문제가 많은지

구글 코랩을 이용하거나, 아예 PC방에서 응시하신 분도 있었다.

아래와 같이 시험 환경을 세팅할 수는 있지만, 설명서에서 M1, M2를 권하지는 않고 있다.

그래도 시험 환경과 동일하게 맥북 M2 환경을 구축하고, 텐서플로우를 활용해보실 분들께 참고가 될만한 자료라 정리해보고자 한다.

 

시험 환경 세팅

 

한글 버전으로 된 응시자 안내서의 세팅을 찾아보았지만,

무슨 일인지 현재는 텐서플로우 응시자 안내 클릭 시 404에러가 뜨는 중.

 

그래서 나는 영어 버전으로 응시자 안내서를 읽으면서, 세팅에 관한 정보를 확인했다.

2023년 12월 18일 기준 홈페이지에 안내된 응시자 안내서는 23년 12월판이고

세팅 관련 정보는 8월에 올라온 게 마지막인 것 같다.

https://www.tensorflow.org/extras/cert/Setting_Up_TF_Developer_Certificate_Exam.pdf

 

파이썬 3.9.2와 텐서플로우 2.13.x !!

해당 버전은 시험을 칠 때마다 최신 버전의 응시자 안내서를 확인하고,

시험 환경과 동일하게 맞춰주어야 하니 유의하자.

 

1. Pycharm 설치

나는 homebrew를 사용하고 있는데, 그냥 Pycharm을 설치하니까 무료 체험판이 나왔다.

실제로 파이참은 유료 버전이 있는데, community 버전을 설치해야 무료로 쓸 수 있다.

그냥 pycharm이 아니라 pycharm-ce 를 명령어로 입력해야 한다.

 

brew install --cask pycharm-ce

 

설치가 완료되면 새 프로젝트를 만들 수 있다.

'New Project'를 눌러 새로 설치해주자.

2. 파이썬 버전 3.9 설치

설명서를 보면 새 파이썬 프로젝트를 만들고, 베이스 인터프리터로 python 3.9를 설치해야 한다.

 

(가상환경에서 python 버전이나 경로 관련해서 헷갈릴 경우, 아래 포스팅을 참고하면 도움이 될 것이다.

주의 : 파이참에서는 프로젝트 생성 시 가상환경 설정이 가능하므로, 참고용으로만 활용)

 

 

맥북 M2 python3 버전으로 기본 파이썬 버전 변경 방법

새롭게 가상환경을 만들어준 후, python 버전을 변경하고 싶을 때가 있다. 현재 설치된 python은 3.10.12 버전이고, 나는 3.9.2 버전으로 변경하고 싶은 상황. 1. 파이썬 홈페이지에서 원하는 버전 다운

for-data-science.tistory.com

 

위 포스팅에서는 파이썬 홈페이지에서 3.9.2 버전을 다운받은 후, which python 명령어로 설치된 경로를 확인했었다.

 

이제 파이참에서 새로운 프로젝트를 생성하고자 한다.

프로젝트 위치는 각자가 편한 위치로 만들면 될텐데 나는 기본 위치로 설정하려고 한다.

구글링을 통해, 텐서플로우 시험을 위해서는 conda가 아니라 virtualenv로 가상환경을 설정해야 한다는 정보를 얻었으므로

custom environment를 활용해서 만들어주었다.

 

 

이렇게 새 프로젝트를 만들어준 후,

venv > New > Python File을 선택해서 파이썬 파일을 생성해주었다.

 

우측 하단의 터미널을 클릭해서 활성화시켜준 후, 파이썬 버전 확인 및 통일을 해주었고

pip install tensorflow-macos

 

를 이용해서 텐서플로우를 설치해주었다.

 

설치된 버전은 2.15.0인데 나는 2.13.x를 설치해주어야 한다.

 

3. 라이브러리 설치

최종적으로는 아래와 같은 라이브러리들이 설치되어 있어야 하므로, 라이브러리를 확인해서 설치해주자.

 

 

Pycharm > Settings 진입

 

Project > Python interpreter 선택 후, +버튼을 찾아 클릭

 

Available Packages 창에서 검색을 통해서 필요한 라이브러리를 찾고,

버전을 명시(Specify version)해서 설치(install package 버튼 클릭)해주면 된다.

 

기본 세팅이 완료되었다!

 

4. 설치 버전 확인

import sys
import platform

import numpy as np
import pandas as pd
import PIL
import scipy as sp
import tensorflow as tf
import tensorflow_datasets

print(f"Python {sys.version}")
print(f"Python Platform: {platform.platform()}")
print("==============================")
print(f"Numpy Version: {np.__version__}")
print(f"Pandas Version: {pd.__version__}")
print(f"Pillow Version: {PIL.__version__}")
print(f"SciPy Version: {sp.__version__}")
print(f"Tensorflow Version: {tf.__version__}")
print(f"Tensorflow-dataset Version: {tensorflow_datasets.__version__}")
print("==============================")
gpu = len(tf.config.list_physical_devices('GPU'))>0
print("GPU is", "available" if gpu else "NOT AVAILABLE")

 

해당 코드를 이용해서 설치된 버전들을 확인해보았다.

 

 

하지만 슬프게도 GPU 사용 불가.

GPU를 사용하기 위해서는 tensorflow-metal도 설치해줘야 한다.

혹시나 해서 tensorflow-macos 2.13.0, metal은 최신버전(1.1.0)으로 둘 다 다시 설치해주었다.

 

devices = tf.config.list_physical_devices()
print("\nDevices: ", devices)

gpus = tf.config.list_physical_devices('GPU')
if gpus:
  details = tf.config.experimental.get_device_details(gpus[0])
  print("GPU details: ", details)

if tf.config.experimental.list_physical_devices("GPU"):
    with tf.device("gpu:0"):
        print("gpu 사용 가능")

 

이 코드를 이용하면 CPU, GPU 디바이스의 디테일을 확인할 수 있다.

또한 gpu 사용 가능 여부를 다시 확인해본 결과 사용 가능으로 바뀌었다.

 

하지만 불길한 메세지가 같이 뜬다.


 I tensorflow/core/common_runtime/pluggable_device/pluggable_device_factory.cc:303] Could not identify NUMA node of platform GPU ID 0, defaulting to 0. Your kernel may not have been built with NUMA support.
 I tensorflow/core/common_runtime/pluggable_device/pluggable_device_factory.cc:269] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 0 MB memory) -> physical PluggableDevice (device: 0, name: METAL, pci bus id: <undefined>)

이렇게 시험 환경을 세팅할 수는 있지만, 설명서에서 M1, M2를 권하지는 않고 있다.

공식적으로 권하지 않고 있으므로 안전을 위해 나는 PC방에 가서 윈도우 환경에서 시험을 치르려고 한다.

M1, M2를 사용하시는 분들께 참고가 되었길 바라며!

 

댓글