Docker部署nnunetv2的實(shí)現(xiàn)步驟
前言:感覺一些教程沒必要說那么多,直接貼出重點(diǎn)的配置文件。如果有不懂的,可以把此文檔丟給gpt,配合自己的環(huán)境一同服用。
首先,在 nnunet
路徑下創(chuàng)建一個 Dockerfile
。
由于我已經(jīng)完成了 nnUNet
的訓(xùn)練,所以不需要將相關(guān)數(shù)據(jù)全部上傳到容器中,而是只保留源碼。
# 使用適當(dāng)?shù)幕A(chǔ)鏡像(如 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 # 設(shè)置工作目錄 WORKDIR /workspace # 將項(xiàng)目代碼復(fù)制到容器中 COPY ./nnunetv2 /workspace COPY requirements.txt /workspace # 安裝項(xiàng)目依賴 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" # 默認(rèn)啟動命令 CMD ["/bin/bash"]
構(gòu)建
docker build -t nnunet_docker:0.0.1 .
需要注意的是,nnUNet
已經(jīng)更新到了 v2 版本,因此環(huán)境變量名稱也發(fā)生了變化。相比于舊版,v2 版本的環(huán)境變量已經(jīng)不再是:
# 舊版配置 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]
部分,可能會導(dǎo)致錯誤,可以直接刪除這一部分。
在構(gòu)建好鏡像后,運(yùn)行以下命令啟動容器:
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)聽腳本進(jìn)行部署,因此需要額外映射端口。
到此這篇關(guān)于Docker部署nnunetv2的實(shí)現(xiàn)步驟的文章就介紹到這了,更多相關(guān)Docker部署nnunetv2內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Docker?+?jenkins項(xiàng)目打包鏡像部署詳細(xì)步驟(親測有效)
- Docker部署RocketMQ超詳細(xì)步驟(圖文并茂)
- idea使用docker插件一鍵部署項(xiàng)目的操作方法
- Docker部署Ragflow(完美解決502 bad gateway)
- 使用Docker部署Gitblit服務(wù)器的詳細(xì)指南
- 使用Docker部署Nginx并掛載目錄詳解
- docker desktop實(shí)現(xiàn)一分鐘部署searxng
- Docker方式部署OceanBase數(shù)據(jù)庫的完整步驟
- Docker容器部署Java項(xiàng)目的自動化腳本
- Docker部署B(yǎng)Iind9 DNS服務(wù)器過程
相關(guān)文章
docker修改容器內(nèi)存大小的實(shí)現(xiàn)方式
我們使用docker時,經(jīng)常會遇到docker容器使用內(nèi)存大于docker宿主機(jī)內(nèi)存,導(dǎo)致宿主機(jī)奔潰,從而影響其他宿主機(jī)上容器的運(yùn)行,下面這篇文章主要給大家介紹了關(guān)于docker修改容器內(nèi)存大小的相關(guān)資料,需要的朋友可以參考下2022-09-09Docker Compose 輕松管理多容器應(yīng)用小結(jié)
Docker Compose 是管理多容器應(yīng)用的利器,通過一個簡單的 YAML 文件,開發(fā)者可以輕松定義服務(wù)、網(wǎng)絡(luò)和數(shù)據(jù)卷的配置,這篇文章主要介紹了Docker Compose :輕松管理多容器應(yīng)用,需要的朋友可以參考下2024-12-12Docker跨服務(wù)器通信Overlay解決方案(上)之 Consul單實(shí)例
這篇文章主要介紹了Docker跨服務(wù)器通信Overlay解決方案(上)之 Consul單實(shí)例,本文通過場景分析實(shí)例代碼相結(jié)合給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-12-12Dockerfile中multi-stage(多階段構(gòu)建)詳解
在2017年5月3日即將發(fā)行的 Docker 17.05.0-ce 中,Docker 官方提供了簡便的多階段構(gòu)建 (multi-stage build) 方案,下面這篇文章主要給大家介紹了關(guān)于Dockerfile中multi-stage(多階段構(gòu)建)的相關(guān)資料,需要的朋友可以參考借鑒,下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。2018-03-03利用Docker搭建Laravel開發(fā)環(huán)境的完整步驟
這篇文章主要給大家介紹了關(guān)于如何利用Docker搭建Laravel開發(fā)環(huán)境的完整步驟,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用Laravel具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09解決docker安裝完成報(bào):bridge-nf-call-iptables is disabled問題
這篇文章主要介紹了解決docker安裝完成報(bào):bridge-nf-call-iptables is disabled問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-11-11Docker容器網(wǎng)絡(luò)地址的創(chuàng)建修改
Docker提供了一個方便的方式來配置容器的網(wǎng)絡(luò)地址,在本文中,我們將介紹如何修改Docker容器的網(wǎng)絡(luò)地址,本文主要介紹了Docker容器網(wǎng)絡(luò)地址的創(chuàng)建修改,感興趣的可以了解一下2024-01-01