跑通CLAM测试部分

目标:

本篇博客的主要目的是关于如何跑通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代码中的主文件(训练和测试代码文件)较为简单,难度在于有大量需要传入的参数,在把每个参数的意义明确后,很快便能理解透彻。

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值