nnUnetV1 详细使用方法
在mac中连接服务器,先进入跳板机,只需要打开终端,输入
ssh ywy@182.44.113.52
第一次连接时会询问yes/no,选择yes. 进入跳板机后,输入以下命令进入我的文件夹
cd RL_W_Group/YuWang/
这里我们用nnunet举例子,先进入以下文件夹中操作
cd RL_W_Group/YuWang/YuWang/YuWang_Unet/
首先在本地机器中下载数据,网站是
https://msd-for-monai.s3-us-west-2.amazonaws.com/Task02_Heart.tar
这里我将其保存到本地路径/Users/yu/Work/Unet/Task02_Heart
接下来,我们从本地将文件传输到跳板机中,在本地终端中使用如下命令
scp -r /Users/yu/Work/Unet/Task02_Heart ywy@182.44.113.52:/home/ywy/RL_W_Group/YuWang/YuWang/YuWang_Unet
此时我们已经将数据文件准备妥当,其存放在RL_W_Group/YuWang/YuWang/YuWang_Unet/路径下的Task02_Heart文件当中。
接下来是配置环境,这里我们直接在跳板机上配置环境并打包。
我们可以查看一下当前有哪些conda环境
conda env list
此时返回的是
(base) ywy@ecm-cfe1-0003://home/ywy/RL_W_Group/YuWang/YuWang/YuWang_Unet/Task02_Heart$ conda env list
# conda environments:
#
base * /home/ywy/RL_W_Group/AngDong/software/anconda3
MolGraphEnv-2.0 /home/ywy/RL_W_Group/AngDong/software/anconda3/envs/MolGraphEnv-2.0
YuWang /home/ywy/RL_W_Group/AngDong/software/anconda3/envs/YuWang
ddaa /home/ywy/RL_W_Group/AngDong/software/anconda3/envs/ddaa
example /home/ywy/RL_W_Group/AngDong/software/anconda3/envs/example
ghypy37 /home/ywy/RL_W_Group/AngDong/software/anconda3/envs/ghypy37
ghypy38 /home/ywy/RL_W_Group/AngDong/software/anconda3/envs/ghypy38
m_env /home/ywy/RL_W_Group/AngDong/software/anconda3/envs/m_env
pym /home/ywy/RL_W_Group/AngDong/software/anconda3/envs/pym
r_env /home/ywy/RL_W_Group/AngDong/software/anconda3/envs/r_env
tanyj23_env /home/ywy/RL_W_Group/AngDong/software/anconda3/envs/tanyj23_env
xier /home/ywy/RL_W_Group/AngDong/software/anconda3/envs/xier
yuwang /home/ywy/RL_W_Group/AngDong/software/anconda3/envs/yuwang
我已经配置好了名为YuWang的环境,主要是nnunet的东西。配置的流程可以参考:
conda create -n YuWang python=3.8
conda activate YuWang
pip install nnunet
接下来将这个环境打包,使用命令
conda pack -n YuWang -o /home/ywy/RL_W_Group/YuWang/YuWang/YuWang_Unet/YuWang.tar.gz
此时我们已经将环境文件准备妥当,其存放在RL_W_Group/YuWang/YuWang/YuWang_Unet/路径下的YuWang.tar.gz文件当中。
接下来,我们将其传输到计算节点中
环境:
scp /home/ywy/RL_W_Group/YuWang/YuWang/YuWang_Unet/YuWang.tar.gz ywy@172.16.0.14:/home/ywy/RL_W_Group/YuWang/YuWang/YuWang_Unet/env/
数据:
scp -r /home/ywy/RL_W_Group/YuWang/YuWang/YuWang_Unet/Task02_Heart ywy@172.16.0.14:/home/ywy/RL_W_Group/YuWang/YuWang/YuWang_Unet/data/
接下来进入计算节点
ssh ywy@172.16.0.14
进入环境文件,解压并激活
cd RL_W_Group/YuWang/YuWang/YuWang_Unet/env/
tar -xzf YuWang.tar.gz
source /home/ywy/RL_W_Group/YuWang/YuWang/YuWang_Unet/env/bin/activate
配置环境变量, 打开 ~/.bashrc 文件:
vim ~/.bashrc
文件底部添加以下内容,直接按 i 键可以对文件进行修改
export nnUNet_raw_data_base="$HOME/RL_W_Group/YuWang/YuWang/YuWang_Unet/nnUNet_raw"
export nnUNet_preprocessed="$HOME/RL_W_Group/YuWang/YuWang/YuWang_Unet/nnUNet_preprocessed"
export RESULTS_FOLDER="$HOME/RL_W_Group/YuWang/YuWang/YuWang_Unet/nnUNet_trained_models"
export nnUNet_raw="$HOME/RL_W_Group/YuWang/YuWang/YuWang_Unet/nnUNet_raw"
export nnUNet_preprocessed="$HOME/RL_W_Group/YuWang/YuWang/YuWang_Unet/nnUNet_preprocessed"
export nnUNet_results="$HOME/RL_W_Group/YuWang/YuWang/YuWang_Unet/nnUNet_trained_models"
在 vim 中,按 Esc 键,然后输入 :wq 保存并退出。
更新.bashrc文件:
source ~/.bashrc
验证环境变量是否正确设置:应该打印出正确的文件夹
echo $nnUNet_raw
echo $nnUNet_preprocessed
echo $nnUNet_results
在/home/ywy/RL_W_Group/YuWang/YuWang/YuWang_Unet/data/中使用
mkdir -p $nnUNet_raw_data_base/nnUNet_raw_data
mv Task02_Heart $nnUNet_raw_data_base/nnUNet_raw_data/
运行以下命令将数据格式转换为 nnUNet 的格式:
nnUNet_convert_decathlon_task -i $nnUNet_raw_data_base/nnUNet_raw_data/Task02_Heart
数据预处理
nnUNet_plan_and_preprocess -t 002 --verify_dataset_integrity
模型训练,训练 2D U-Net 模型:
nnUNet_train 2d nnUNetTrainerV2 Task002_Heart 3
模型推理,使用训练好的模型进行推理:
nnUNet_predict -i INPUT_FOLDER -o OUTPUT_FOLDER -t 002 -m 2d
把计算节点的文件传输回到跳板机的命令,在跳板机上执行
scp ywy@172.16.0.14:/home/ywy/RL_W_Group/YuWang/YuWang/YuWang_Unet/data/progress.png /home/ywy/RL_W_Group/YuWang/YuWang/YuWang_Unet/
把跳板机的文件传回本地,在本地执行:
scp ywy@182.44.113.52:/home/ywy/RL_W_Group/YuWang/YuWang/YuWang_Unet/progress.png /Users/yu/Work/Unet/

浙公网安备 33010602011771号