感谢【呼呼】同学分享的“BraTS2017数据集的迁移学习+深度学习提取特征+机器学习”

迁移学习

一、迁移学习(把之前对Medicalnet的迁移学习内容跑了一遍,用的BraTS2017的数据集) 1、下载Med3D源码,完成基础运行环境配置 (1)https://github.com/Tencent/MedicalNet,把pretrain的部分(包含data,pretrian、trails三个文件)一起下载下来,都放在MedicalNet_master的文件夹里; (2)从pycharm中打开MedicalNet_master,在settings的解释器部分选择python;

2、跑通Demo和训练模型 (1)在Ternimal中激活onekey:conda activate onekey; (2)运行模型:python train.py --gpu_id 0(#GPU=1) (3)因为onekey和MedicalNet_master中都有dataset和utils,所以要纠正2个moduleNotFoundError,将MedicalNet_master中的重命名为dataset_med和utils_med,同时在train.py中进行相应修改;

(4)报错:

解决:调小图片尺寸(类似对半砍)或者把resnet50换(默认)成resnet34,我两种都试了,调小尺寸稍微快一点

(5)完成训练

3、BraTS数据适配 (1)下载数据集(下载不下来的童鞋可以请董老师发一下百度云链接); (2)需要形成与MRBrainS18一样的三个文件,imges,labels和train.txt,BraTS数据中有imagesTr和labelsTr,需要自己新建train.txt,我用Excel下拉后在粘贴出来的,这样出来的中间的分割符号都是\t,brains18.py里默认的分割符号是空格,可以将所有\t替换为空格,或者将brains18.py里默认的分割符号修改为\t。

(我这里出了一个assertionerror,找了好久原因,发现路径写错了,开始train.txt里写的是/imagesTr/BRATS_004.nii.gz,没有加‘点’)

或者将BraTS中的dataset.jason转为txt格式,附上张老师的代码;

(3)将imagesTr、labelsTr和train.txt替换进MedicalNet_master的Data文件里,再次运行python train.py --gpu_id 0 (4)中间会出现一个张老师讲的报错

用np.max选取一个维度

我这边就可以跑通了,没有出现图像读取错误

深度学习提取特征

即将模型的中间一层特征提取出来,一般提取最后一层特征 1、找到模型文件resnet.py,在forword中return最后一层的特征(分割模块之前)。如图将第四层特征命名为feature(红框)。并在return中返回来,但由于提取的特征维度太大,返回时进行max_pooling降维,保留最大池化(蓝框)。

2、在train.py中把特征接住,如下↓

3、将feature和相应的样本名称打出来,样本名称需要在brains18.py的getitem中return,然后在train.py的data_loader循环这里承接住,这样就可以将两者都打出来(蓝框)

4、打印出的特征都是在GPU环境中的,需要转到CPU(红框),并且将数据储存在文件当中(蓝框)。黄框表示将feature转换为n多个数据去表示

5、再次运行模型,就可以将深度学习的特征提取到features.txt里了。 6、因为边训练边保存,保存出来的特征会超过样本个数,只保存后面的epoch的数据就可以,或者把训练的部分注释掉。(我运行的时候没听懂这段话,就保存了好多下来,文件太大了不晓得咋删除,就没再修改,直接去机器学习了)

机器学习

三、机器学习(用乳腺癌的jupyter,方法同前,只贴一下变化的地方) 1.数据读取

2、数据准备(此处感谢诗文):添加了一个随机的诊断

3、因为数据太大,运行不出来,做了个降维X_data = compress_feature(X_data, dim=50)

4、其他的都跟之前差不多

【呼呼】同学从完完全全的零基础用一个月的时间走到这一步真的很不容易,付出了很大的努力,跑通之后的果实还是很甘甜的,同学加油,期待你下一步的成果。

影像组学学员成果分享:BraTS2017数据集的迁移学习+深度学习提取特征+机器学习相关推荐

  1. Radiology:影像组学:图像不仅仅是图片,它们还是数据

    在过去十年中,随着模式识别方法的增加和数据集大小的增加,医学图像分析领域的研究越来越多.这些研究促进了对图像定量特征高通量提取过程的发展,从而将图像转换为可挖掘数据特征,并随后对这些数据进行分析,以提 ...

  2. 放射学中基于影像组学和人工智能预测癌症预后

    人工智能(AI)在医学影像诊断中的成功应用使得基于人工智能的癌症成像分析技术开始应用于解决其他更复杂的临床需求.从这个角度出发,我们讨论了基于人工智能利用影像图像解决临床问题的新挑战,如预测多种癌症的 ...

  3. 影像组学特征的生物学意义

    影像组学为从影像成像中提取临床相关信息提供了强有力的工具.影像组学可以通过提取高通量特征来预测患者的预后,使用大型训练样本来探究图像特征和疾病状态之间的微妙关系.但是,基于数据驱动的影像组学本质上无法 ...

  4. 【影像组学】影像组学特征筛选和降维(T检验+LASSO+PCA)

    文章目录 1. T 检验 2. LASSO 特征筛选 3. T 检验结合 LASSO 实现影像组学特征筛选 4. 特征降维:主成分分析法 (PCA) 1. T 检验 三种 T 检验 单样本 T 检验: ...

  5. 学员成果分享:关于stacking算法做影像组学中的后融合(附代码,有平台的赶紧动手)

    https://mp.weixin.qq.com/s?__biz=MzkxMTIxNzAwNg==&mid=2247486807&idx=1&sn=1e1c5d8b651b87 ...

  6. 学员成果分享:影像组学中stacking算法做后融合的整体思路(附代码,有平台的赶紧动手)

    https://mp.weixin.qq.com/s?__biz=MzkxMTIxNzAwNg==&mid=2247486839&idx=1&sn=9413985f4986c7 ...

  7. 影像组学训练营 第三天(共三天)

    文章目录 影像组学论文剖析 文章宏观分析 文章背景介绍 影像组学模型构建 高质量标准化MRI影像数据获取及分析 感兴趣体积VOI分割 图像预处理 特征提取 特征一致性评价 第七步 特征选择 数据库 一 ...

  8. 影像组学:医学影像学与个性化精准医疗的桥梁

    影像组学是一种从标准医学影像图像中高通量挖掘定量图像特征的技术,能够在临床决策支持系统中提取和应用数据,以提高诊断.预后和预测的准确性,在癌症研究中变得越来越重要.影像组学分析利用先进的图像分析方法, ...

  9. 医学影像组学人工智能算法构建培训班

    各企事业单位.高等院校及科研院所: 随着影像组学和人工智能尤其是视觉技术的高速融合,影像组学延伸领域也随之高速增长,同时也推动了人工智能技术在医学科研应用领域快速地发展,相关科研成果和学术论文数量逐年 ...

最新文章

  1. C语言程序设计 细节总结(第9章 结构体共用体枚举)
  2. Bind 配置非递归服务器
  3. bochs调试linux内核学习4 - bochs配置文件的$BXSHARE变量、bochs的System BIOS must end at 0xfffff错误、运行内核0.00版本
  4. 分布式事务、cloud、boot、常规队列MQ、elk、kafuka
  5. 基础编程题之牛客网星际密码
  6. Math: Fibonacci
  7. http 使用curl发起https请求 error 60 51
  8. ImageJ Nikon_如何用ImageJ进行粒度分析
  9. 海思HI3536 H265解码处理器简介
  10. Android Audio - HAL 层多声卡同时录音框架设计(多语言)
  11. 使用Hbase Shell和Java API分别进行Hbase的增删改查操作
  12. 《互联网周刊》:中国互联网10年大事记
  13. 记录navicat客户端对个别字段类型设置长度保存后变为0的原因
  14. 写给自己 NOI2012流水帐
  15. Mockito开发指南
  16. C#读取shp多边形文件
  17. webERP安装配置超详细
  18. 15种顶级分析思维模型。
  19. Linux虚拟机命令行联网
  20. 【前端】HTML的常用标签

热门文章

  1. ios把矢量图转成代码
  2. 迪杰斯特拉算法的证明
  3. 痛心!商汤科技员工健身房猝死!网友:996福报何时是个头?
  4. Java面向对象相对于面向过程的优势?以及java创建对象的4中方式?
  5. 案例分享 | A10双活方案助力天虹商场转型“新零售”
  6. python爬取天气数据_Python爬取天气情况
  7. 人类能控制AI狙击手的准星吗?
  8. 配置Linux+Nginx+php环境搭建
  9. Nginx 代理PHP
  10. JavaScript的节点操作 —— 增加节点