- Ubuntu20.04 amd64 Desktop
- NVIDIA GPU (GTX2080Ti / RTX3090 測試過可以)
- NVIDIA GPU Driver (525.105.17)
- Docker and NVIDIA Docker
- Visual Studio Code
- Git
- 硬碟與資料夾設定
-
開啟 terminal (Ctrl+Alt+T)
-
開啟欲下載程式碼的位置 (自己定義)
mkdir ~/code cd ~/code
-
下載程式碼
git clone https://github.com/simonyang0608/DeeperSimon.git
-
進入程式碼
cd ~/code/AnomalyDetection_MemSeg
-
建置 Docker Image
這個步驟會依照 ~/code/AnomalyDetection_MemSeg/Dockerfile 中定義的步驟進行, 必須加
--network=host因為過程中需要連網路下載檔案, 最後面的.也需要, 表示於當前目錄中執行sudo docker build --network=host -t anomalydetection-memseg .
- (optional) 解釋一下 Dockerfile 中安裝了什麼
Name Description nvidia/cuda:11.3.1-cudnn8-runtime-ubuntu20.04 OS with cuda/cudnn basic library 基本函式庫 nvidia-docker NVIDIA docker 函式庫 python3.8 Python pyTorch 1.10.1+cu111 PyTorch requirements.txt 會用到的第三方函式庫
-
創立 Docker Container
sudo docker create -i -t \ -v /mnt/HDD/:/mnt/HDD/ \ -v /mnt/SSD/:/mnt/SSD/ \ -v /home/:/home/ \ -v /home/:/home/ \ --shm-size 8G \ --gpus all \ -e TZ=Asia/Taipei \ -e NVIDIA_VISIBLE_DEVICES=0,1 \ --name anomalydetection-memseg anomalydetection-memsegName Description How to use -v 映射 volumn <host_path>:<container_path> -w 預設路徑 workdir <default_container_path> --shm-size 記憶體大小 預設為 8G, 使用上沒有什麼問題 --gpus GPU ID 設定 container 中可以使用哪些 GPU -e 環境變數 設定 NVIDIA_VISIBLE_DEVICES, 可以被看到哪些 GPU --name Image Name 這個 container 要採用哪個 Docker Image 最後一個 args (anomalydetection-memseg) Container Name 這個 container 的名稱
可以用指令確認是否創建成功
sudo docker ps -a
-
確認 python3 pip list
pip3 list
得到以下結果 :
Package Version ------------------------- -------------------- absl-py 1.4.0 altgraph 0.17.4 antlr4-python3-runtime 4.8 cachetools 4.2.4 certifi 2019.11.28 chardet 3.0.4 charset-normalizer 3.3.2 click 8.1.7 cmake 3.27.2 colorlog 6.7.0 contourpy 1.1.0 cycler 0.11.0 dbus-python 1.2.16 distro-info 0.23ubuntu1 docker-pycreds 0.4.0 filelock 3.12.2 fonttools 4.42.1 fvcore 0.1.5.post20221221 gitdb 4.0.10 GitPython 3.1.32 google-auth 1.35.0 google-auth-oauthlib 0.4.6 grpcio 1.57.0 hub-sdk 0.0.2 idna 2.8 imageio 2.31.1 importlib-metadata 6.8.0 importlib-resources 6.0.1 iopath 0.1.10 Jinja2 3.1.2 joblib 1.3.2 kiwisolver 1.4.4 lightning-utilities 0.10.1 lit 16.0.6 Markdown 3.4.4 MarkupSafe 2.1.3 matplotlib 3.7.2 mlxtend 0.22.0 mpmath 1.3.0 networkx 3.1 numpy 1.22.0 nvidia-cublas-cu11 11.10.3.66 nvidia-cuda-cupti-cu11 11.7.101 nvidia-cuda-nvrtc-cu11 11.7.99 nvidia-cuda-runtime-cu11 11.7.99 nvidia-cudnn-cu11 8.5.0.96 nvidia-cufft-cu11 10.9.0.58 nvidia-curand-cu11 10.2.10.91 nvidia-cusolver-cu11 11.4.0.1 nvidia-cusparse-cu11 11.7.4.91 nvidia-nccl-cu11 2.14.3 nvidia-nvtx-cu11 11.7.91 oauthlib 3.2.2 omegaconf 2.1.1 opencv-python 4.9.0.80 packaging 23.1 pandas 2.0.3 pathtools 0.1.2 Pillow 9.3.0 pip 20.0.2 plotly 5.6.0 portalocker 2.7.0 promise 2.3 protobuf 4.0.0rc2 psutil 5.9.5 py-cpuinfo 9.0.0 pyasn1 0.5.0 pyasn1-modules 0.3.0 pycocotools 2.0.6 PyGObject 3.36.0 pyinstaller 6.3.0 pyinstaller-hooks-contrib 2023.10 pyparsing 3.0.9 python-apt 2.0.1+ubuntu0.20.4.1 python-dateutil 2.8.2 pytz 2023.3 PyWavelets 1.4.1 PyYAML 6.0 requests 2.31.0 requests-oauthlib 1.3.1 requests-unixsocket 0.2.0 rsa 4.9 scikit-image 0.19.1 scikit-learn 1.0.2 scipy 1.10.1 seaborn 0.13.1 sentry-sdk 1.29.2 setuptools 45.2.0 shortuuid 1.0.11 six 1.14.0 smmap 5.0.0 sympy 1.12 tabulate 0.9.0 tenacity 8.2.3 tensorboard 2.5.0 tensorboard-data-server 0.6.1 tensorboard-plugin-wit 1.8.1 tensorboardX 2.3 termcolor 2.3.0 thop 0.1.1.post2209072238 threadpoolctl 3.2.0 tifffile 2023.7.10 torch 1.10.1+cu111 torchaudio 0.10.1+cu111 torchsummary 1.5.1 torchvision 0.11.2+cu111 tqdm 4.66.1 triton 2.0.0 typing-extensions 4.9.0 tzdata 2023.3 unattended-upgrades 0.1 urllib3 2.0.4 wandb 0.12.10 werkzeug 2.3.7 wheel 0.34.2 yacs 0.1.8 yaspin 2.5.0 zipp 3.16.2
-
下載並安裝 Nvidia 驅動裝置 (driver)
See Install Ubuntu20.04 NVIDIA Driver for more details. 如果已經安裝過了, 可以跳過這個步驟
-
下載並安裝 CUDA 11.3.1 版本
-
下載並安裝 python 3.8 版本
sudo apt-get install python3.8 sudo apt-get install python3.8-dev sudo apt-get install python3.8-distutils sudo apt-get install python3.8-venv
-
創立 python3 virtual environment (i.e. 虛擬環境)
mkdir ~/venv cd ~/venv virtualenv -p python3.8 ANOMALYDETECTION_MEMSEG
-
Activate 並進入 python3 virtual environment
source ~/venv/ANOMALYDETECTION_MEMSEG/bin/activate
-
安裝 pytorch 1.10.1 + cu111 版本套件/框架
pip3 install torch==1.10.1+cu111 torchvision==0.11.2+cu111 torchaudio==0.10.1 -f https://download.pytorch.org/whl/cu111/torch_stable.html
-
安裝其他 python3 套件/框架
cd ~/IAIoT/CodeBase/AnomalyDetection_MemSeg pip3 install -r requirements.txt
-
確認 python3 pip list
pip3 list
得到以下結果 :
Package Version ----------------------- -------------------- absl-py 2.1.0 antlr4-python3-runtime 4.8 cachetools 4.2.4 certifi 2024.6.2 charset-normalizer 3.3.2 click 8.1.7 colorlog 6.7.0 contourpy 1.1.1 cycler 0.12.1 docker-pycreds 0.4.0 fonttools 4.53.0 fvcore 0.1.5.post20221221 gitdb 4.0.11 GitPython 3.1.43 google-auth 1.35.0 google-auth-oauthlib 0.4.6 grpcio 1.64.1 idna 3.7 imageio 2.34.1 importlib_metadata 7.1.0 importlib_resources 6.4.0 iopath 0.1.10 joblib 1.4.2 kiwisolver 1.4.5 Markdown 3.6 MarkupSafe 2.1.5 matplotlib 3.7.5 mlxtend 0.22.0 networkx 3.1 numpy 1.22.0 oauthlib 3.2.2 omegaconf 2.1.1 opencv-python 4.3.0.38 packaging 24.1 pandas 2.0.3 pathtools 0.1.2 Pillow 9.3.0 pip 24.0 plotly 5.6.0 portalocker 2.8.2 promise 2.3 protobuf 4.0.0rc2 psutil 5.9.8 pyasn1 0.6.0 pyasn1_modules 0.4.0 pycocotools 2.0.6 pyparsing 3.1.2 python-dateutil 2.9.0.post0 pytz 2024.1 PyWavelets 1.4.1 PyYAML 6.0 requests 2.32.3 requests-oauthlib 2.0.0 rsa 4.9 scikit-image 0.19.1 scikit-learn 1.0.2 scipy 1.10.1 sentry-sdk 2.5.1 setuptools 69.5.1 shortuuid 1.0.13 six 1.16.0 smmap 5.0.1 tabulate 0.9.0 tenacity 8.3.0 tensorboard 2.5.0 tensorboard-data-server 0.6.1 tensorboard-plugin-wit 1.8.1 tensorboardX 2.3 termcolor 2.4.0 thop 0.1.1.post2209072238 threadpoolctl 3.5.0 tifffile 2023.7.10 torch 1.10.1+cu111 torchaudio 0.10.1+cu111 torchsummary 1.5.1 torchvision 0.11.2+cu111 tqdm 4.62.3 typing 3.6.2 typing_extensions 4.12.2 tzdata 2024.1 urllib3 2.2.1 wandb 0.12.10 Werkzeug 3.0.3 wheel 0.43.0 yacs 0.1.8 yaspin 2.5.0 zipp 3.19.2
-
(Optional) 若需要退出 python3 virtual environment, 可以輸入以下指令
deactivate









