Docker部署nnunetv2的實現步驟
前言:感覺一些教程沒必要說那么多,直接貼出重點的配置文件。如果有不懂的,可以把此文檔丟給gpt,配合自己的環(huán)境一同服用。
首先,在 nnunet
路徑下創(chuàng)建一個 Dockerfile
。
由于我已經完成了 nnUNet
的訓練,所以不需要將相關數據全部上傳到容器中,而是只保留源碼。
# 使用適當的基礎鏡像(如 pytorch 官方鏡像) FROM pytorch/pytorch:latest # 更新 apt-get 并安裝必要的工具和庫 RUN apt-get update && apt-get install -y vim \ && apt-get install -y --no-install-recommends \ python3-pip \ python3-setuptools \ build-essential \ && apt-get clean \ && python -m pip install --upgrade pip # 設置工作目錄 WORKDIR /workspace # 將項目代碼復制到容器中 COPY ./nnunetv2 /workspace COPY requirements.txt /workspace # 安裝項目依賴 RUN pip install --no-cache-dir -r requirements.txt RUN pip install nnunetv2 # 配置 nnUNet 的環(huán)境變量 ENV nnUNet_raw="/workspace/nnUNet_raw" ENV nnUNet_preprocessed="/workspace/nnUNet_preprocessed" ENV nnUNet_results="/workspace/nnUNet_trained_models" # 默認啟動命令 CMD ["/bin/bash"]
構建
docker build -t nnunet_docker:0.0.1 .
需要注意的是,nnUNet
已經更新到了 v2 版本,因此環(huán)境變量名稱也發(fā)生了變化。相比于舊版,v2 版本的環(huán)境變量已經不再是:
# 舊版配置 ENV nnUNet_raw_data_base="/workspace/DATASET/nnUNet_raw" ENV nnUNet_preprocessed="/workspace/DATASET/nnUNet_preprocessed" ENV RESULTS_FOLDER="/workspace/DATASET/nnUNet_trained_models"
以下是我所使用的 requirements.txt
文件:
torch>=2.1.2 acvl-utils<0.3,>=0.2 dynamic-network-architectures<0.4,>=0.3.1 tqdm dicom2nifti scipy batchgenerators>=0.25 numpy scikit-learn scikit-image>=0.19.3 SimpleITK>=2.2.1 pandas graphviz tifffile requests nibabel matplotlib seaborn imagecodecs yacs batchgeneratorsv2>=0.2 einops flask black ruff pre-commit
需要注意的是,原版的 requirements.txt
文件中包含了一個 [dev]
部分,可能會導致錯誤,可以直接刪除這一部分。
在構建好鏡像后,運行以下命令啟動容器:
docker run --rm -it --gpus all \ -v /data/xtx/nnUNet/nnUNetFrame/DATASET/nnUNet_raw:/workspace/nnUNet_raw \ -v /data/xtx/nnUNet/nnUNetFrame/DATASET/nnUNet_preprocessed:/workspace/nnUNet_preprocessed \ -v /data/xtx/nnUNet/nnUNetFrame/DATASET/nnUNet_trained_models:/workspace/nnUNet_trained_models \ -p 5000:5000 \ --ipc=host nnunet_docker:0.0.1
這里由于我使用了一個監(jiān)聽腳本進行部署,因此需要額外映射端口。
到此這篇關于Docker部署nnunetv2的實現步驟的文章就介紹到這了,更多相關Docker部署nnunetv2內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Docker跨服務器通信Overlay解決方案(上)之 Consul單實例
這篇文章主要介紹了Docker跨服務器通信Overlay解決方案(上)之 Consul單實例,本文通過場景分析實例代碼相結合給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-12-12Dockerfile中multi-stage(多階段構建)詳解
在2017年5月3日即將發(fā)行的 Docker 17.05.0-ce 中,Docker 官方提供了簡便的多階段構建 (multi-stage build) 方案,下面這篇文章主要給大家介紹了關于Dockerfile中multi-stage(多階段構建)的相關資料,需要的朋友可以參考借鑒,下面隨著小編來一起學習學習吧。2018-03-03利用Docker搭建Laravel開發(fā)環(huán)境的完整步驟
這篇文章主要給大家介紹了關于如何利用Docker搭建Laravel開發(fā)環(huán)境的完整步驟,文中通過示例代碼介紹的非常詳細,對大家學習或者使用Laravel具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧2019-09-09解決docker安裝完成報:bridge-nf-call-iptables is disabled問題
這篇文章主要介紹了解決docker安裝完成報:bridge-nf-call-iptables is disabled問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-11-11