目标:

本篇博客的主要目的是关于如何跑通CLAM测试部分的代码,之前的博客中已经介绍了如何跑通训练部分的代码,链接如下:
https://blog.csdn.net/qq_34532413/article/details/124704759
近期通过进一步的学习得知,CLAM的主要部分在于第一阶段的特征提取,第二阶段的分类工作量较小。因而在CLAM测试部分的代码流程与训练部分类似:首先是切片以及提取特征,最后进行分类。以下将详细介绍CLAM的流程。


流程:

1、首先是将WSI图像进行切片,代码如下:


python create_patches_fp.py --source Test_WSI  --save_dir Test_WSI_Patch --patch_size 256 --seg --patch --stitch

2、随后进行特征提取,代码如下:

CUDA_VISIBLE_DEVICES=0,1 python extract_features_fp.py --data_h5_dir Test_WSI_Patch/ --data_slide_dir Test_WSI/ --csv_path Test_WSI_Patch/process_list_autogen_processed.csv --feat_dir Test_WSI_Feat/ --batch_size 512 --slide_ext .tif --pretrain checkpoint_0049.pth.tar

注意这里指明了预训练模型的权重参数,该参数为使用Moco预训练的ResNet50权重参数。
3、首先修改create_splits_seq.py中文件路径,如下所示

随后将数据集分别划分为训练集、验证集、测试集,并划分10次。

python create_splits_seq.py --task task_1_tumor_vs_normal --seed 1 --label_frac 0.7 --k 10

以上代码中”–k 10“表明对数据集划分10次,需要注意的是在划分时需要提供样本的标签否则无法完成划分,也即CLAM的测试必须提供标签,这是CLAM代码中的不足。
运行完成后会得到如下的划分数据集的.csv文件,其中之后会用到的是splits_i.csv(i = 0,1 … 9)

4、首先对eval.py数据集路径进行相应修改,代码修改如下:

随后运行eval.py进行交叉验证,代码如下:

CUDA_VISIBLE_DEVICES=0 python eval.py --drop_out --k 10 --models_exp_code Test_WSI --save_exp_code Test_WSI --task task_1_tumor_vs_normal --model_type clam_sb --results_dir results --data_root_dir Test_WSI_Feat/

上述参数中models_exp_code是指十折交叉验证的模型路径,此外还放置不同折的数据集拆分,如下图所示。


data_root_dir为提取的特征的存储路径。

总结

CLAM代码中的主文件(训练和测试代码文件)较为简单,难度在于有大量需要传入的参数,在把每个参数的意义明确后,很快便能理解透彻。

跑通CLAM测试部分相关推荐

  1. Riscv五级流水线64位cpu,systemverilog编写,指令集rv64i,支持csr寄存器,可跑通dhrystone测试

    Riscv五级流水线64位cpu,systemverilog编写,指令集rv64i,支持csr寄存器,可跑通dhrystone测试. 支持2bit饱和分支预测 包括: 1.rv64单周期Cpu 2.r ...

  2. 【githubshare】基于 C 语言编写的一款 2D 太空射击游戏,已在 Windows 10 和 Ubuntu Linux 16.04 系统上跑通测试

    基于 C 语言编写的一款 2D 太空射击游戏:space-shooter.c,已在 Windows 10 和 Ubuntu Linux 16.04 系统上跑通测试. GitHub:github.com ...

  3. 顶级测试框架Jest指南:跑通一个完美的程序,就是教出一群像样的学生

    facebook三大项目:yarn jest metro,有横扫宇宙之势. 而jest项目的宗旨为:减少测试一个项目所花费的时间成本和认知成本. --其实,它在让你当一个好老师. jest文档非常简略 ...

  4. 装不了 pytorch=0.4.0? ubuntu下 基于 cuda=92 和 pytorch=1.2 配置环境跑通 CornerNet 训练和测试流程 步骤详解(包括GPU限制问题详解)

    ubuntu下跑通CornerNet的流程步骤 环境配置 写这篇博客原因? 更改conda_packagelist.txt conda下基于conda_packagelist.txt创建新环境 安装p ...

  5. 【全网唯一】全网唯一能够跑通的,跑不通你来找我~用node.js完成微信支付下单功能,且只需要一个文件wxpay.js就解决业务流程的node.js程序

    先吐为敬! 最近心血来潮研究nodejs如何完成微信支付功能,结果网上一搜索,一大堆"代码拷贝党"."留一手"."缺斤少两"."不 ...

  6. 13个月才跑通GitHub模型,机器学习科研入门太难了吧

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 金磊 萧箫 发自 凹非寺 量子位 报道 | 公众号 QbitAI & ...

  7. yolov3网络结构图_目标检测——YOLO V3简介及代码注释(附github代码——已跑通)...

    GitHub: liuyuemaicha/PyTorch-YOLOv3​github.com 注:该代码fork自eriklindernoren/PyTorch-YOLOv3,该代码相比master分 ...

  8. DynaSLAM跑通的辛酸之路

    DynaSLAM+MAC电脑+虚拟机+ubuntu18.04+跑通的辛酸之路 首先说一下我在做这项工作的前期之路. 在这之前我跑通过ORB-SLAM2,ORB-SLAM3,所以Pangolin,Eig ...

  9. 跑通SpringBoot + dubbo3.0.8 + zookeeper

    跑通SpringBoot + dubbo + zookeeper 先安装并启动zookeeper 安装dubbo-admin进行dubbo监控 新建项目 创建统一接口 创建服务提供者 pom: yml ...

最新文章

  1. windows10+Python3.7安装dlib库进行面部标志识别
  2. python爬虫意思_python为什么叫爬虫
  3. Comptia Strata认证考点相关情况【2018.06.05更新】
  4. Scala入门到精通——第二十四节 高级类型 (三)
  5. height:auto 火狐没边框
  6. 前端后台的爱恨情仇——接口调试
  7. 创建一个新数组并指定数组的长度
  8. Linux下wps文档结构图,如何在Word中设置文档结构图
  9. Xshell连接服务器编写代码(windows+Xshell+阿里云主机)
  10. idea 中静态图片资源无法导入
  11. 一款简洁的税后工资计算器(2019)
  12. 献给那些没有自信的人。
  13. windows批量改名
  14. HMACSHA1 加密算法
  15. PMP®项目管理|项目干系人如何管理?
  16. AI路径查找器如何使用
  17. ubuntu 手机连接不到电脑,配置
  18. 闯关创业板的宝宝巴士:早教公司的面子,广告公司的里子
  19. 安装时提示错误1402的解决办法
  20. 高等数学 极限与连续 知识技巧思维导图 [21考研上岸之旅]

热门文章

  1. (无坑、直接的C++小代码)空间三点计算平面方程参数
  2. 三种蓝牙架构实现方案(蓝牙协议栈方案)
  3. IBM Thinkpad-要用就用最好的笔记本
  4. linux的c语言捕获sigsegv,Segmentation Fault in Linux (2.4栈溢出了,有时SIGSEGV,有时却啥都没发生)...
  5. Poetry下载安装(20230221最新方法)
  6. 使用vscode运行vue项目
  7. 三菱FX3U 485ADP与4台欧姆龙E5cc温控器远程
  8. libnuma.so.1()(64bit) is needed by mysql-community-server-5.7.9-1.el6.x86_64
  9. 修改Windows MySQL数据库存储位置
  10. LLVM MC 简介