首页 > 其他分享 >Swin UNETR 训练记录

Swin UNETR 训练记录

时间:2023-06-12 16:15:01浏览次数:46  
标签:学姐 Swin 训练 dataset json UNETR 下载

Swin UNETR 训练记录

记录一下跑通的第二个模型吧 ~~~

这次的模型是 Swin UNETR(Swin UNEt TRansformers),是由 NIVIDIA 研究人员在计算机视觉和模式识别会议( CVPR )上发表的。Swin UNETR 采用了 MONAI ,一种开源的 PyTorch 框架,由学术界和行业领袖构建的免费、社区支持的计划,旨在将医疗成像深度学习的最佳实践标准化。这些可以看论文自己去了解哈~~~

下面进入正题——训练过程!

首先还是先去把论文和代码下载下来,这里有个坑啊!我从论文里面的代码链接进去,没有找到下载选项,最后还是我学姐说她好像看到过,然后帮我找到了下载链接,在这里哦~

GitHub - Project-MONAI/research-contributions: Implementations of recent research prototypes/demonstrations using MONAI.

image-20230612152402018

是这样子的,你需要把这些都下载下来,然后单独把 SwinUNETR 拿出来就可以啦!~

记得下载需要的权重和模型哦,可能会用到魔法哦~~~

代码下载好通过 Xftp 传到服务器里。然后在 Xshell 里面建好对应的环境~

Tips:因为 PyTorch 下载很慢,我学姐就教我可以从之前下载好的环境里复制过来!!!

conda create -n 新环境名 --clone 旧环境名

这里我们的环境名就叫 swinunetr ,这样就不会乱啦~~~

一切都准备就绪之后,我们就去看官网啦,Swin UNETR 有 BTCV (CT)和 BTS2021 (MRI)两种,这里我用的是 BTCV ,因为我自己的数据集是 CT 的。

image-20230612153559558

因为官网里面没有告诉我们 dataset 的架构,所以我用的还是之前 3D UX-net 的架构。注意:和 3D UX-net 不同的是,他需要 .json 文件,所以我又把我学姐给的生成 .json 的 python 代码给改了一下,我训练的时候一直报错,后来发现是文件名写错了~~~ 在 .json 文件里也需要验证集的信息哦!!!否则他会报 ValueError: Data list validation not specified in "dataset/dataset0/dataset_0.json 的错哦!!!

image-20230612153523923

这些都弄好以后,可以打开你的 Xshell ,进入你刚刚创建的虚拟环境,安装 requirements 啦~~~

image-20230612154520310

记得 cd 到 BTCV 文件夹里面哦~

然后输入命令安装就可以啦~~~

pip install -r requirements.txt

装好后记得把 main.py 里面的路径改掉,换成你自己数据集的地址哦,因为我就放在了他的 dataset 里面,所以我用的是相对地址。

改完以后就可以去 Xshell 里面运行试试看啦~

python main.py

image-20230612155116014

看到他成功跑的那一瞬间是激动的!!!~~~

运行的时候有什么报错都可以根据他的提示解决的~~~所以大家不要怕哦!!!

标签:学姐,Swin,训练,dataset,json,UNETR,下载
From: https://www.cnblogs.com/Ray-Z/p/17475279.html

相关文章

  • 宝典相授,无错在手 |昇思MindSpore报错调试宝典(六):网络构建与训练类报错之资源不足
    上一期讲解了网络构建与训练类报错之算子执行错误该如何定位解决,相信如输入异常、算子实现错误之类算子执行问题已经难不倒大家了。那么本期我们看看网络构建与训练类报错常见的最后一个问题分类,即资源不足方面的报错,如遇到资源不足方面的报错,如 Out Of Memory、memory isn’t......
  • 轻松调试,让报错无处遁形 |昇思MindSpore报错调试宝典(五):网络构建与训练类报错之算子执
    上一期讲解了由于输入参数不符合要求、算子功能不支持等算子编译错误问题该如何定位解决,那么在算子执行的时候也会遇到很多报错,比如输入数据异常、算子实现错误、功能限制、资源限制等问题,遇到这类情形我们正常可以采用类比的分析方法,本期以mindspore.ops.ResizeBicubic算子内部数......
  • 定位调试两手抓,报错真的不可怕 | MindSpore报错调试宝典(二):网络构建与训练类报错之cont
    上一期我们讲解了数据加载与处理类报错如何调试解决,今天给大家继续带来网络构建与训练类报错中的context配置问题,本期仍将以案例的形式展开,详细讲解mindspore.set_context算子的使用方法以及配置方法,希望大家在后续使用context算子过程中可以轻松解决相关的报错问题!同时也欢迎大家......
  • 初识C语言--训练题
    我们通过前面的学习,对C语言的基础知识有了一定的了解,那么我们来练一练,对知识进行巩固一、选择题1.下面哪个不是C语言内置的数据类型()A.charB.doubleC.structStuD.short2.局部变量的作用域是()A.main函数内部B.整个程序C.main函数之前D.局部变量所在的局部范围3.字符串的结束标志是......
  • 机器学习模型训练全流程
    周末在家无聊闲逛github,发现一个很有趣的开源项目,作者用手绘图的方式讲解了机器学习模型构建的全流程,逻辑清晰、生动形象。同时,作者也对几张图进行了详细的讲解,学习之后,收获很多,于是将其翻译下来,和大家一起学习。地址:https://github.com/dataprofessor/infographic 全文如下......
  • 2.4类神经网路训练不起来怎么办 (四):损失函数 (Loss) 也可能有影响
    1.classification与regression的区别1.1classification与regression输出的区别  classification中,我们用one-hot向量表示不同的类别(一个向量中只有1个1,其余都为0,1在不同的位置代表不同类别).在regression中的神经网络输出只有一个,而classification则有多个输......
  • [重读经典论文] Swin-Transformer
    参考博客:Swin-Transformer网络结构详解参考视频:12.1Swin-Transformer网络结构详解使用了类似卷积神经网络中的层次化构建方法(Hierarchicalfeaturemaps),比如特征图尺寸中有对图像下采样4倍的,8倍的以及16倍的,这样的backbone有助于在此基础上构建目标检测,实例分割等任务。使用......
  • 代码随想录算法训练营第四天|24. 两两交换链表中的节点 , 19.删除链表的倒数第N个节点
    24.两两交换链表中的节点 个人感觉这个不太难,刚开始打算用步进值为2,来搞,但是没有想到链表应该是怎么样的,原来可以直接用: 1cur=cur->next->next 学到了,这是我自己写的代码:1ListNode*MyLinkedList::swapPairs(ListNode*head)2{3ListNode*dummyHead=new......
  • Solution Set - 限时训练 II
    HNOI2017Day22023-06-10注:Day2T2换为BJOI2017Day2T1,以匹配学习进度A.大佬B.抛硬币C.喷式水战改HNOI2017Day12023-06-09A.单旋B.影魔C.礼物HNOI2018Day12023-05-30A.寻宝游戏B.转盘C.毒瘤A寻宝游戏给定\(n\)个长为\(m\)的二进制串,可以在每两个二进制数......
  • 业余开源项目训练出最准确新冠预测机器学习模型
    什么样的机器学习项目会被美国疾控中心CDC、纽约时报、经济学人杂志等多家机构和媒体所引用提及,还被Facebook的ChiefAIExecutor称为最准确的新冠死亡预测模型?这就是今天要给大家分享的covid-projection——一个来自一名普通美国华裔数据科学家的的业余开源机器学习项目。covid-......