首页 > 其他分享 >3D UX-net 训练记录

3D UX-net 训练记录

时间:2023-06-07 16:48:57浏览次数:48  
标签:UX Net -- 文件夹 output net main 3DUX 3D

3D UX-net 训练记录

题外话:如果自己跑过nnunet或者其他模型的大佬会更容易上手,但是对于第一次跑模型的小白来说,这个模型也是很好上手和跑通的!本人就是小白,这是我跑通的第一个模型。

首先先去官网下载所需的代码和论文(跑之前可以先不看论文,我就是)

官网:GitHub - MASILab/3DUX-Net

image-20230607144455708

我自己电脑可以用 Download ZIP 直接下载,并且很快,如果下不了可以尝试复制 github 链接去 git 里面下载!这个也非常快!

下载完代码以后解压,通过 Xftp 上传到你的服务器里面。

image-20230607153002530

下完代码以后可以去看 README.md ,打开就是这样的:

image-20230607145200503

这里插个题外话,在 3DUX-Net 大标题下面有一个 Issues ,这个是广大亲爱的网友们在跑这个模型时出现的问题。一般建议是,出现的问题讨论越多越好,因为可能你也会出现那些问题,这样你大部分就可以根据里面的回答就解决了,不用再去搜怎么解决。因为这个是2023年刚出的,所以才 8 个讨论。

现在我们还不需要看网络架构,往下翻,可以找到 Installation ,也就是安装说明,这里面会告诉你需要安装什么环境。

image-20230607150041887

点开 INSTALL.md 这个可以看到首先我们需要安装 Conda 环境:如果还没有装 anaconda 的或者环境还不会搭的,可以看我的之前的文章哦!~

在这里:环境安装(anaconda+pycharm+pytorch) - Ray-Z - 博客园 (cnblogs.com)

conda create -n uxnet3d python=3.8
conda activate uxnet3d

创建好一个叫 uxnet3d 的虚拟环境,后面的操作都在这个环境里面。

环境创建好以后,记得打开这个环境!!!

conda activate uxnet3d

然后就是装 PyTorch 了,这个需要和你的 CUDA 版本相对应,如果你只装 cpu 版的就不用这么麻烦了,具体怎么装,在我之前的文章也有写哦~

在这里:环境安装(anaconda+pycharm+pytorch) - Ray-Z - 博客园 (cnblogs.com)

题外话:这个模型虽然很新,但是它可以根据你自己的 CUDA 版本装对应的 PyTorch ,没有指定 PyTorch 版本就很好,在跑这个模型之前,我跑了 nnunet v2 ,他就对 PyTorch 有要求,而我可用的服务器的 CUDA 又比较低,所以还没有跑通。

装好 PyTorch 后,就可以进行下一步,装 monai 这个包。

pip install monai==0.9.0

这个装完以后就需要去代码文件夹下,有一个 requirements.txt ,一般可以先打开看一下以后需要装什么,有没有你装过的,装过的就需要删掉。

image-20230607153153496

打开 Xshell ,之前我们已经进入这个环境了,所以括号里面是你当前虚拟环境的名字,后面的 ~ 符号,表示在你主文件下,可以理解为就是桌面,没有再退出的操作了,ll 可以查看你主文件夹下有哪些文件,我们看到了 3DUX-Net-main 的文件夹,然后 cd 进去就可以了,后面的 ~ 就变成了 3DUX-Net-main 文件夹名字。

ll
cd 3DUX-Net-main/

image-20230607153512583

然后我们安装 requirements.txt

pip install -r requirements.txt

这些都下完以后基本上环境就搭好了,后面还缺什么运行需要你安装什么再说。

然后是文件架构,主页也给你写出来了,你照着这个建文件夹就行了。

image-20230607154204701

我大概建的就是这个样子,我的 BTCV2017 是随便取的(因为训练的是自己的数据集),但是最好也是字母加数字的形式,并且字母都要大写哦。

image-20230607154325707

image-20230607154341373

然后就是训练了,因为我是训练自己的数据集,所以自己取了个名字,这里他提供了三个数据集,一个脑部(FeTA 2021)的两个腹部(FLARE 2021 、AMOS 2022)的。我和 FeTA 接近,所以选了这个训练。

image-20230607154634533

首先你需要下载权重。三个数据集有三个权重,注意你用哪个就用哪个权重,别下错了,否则会报错的!下载权重需要一些魔法才可以下载~

image-20230607161632477

然后是训练,在输入命令训练前,你需要改一些东西,比如你自己的地址和数据集名称(然后你用官网的数据集就不需要改,自己的数据集就需要改。)具体是改 main_train.py 和 load_datasets_transforms.py 这两个文件。

image-20230607160032440

image-20230607155704940

官网给的训练代码如下

python main_train.py --root root_folder_path --output output_folder_path \
--dataset flare --network 3DUXNET --mode train --pretrain False \
--batch_size 1 --crop_sample 2 --lr 0.0001 --optim AdamW --max_iter 40000 \ 
--eval_step 500 --gpu 0 --cache_rate 0.2 --num_workers 2

但是不需要这么多,我运行的代码是:

python main_train.py --root /home/用户名/3DUX-Net-main/数据集总文件夹名称 --output /home/用户名/3DUX-Net-main/数据集总文件夹名称/output --dataset 数据集总文件夹名称的英文字母(不用自己的就是官网给的那三个)

你也可以根据自己的需求改一些里面的参数。

你也可以放在服务器后台跑,代码如下:

nohup python main_train.py --root /home/用户名/3DUX-Net-main/数据集总文件夹名称 --output /home/用户名/3DUX-Net-main/数据集总文件夹名称/output --dataset 数据集总文件夹名称的英文字母(不用自己的就是官网给的那三个) &

然后会生成一个 nohup.out 文件,可以查看进度,用记事本打开就可以了。下面是我的:

image-20230607161107156

进行测试,下面是官网给的代码:

python test_seg.py --root path_to_image_folder --output path_to_output \
--dataset flare --network 3DUXNET --trained_weights path_to_trained_weights \--mode test --sw_batch_size 4 --overlap 0.7 --gpu 0 --cache_rate 0.2 \

这是我自己的代码:

python test_seg.py --root /home/用户名/3DUX-Net-main/数据集总文件夹名称 --output /home/用户名/3DUX-Net-main/数据集总文件夹名称/output --dataset btcv --network 3DUXNET --trained_weights /home/用户名/3DUX-Net-main/best_metric_model.pth

因为我用的自己的数据集,所以其实效果并不好,但是跑通了,下一步再进行深入研究!大家一起加油呀!~

标签:UX,Net,--,文件夹,output,net,main,3DUX,3D
From: https://www.cnblogs.com/Ray-Z/p/17463790.html

相关文章

  • Mininet基本命令
    Mininet基本命令:1.检查Mininet版本mn--version2.清理现有的ovs网桥和命名空间注意:有时我们错误地关闭了mininetshell,或者mininet崩溃了。但拓扑组件将继续存在。要清理这些东西,请使用清理命令。mn-c3.我们的第一个拓扑(单一)具有单个交换机和4个节点的拓扑。......
  • 记录一次.NET6环境使用Visual Studio 2022 V17.6.2版本的异常
    开发环境C#开发环境VisualStudio2022V17.6.2版本。目标框架:.NET6.0错误内容:系统是BlazorServer框架的系统页面,在使用VisualStudio2022V17.6.2版本编译后,执行出现:TimeStamp:2023/6/613:35:07MachineName:Light.YangAppDomainName:SajetServerAppOS:Microsoft......
  • Linux分析进程占用内存最高和占用CPU最高 的 命令
    Linux分析进程占用内存最高和占用CPU最高这里只显示最高的前5个,如果想显示更多的话,可以自己修改:查看占用内存最高的5个进程psaux|sort-k4nr|head-n5查看占用cpu最高的5个进程psaux|sort-k3nr|head-n5......
  • 怎么安装mininet
    怎么安装mininet本次安装环境为ubuntu20.04mininet为github上的最新版git源代码打开Ubuntu中的Terminal(这一步由于网络环境可能会下载失败,这时候可以更换github域名为国内镜像源域名)gitclonegit://github.com/mininet/mininet例如kgithub.com这一镜像源就可以这样输入g......
  • asp.net里cookie、session进一步理解
    参照:session+cookie简单讲解以及持久化登录实现_session实现用户登录_AkagiSenpai的博客-CSDN博客sessionID和cookie-哈哈呵h-博客园(cnblogs.com)概念介绍cookie——是http无状态特性的补充,是在客户端保持状态的方案,以key/value的形式进行保存。网站经常使用这个技术来......
  • Learning to Pre-train Graph Neural Networks 学习如何预训练GNN
    ......
  • 一次成功的ANSYS Electromagnetics Suite
    【准备说明】1.下载软件,链接来自https://www.mr-wu.cn/ansys-electromagnetics-suite-2020-r1/#ftoc-heading-22.下载安装包得到如下文件夹: 3.由吴斌川老师博客下的留言得,可能会遇到各种各样得问题,要有心理准备,并先阅读Crack文件夹中的readme: 大致翻译如下:不要安装ANSYS......
  • linux操作系统内核简介
    为啥要对服务端进行监控分析?jmeter监控,如果tps低,响应时间长,能不能发现瓶颈在哪?不能压力断的重要性:看性能衰减1.linux操作系统内核简介linux内核作用:与计算机硬件进行交互,实现对硬件部件的编程控制和接口操作,调度对硬件资源的访问为计算机上的用户程序提供一个高级的执行环......
  • Linux 字符编码
    1、查看字符编码和语言使用locale命令,语言是en_US(英语_美式),编码是UTF-8 2、修改字符编码和语言对应配置文件centos7修改文件/etc/locale.confcentos6修改文件/etc/sysconfig/i18n2.1先看一下修改前的 2.2然后,如改成中文编码GBK编码:LANG="en_US.UTF-8"改......
  • 深度学习应用篇-计算机视觉-图像分类[2]:LeNet、AlexNet、VGG、GoogleNet、DarkNet模型
    深度学习应用篇-计算机视觉-图像分类[2]:LeNet、AlexNet、VGG、GoogleNet、DarkNet模型结构、实现、模型特点详细介绍1.LeNet(1998)LeNet是最早的卷积神经网络之一<sup>[1]</sup>,其被提出用于识别手写数字和机器印刷字符。1998年,YannLeCun第一次将LeNet卷积神经网络应用到图像分类......