筆記下目前抓寶的心得感想
重點
- TensorFlow 2.10 是最後一個原生 Windows 上支援 GPU 的 TensorFlow 版本 。
從 TensorFlow 2.11 開始,您需要在 WSL2 中安裝 TensorFlow, 或安裝或嘗試 TensorFlow-DirectML-Plugin
Install TensorFlow with pip - TensorFlow Docker 鏡像
已配置為運行 TensorFlow。Docker 容器在 虛擬環境,是設置 GPU 支援的最簡單方法。
安裝 TensorFlow 2 - 利用 Docker 可以用到目前最新 tensorflow 2.15 版本
- 記得執行 docker run 時增加選項
--gpus all
否則會顯示 0 GPU 哦!
前提
結論
Dockerfile
FROM tensorflow/tensorflow:latest-gpu
RUN python3 -m pip install --upgrade pip
WORKDIR /code
COPY requirements.txt /code/
RUN pip install -r requirements.txt
COPY . /code/
CMD python main.py
main.py
import tensorflow as tf
print("Num GPUs Available: ", len(tf.config.list_physical_devices('GPU')))
--gpus all
Output:
Num GPUs Available: 1
其中 main.py
可以替換成訓練用的 script
import tensorflow as tf
# 訓練程式碼...
另外 requirements.txt
裡面不需要 tensorflow<2.11
說明
- 安裝 Docker Desktop: The #1 Containerization Tool for Developers | Docker
- 安裝 Windows Subsystem for Linux - Microsoft 應用程式
- 安裝 Ubuntu - Microsoft Apps
- 建立 Dockerfile
- docker build
- docker run --gpus all
Dockerfile
FROM tensorflow/tensorflow:latest-gpu
CMD python -c "import tensorflow as tf; print('Num GPUs Available: ', len(tf.config.list_physical_devices('GPU')))"
docker build & run
docker build -t foo . && docker run --gpus all -it foo
Output:
Num GPUs Available: 1
備註
- NoteBook 有內顯要切獨顯來跑
- 獨顯有省電模式要切慣用最大效能 P0 來跑
- 可以指定掛載檔案路徑讓 Model 輸出時可以在外頭直接拿到新的檔案
例如輸出到 /output 並直接由 D:\models 看到輸出的模型 *.h5
docker run -v D:\models:/output
參照
參考來源
How to Deploy GPU-Accelerated Applications on Amazon ECS with Docker Compose | Docker