Docker 應用到 Machine Learning
Posted on June 26, 2023 by Allen
Self-learning
Container
TensorFlow Container 使用
假設我們要開發的環境需要以下套件
- Ubuntu 20.04
- tensorflow
- jupyter notebook
- matplotlib
沒有 Tensorflow Container | 有 Tensorflow Container |
---|---|
1. 抓取 Ubuntu image | 1. 抓取 NVIDIA NGC tensorflow image |
2. 安裝 python | --- |
3. 安裝 tensorflow | --- |
4. 安裝套件 | --- |
什麼是 TensorFlow Containers?
NVIDIA NGC Catalog
- TensorFlow image 可以由 NVIDIA NGC 下載,提供了加速工作流程的 GPU 加速軟體
- 性能優化的容器
- 預先訓練的 AI 模型
- 特定產業的 SDK
MNIST with TensorFlow DEMO
1. 從 NGC 抓取需要版本的 tensorflow container
2. Run container: docker run --ipc=host --gpus all -it -p 8888:8888 --rm -v <本機位置>:<容器位置> nvcr.io/nvidia/tensorflow:22.10-tf1-py3
- --ipc=host: 代表與 host 共用記憶體空間
- --gpus all:代表要啟動 CUDA,且取得所有的 host’s GPU
- --rm:離開容器自動刪除容器
3. 開啟 jupyter notebook: jupyter notebook --allow-root --no-browser --ip=0.0.0.0
- --allow-root:系統管理員權限
- --no-browser:不要自動開啟瀏覽器
- --ip=0.0.0.0:可以從各個 ip 連入
4. 檢查是否有啟動 CUDA 加速
5. 透過 GPU 加速訓練模型
Image to docker hub
什麼是 Docker Hub?
- Docker Hub 類似 GitHub
- 存放各式各樣的 images
- 開發者可以存取自己的或是公開的 images
Docker Hub 操作步驟
1. 註冊 docker hub 帳號
6. push 到 docker hub