環境設定 ( 本機跟雲端 )
先說這個方法比較取巧且隨意, 不過這是我在本機上能運作的方法
安裝後需將 docker 使用者權限修改以方便之後vscode的載入,請運行 sudo usermod -aG docker $USER(在這邊請修改成你的使用者名稱)
Dockerfile 的內容:
# 使用官方的 tensorflow GPU image 作為基礎
FROM tensorflow/tensorflow:nightly-gpu-jupyter
# 安裝 pytorch GPU 版本
RUN pip3 install torch torchvision torchaudio - index-url https://download.pytorch.org/whl/cu118
到資料夾內運行 docker build -t torch_flow .
(這個torch_flow可改成任意你想要的名字)
之後就是運行 docker run <你build的container ID>
在去官網安裝完 VsCode 以及在裡面的插件安裝 Dev container 之後,當docker運行時 VsCode 便能找到正在運作的Docker。
點擊左下角的綠色圖示後,在點擊連結正在運作的容器,先跳到那個docker的隔離空間後,你便能在Docker 裏面運行py檔。下面的程式碼是為了測試是否 tensorflow 跟pytorch 是否能正常運作。
import tensorflow as tf
import torch
print(tf.reduce_sum(tf.random.normal([1000,1000])))
x = torch.rand(5,3)
print(torch.cuda.is_available())
只要你能跳到 Vscode 裡的 container 空間跑上面那段程式碼且沒問題的話,設置便成功了。
這大概是目前 Ubuntu 上我設置過最快的方法,有需要初始預裝其他軟體的話直接在 dockerfile 裡加就可以了, 不過最好先看下基礎 images 裡面做了啥設定,以避免衝突。
這邊也是使用 Docker 的方式去設置,主要參考這篇Blog
按照下圖的方法打開power schell之後,輸入 wsl --install
docker run -it --rm -p 8888:8888 --gpus all tensorflow/tensorflow:latest-gpu-jupyter之後他會請你輸入 Username 跟 password,
當設置好之後重開時大概就可以了。
安裝完之後能測試下是否你的環境是能正常運作的。
輸入指令 docker run -it --rm -p 8888:8888 --gpus all tensorflow/tensorflow:latest-gpu-jupyter
,在運行成功之後按照他的提示 CTRL + 點擊 那幾個程式提供的連結,
然後輸入
import tensorflow as tf
tf.config.list_physical_devices()
假如程式顯示有抓到硬體裝置的話,就是成功的了,接下來就是設置實際的開發環境。
先進到一個你新創建的資料夾內,新建一個requirements.txt。
裡面寫上
jupyterlab
pandas
matplotlib
再創建一個Dockerfile,內容如下:
FROM tensorflow/tensorflow:latest-gpu
WORKDIR /tf-torch # This specifies the directory to work
RUN pip3 install --upgrade pip
COPY requirements.txt /requirements.txt
RUN pip3 install --upgrade -r /requirements.txt
# 安裝 pytorch GPU 版本
RUN pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
EXPOSE 8888
ENTRYPOINT ["jupyter", "lab","--ip=0.0.0.0","--allow-root","--no-browser"]
以及docker-compose.yaml
services:
jupyter-lab:
build: .
ports:
- "8888:8888"
volumes:
- ./tf-torch:/tf-torch
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: 1
capabilities: [gpu]
接下來運行
docker build .
docker-compose up
假如點擊程式提供的連結並能運作的話,即是設置成功了。
由於我這邊只有 M1 的平民版Mac,所以我這邊只能介紹這個環境下的安裝方法,請見諒!!
MacOS 12版本可依照下列鏈結的方式安裝即可
https://developer.apple.com/metal/tensorflow-plugin/
目前舊版本的tensorflow-macos以及plugin-metal只支援到Mac OS 12,沒有支援到13。
pytorch的方式按照下面連結安裝就可以了。
https://pytorch.org/get-started/locally/
這個就不解釋了,免費以及最為人所熟知的平台,直接找到網站就能用了,不過要能在上面跑.py檔,就需要先將檔案先上傳到Google Drive,然後跟 Colabs 設定同步,或直接上傳後運行!python 檔案.py
這個平台感覺是很多人使用stable diffusion的平台之一,這個平台也能比較傻瓜式的使用image登入jupter-notebook,基本可以無腦入門,後續我再補上ssh連接的設置。
這個需要用微信跟阿里支付,不過運行的方式很像上述那兩個網站,也分使用 Jupter- notebook 跟 ssh,操作也挺傻瓜式的,大概看著指示操作就是可以了。
其實還有很多GPU雲可以使用,像是Coreweave, Linode, Vultr, Paperspace, Lambda Labs, gpushare,有興趣的可以自己嘗試這些平台看看。