Apple Silicon Macbook에 Tensorflow를 설치하는 방법을 다룹니다.
Macbook M1에서 테스트 했지만 참고한 링크에서 지원하는 디바이스로 Apple silicon라고 적혀있는 것으로 봐서는 M2,M3에서도 가능할 것으로 예상됩니다.
참고
https://developer.apple.com/metal/tensorflow-plugin/
2022. 2. 4 최초작성
2022. 5. 2 xcode 설치 추가
2024. 3. 2 Apple silicon 내용 추가
0. 다음 포스트를 참고하여 Xcode를 설치합니다.
MacBook M1에 Xcode 설치하기
https://webnautes.tistory.com/2024
1. 다음 포스트를 참고하여 Miniforge를 설치합니다.
Apple Silicon Macbook에 Miniforge 설치하여 Visual Studio Code와 연동하기
https://webnautes.tistory.com/2101
2. 가상환경을 생성하고 활성화 합니다. GPU를 사용하려면 아래 링크 언급과 테스트해본 결과 Python 3.8~3.10을 사용해야 할듯합니다.( https://forums.developer.apple.com/forums/thread/726753 )
파이썬 가상 환경을 생성하고 활성화 합니다.
conda create -n tensorflow-dev python=3.10
conda activate tensorflow-dev
3. TensorFlow를 설치합니다.
python3 -m pip install tensorflow
tensorflow-metal plug-in를 설치합니다.
python3 -m pip install tensorflow-metal
4. 설치된 Tensorflow 버전을 확인합니다.
(tensorflow-dev) webnautes@webnautesui-MacBookAir ~ % python3
Python 3.10.13 | packaged by conda-forge | (main, Dec 23 2023, 15:35:25) [Clang 16.0.6 ] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import tensorflow as tf
>>> tf.__version__
'2.15.0'
>>> quit()
(tensorflow-dev) webnautes@webnautesui-MacBookAir ~ %
5. GPU를 사용할 수 있는지 확인합니다. 아래처럼 안보이고 대괄호 [ ] 만 보이면 GPU를 사용할 수 없는 상태입니다.
>>> tf.config.list_physical_devices('GPU')
[PhysicalDevice(name='/physical_device:GPU:0', device_type='GPU')]
6. 설치한 Tensorflow가 잘 동작하는지 확인하기 위해 아래 링크에 있는 코드를 테스트해봤습니다. test.py로 저장합니다.
https://www.tensorflow.org/tutorials/quickstart/beginner?hl=ko
import tensorflow as tf mnist = tf.keras.datasets.mnist (x_train, y_train), (x_test, y_test) = mnist.load_data() x_train, x_test = x_train / 255.0, x_test / 255.0 model = tf.keras.models.Sequential([ tf.keras.layers.Flatten(input_shape=(28, 28)), tf.keras.layers.Dense(128, activation='relu'), tf.keras.layers.Dropout(0.2), tf.keras.layers.Dense(10, activation='softmax') ]) model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy']) model.fit(x_train, y_train, epochs=5) model.evaluate(x_test, y_test, verbose=2) |
실행 결과입니다.
(tensorflow-dev) webnautes@webnautesui-MacBookAir ~ % python3 test.py
2024-03-02 21:00:10.606445: I metal_plugin/src/device/metal_device.cc:1154] Metal device set to: Apple M1
2024-03-02 21:00:10.606473: I metal_plugin/src/device/metal_device.cc:296] systemMemory: 16.00 GB
2024-03-02 21:00:10.606477: I metal_plugin/src/device/metal_device.cc:313] maxCacheSize: 5.33 GB
2024-03-02 21:00:10.606524: I tensorflow/core/common_runtime/pluggable_device/pluggable_device_factory.cc:306] Could not identify NUMA node of platform GPU ID 0, defaulting to 0. Your kernel may not have been built with NUMA support.
2024-03-02 21:00:10.606557: I tensorflow/core/common_runtime/pluggable_device/pluggable_device_factory.cc:272] 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>)
Epoch 1/5
2024-03-02 21:00:10.996518: I tensorflow/core/grappler/optimizers/custom_graph_optimizer_registry.cc:117] Plugin optimizer for device_type GPU is enabled.
1875/1875 [==============================] - 9s 4ms/step - loss: 0.4084 - accuracy: 0.8816
Epoch 2/5
1875/1875 [==============================] - 8s 4ms/step - loss: 0.3649 - accuracy: 0.8990
Epoch 3/5
1875/1875 [==============================] - 8s 4ms/step - loss: 0.3814 - accuracy: 0.8968
Epoch 4/5
1875/1875 [==============================] - 8s 4ms/step - loss: 0.4009 - accuracy: 0.8937
Epoch 5/5
1875/1875 [==============================] - 8s 4ms/step - loss: 0.4116 - accuracy: 0.8907
313/313 - 1s - loss: 0.3414 - accuracy: 0.9078 - 1s/epoch - 3ms/step
(tensorflow-dev) webnautes@webnautesui-MacBookAir ~ %
'Deep Learning & Machine Learning > Tensorflow&PyTorch 개발환경' 카테고리의 다른 글
Ubuntu / Windows / WSL2 / Apple Silicon Macbook에서 Tensorflow / Pytorch 설치하는 방법 (0) | 2024.03.09 |
---|---|
Apple Silicon Macbook에서 PyTorch 설치하기 (0) | 2024.03.09 |
Windows에서 CUDA를 사용하도록 PyTorch 1.8 설치하는 방법 (0) | 2024.01.07 |
Windows에 CUDA Toolkit 11.8 cuDNN 8.7.0 Tensorflow 설치하는 방법 (4) | 2024.01.06 |
Windows에 CUDA Toolkit 11.2 cuDNN 8.1.0 Tensorflow 2.10 설치하는 방법 (0) | 2024.01.06 |
시간날때마다 틈틈이 이것저것 해보며 블로그에 글을 남깁니다.
블로그의 문서는 종종 최신 버전으로 업데이트됩니다.
여유 시간이 날때 진행하는 거라 언제 진행될지는 알 수 없습니다.
영화,책, 생각등을 올리는 블로그도 운영하고 있습니다.
https://freewriting2024.tistory.com
제가 쓴 책도 한번 검토해보세요 ^^
그렇게 천천히 걸으면서도 그렇게 빨리 앞으로 나갈 수 있다는 건.
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!