Author : @juirmin <style> img{ width:50vw; margin:10px; } </style> <div style="display:flex;"> <svg role="ITALAB" width="32" height="32" viewBox="0 0 325 246" fill="none" xmlns="http://www.w3.org/2000/svg"> <path fill-rule="evenodd" clip-rule="evenodd" d="M235 0H89.5L81 22H147L65.5 246H111L192.5 22H243L235 0Z" fill="#B7A978"/> <path d="M75 40H121L46.5 246H0L75 40Z" fill="black"/> <path d="M250 40H204L278.5 246H325L250 40Z" fill="black"/> <path d="M167.613 147H242.703L258.613 191H151.613L167.613 147Z" fill="black"/> </svg> <p style="margin-top:5px;margin-left:5px;"> ITALAB </p> </div> # Deep Learning Training Environment Creat 注意事項 ## Ubuntu Drivers 安裝 1. `sudo apt update` 1. `sudo apt upgrade` 1. `sudo ubuntu-drivers install` 執行完上述步驟後安裝獨立顯卡驅動器 先透過`ubuntu-drivers devices`查看適合自己的Driver  選取一個適合的,如 :`sudo apt install nvidia-driver-535` :::danger 接下來有可能不會出現下面的畫面 ::: :::info 安裝過程中會設置 boot password 要記住密碼,等等會用到 ::: 安裝完成後重新開機會看到以下畫面,請務必按照以下步驟  1. 選擇 enroll mok 2. 選擇 continue 3. 選擇 yes 4. 輸入剛剛設定的 boot password 5. 接著 reboot 完成以上步驟後即可測試`nvidia-smi` ### 安裝失敗 1. sudo apt purge nvidia-* 2. sudo apt autoremove ## Docker 為了避免過往的套件與現存套件產生衝突,或任何不必要的資源殘留,我們在訓練前通常會需要format電腦,確保每次進行實驗皆能擁有乾淨的環境。也方便未來在撰寫環境時能輕易地整理出需要的資訊。 而一個完整的、乾淨的訓練環境,必須包含CUDA、Python3以及相關套件(Pytorch、Keras和Tensorflow)。在那之前我們還必須先安裝Ubuntu等OS在主機上,過於耗費時間。因此,我們使用[Docker](https://aws.amazon.com/tw/docker/)作為基礎架設實驗環境。 ### 安裝Docker 更新Update list: ``` bash distribution=$(. /etc/os-release;echo $ID$VERSION_ID) \ && curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add - \ && curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list ``` 安裝 Docker ``` bash sudo apt-get update sudo apt-get install -y nvidia-docker2 sudo systemctl restart docker ``` 確認 Docker ``` sudo docker run --rm --runtime=nvidia --gpus all nvidia/cuda:11.6.2-base-ubuntu20.04 nvidia-smi ``` 本 [ITALAB](https://hub.docker.com/r/juirmin/italab/tags) 系列在 [nvcr.io](https://catalog.ngc.nvidia.com/orgs/nvidia/containers/tensorflow) 所釋出的Images上進行一系列小幅度的調整(安裝opencv、調整使用者等),方便未來使用者即便在不熟悉linux的情況下也能快速上手。 ### 將 User 加入 docker group 使用`getent group`即可確認Group list裡是否有docker  接著透過`sudo gpasswd -a $USER docker`將使用者加入docker群組中 可以使用`newgrp docker`更新docker群組狀態 ## 執行ITALAB Docker環境 在完成Docker安裝後,只須執行以下指令即可快速建立所需環境 ``` bash cd ~ #進入使用者的專屬資料夾 mkdir MyFloder #建立一個名稱為MyFloder的資料夾 ``` ### tensorflow ``` bash docker run --ipc=host --gpus all -it --rm -v ~/MyFloder:/MyFloder juirmin/italab:juirmin-0.1 ``` ### torch ``` docker run --ipc=host --gpus all -it --rm -v ~/MyFloder:/MyFloder juirmin/italab:22.01-torch ``` :::warning 如果要確認有沒有成功連接到GPU,可以在<font color='red'>**Emulator內**</font>執行 `nvidia-smi` ::: * Docker 指令介紹 | 指令 | 解釋 | |:-----------------------:|:------------------------------------------------------------------:| | -v ~/MyFloder:/MyFloder | 將本機端上的~/MyFloder與Docker上的/MyFloder同步 | | --ipc=host | Use the host system’s IPC namespace. | | --gpus all | 將主機上的 GPU 控制權<font color='red'>全部</font >轉移至Docker上 | * SSH Docker專區 | command | discribe | | ------------------------------ |:--------------------- | | docker images | 查看現有的image | | docker image rm -f <images_id> | 刪除image | | docker container ls | 查看執行中的container | | docker attach <container_id> | 加入container | 更多關於Docker的介紹可以參考以下幾篇 [撰寫Dockerfile](https://hackmd.io/@TUOoRfcaRqKKblaFNrq36A/dockerfile)、 [Docker & Container 介紹](https://hackmd.io/@TUOoRfcaRqKKblaFNrq36A/docker)、 [安裝 docker & docker-compose on Ubuntu18.04](https://hackmd.io/@TUOoRfcaRqKKblaFNrq36A/install_docker)、 [docker-compose 啟動多個容器](https://hackmd.io/@TUOoRfcaRqKKblaFNrq36A/composeyml) ### [CUBLAS_WORKSPACE_CONFIG DOC](https://docs.nvidia.com/cuda/cublas/) ###### tags: `Deep Learning` `Docker`
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up