当前位置: 首页 > news >正文

CLAM完整流程。patches-feature-split-train-eval

refer:

(CNS复现)CLAM——Chapter_00_clam复现-CSDN博客

  1. 切patch
python create_patches_fp.py --source /data/qgking/zkx/WSI_datasets/PAIP/img --save_dir /data/qgking/zkx/CLAM/Datasets/paip2020 --patch_size 256  --seg --patch --stitch

每张大小不一样,发现patch数目也不同的

生成csv文件,将自动生成的process_list_autogen.csv处理成Step_2.csv

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 提取特征
CUDA_VISIBLE_DEVICES=0 python extract_features_fp.py --data_h5_dir /data/qgking/zkx/CLAM/Datasets/paip2020 --data_slide_dir /data/qgking/zkx/WSI_datasets/PAIP/img --csv_path /data/qgking/zkx/CLAM/Datasets/paip2020/Step_2.csv --feat_dir /data/qgking/zkx/CLAM/FEATURES_DIRECTORY/paip_msi_vs_mss_resnet_features --batch_size 512 --slide_ext .svs

默认是resnet提取

使用之前存下来的patch的坐标信息,在整个wsi图片上进行裁减,最后得到若干张固定大小和固定通道的patch

生成Step_3.csv文件,这边会用到下载的原始csv文件

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. spilt

修改添加自己的任务

parser.add_argument('--task', type=str, choices=['task_1_tumor_vs_normal', 'task_2_tumor_subtyping','task_3_msi_vs_mss']) # add your task here

运行后文件生成在splits文件夹,8:1:1 进行10折划分

 python create_splits_seq.py --task task_3_msi_vs_mss --seed 1 --label_frac 0.75 --k 10

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. train

安装topk

git clone https://github.com/oval-group/smooth-topk.git
cd smooth-topk
python setup.py install
  1. eval

修改代码,添加task

 CUDA_VISIBLE_DEVICES=0 python eval.py \--drop_out 0.25 \--k 10 \--models_exp_code /data/qgking/zkx/CLAM/results/task_3_msi_vs_mss_CLAM_50_s1 \--save_exp_code task_3_msi_vs_mss_CLAM_50_s1_cv \--task task_3_msi_vs_mss  \--model_type clam_sb \--results_dir results \--data_root_dir /data/qgking/zkx/CLAM/FEATURES_DIRECTORY

结果,因为张数太少吧,结果不是很好

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 可视化

还没弄


总结:

构建两个model,第一个model用于进一步的提取特提取,第二个model用于分类。

现在第一个不动。第二个分类网络替换成其他的然后运行train不就可以了么


PAIP自己的二分类方法

chhan95/PAIP2020: MSI-High Classification in Colorectal Cancer

http://www.xdnf.cn/news/650071.html

相关文章:

  • 5.26 面经整理 360共有云 golang
  • Java大师成长计划之第31天:Docker与Java应用容器化
  • 基于matlab版本的三维直流电法反演算法
  • 论文阅读: 2023 NeurIPS Jailbroken: How does llm safety training fail?
  • 支持selenium的chrome driver更新到136.0.7103.113
  • C++寻位映射的究极密码:哈希扩展
  • ubuntu 22.04 配置静态IP、网关、DNS
  • 鸿蒙OSUniApp 实现的日期选择器与时间选择器组件#三方框架 #Uniapp
  • 对数的运算困惑
  • 鸿蒙OSUniApp 开发带有通知提示的功能组件#三方框架 #Uniapp
  • Linux《基础IO》
  • 深入Java TCP流套接字编程:高效服务器构建与高并发实战优化指南​
  • Kafka自定义分区策略实战避坑指南
  • 论文阅读笔记:YOLO-World: Real-Time Open-Vocabulary Object Detection
  • nginx安全防护与https部署实战
  • 简述各类机器学习问题
  • 机器学习k近邻,高斯朴素贝叶斯分类器
  • html使用JS实现账号密码登录的简单案例
  • uboot常用命令之eMMC/SD卡命令
  • rpm安装jenkins-2.452
  • 关于vue结合elementUI输入框回车刷新问题
  • API Gateway CLI 实操入门笔记(基于 LocalStack)
  • SQL注入原理及防护方案
  • 如何用 SQL 找到最受欢迎的用户?
  • 基数排序---Java版本
  • PcVue助力常熟三爱富实现FFKM后处理工艺智能化升级
  • 达梦JNI方式调用Logmnr接口调用示例
  • Node.js全局对象详解:console、process与核心功能
  • 每日Prompt:黄沙大圣
  • 将网页带格式转化为PDF