如何在QNAP TS-2888X 上使用 Fast.AI ?
Fast.AI 在 QNAP NAS上使用問題解決方式
Fast.AI 是一個很棒的線上課程,完整教學深度學習所需要的工具
https://www.fast.ai/
儲存設備廠商 QNAP 從前年開始就有持續再將儲存設備持續轉型,率先支援了Nvidia GPU,以及Intel OpenVINO 因此有關Fast.AI 的開發環境,我們也在QNAP NAS上做個測試。在距離資料最近的地方做運算,省掉網路的工,以NAS 高IOPS的特性來強化一下。
使用環境:
NAS : TS-2888X
作業系統: QTS 4.4.0.0820
主要測試Docker hub 上 關於Fast Ai 的image :
paperspace/fastai
https://hub.docker.com/r/paperspace/fastai
https://hub.docker.com/r/paperspace/fastai
Tag : 1.0-release
Fast.AI 網站 https://www.fast.ai/ online courses (all are free and have no ads):
software: fastai v1 for PyTorch以下以執行 example/dogs_cats.ipynb 做為測試
RuntimeError: DataLoader worker (pid 13) is killed by signal: Bus error.
參考解決方案 :
解決方案1(擴大shm-size)(僅限掛載一張卡,掛載多卡需另外處理)
- SSH 進 NAS,(進入方式參考 : https://www.qnap.com/en/how-to/knowledge-base/article/how-to-access-qnap-nas-by-ssh/)
- Command : GPU=nvidia0 gpu-docker run --name=Fastai --shm-size=16G -d -p 8888:8888 paperspace/fastai:1.0-release
(shm-size依據您的主記憶體做調整,建議為總記憶體的一半) - 開啟Container Station頁面,進入Fastai Container
- Command 畫面上有 token,複製 token 後點擊畫面上方URL連結,ex : http://192.168.1.1:8888
- 使用token登入Jupyter notebook後進行使用
解決方案2(降低同時處理數量)
- 使用Container Station建立 Fast.ai
- 修改Python code ,把 "num_workers=1" 加入到 DataLoader 參數內(可嘗試調整此值直到不會出現錯誤)
CUDA Out of Memory Error
參考解決方案 :
解決方案(減少batch size)
- 修改Python code ,把 "bs=16" 加入到 DataLoader 參數內(bs數字依據您的GPU Ram做調整,可嘗試調整此值直到不會出現錯誤)
缺少module
解決方案(使用指令安裝缺少的module)
- 進入Jupyter notebook頁面
- 開啟Terminal
- 輸入 pip install
EX : pip install dataclasses - 如果有該module 有需要其他的requires package,則繼續用pip install安裝
- 安裝完成後重新執行notebook cell
有任何問題歡迎留言一起討論
QNAP NAS 推薦文章:
留言
張貼留言
發表一下意見,互動一下唄!