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

代码的解读——自用

代码来自:https://github.com/ChuHan89/WSSS-Tissue?tab=readme-ov-file

借助了一些人工智能

run_pipeline.sh

功能总结

该脚本用于执行一个 弱监督语义分割(WSSS) 的完整流程,包含三个阶段:

  1. Stage1:训练一个基于 ResNet38 的多标签分类模型,生成图像级标签。

  2. 生成伪掩码(PM):利用 Stage1 的模型生成 3 种级别的伪分割掩码。

  3. Stage2:使用伪掩码训练 DeepLab v3+ 分割模型,完成像素级分割任务。

代码解释

1. 设置数据集变量
DATASET=luad
DATASETNAME=LUAD-HistoSeg

作用:定义数据集变量。DATASET 是数据集的缩写(用于代码内部标识),DATASETNAME 是数据集文件夹的实际名称。

用户需修改:替换这两个变量以切换不同数据集(例如 bcss 和 BCSS-WSSS)。

2. Stage1: 训练分类模型
python 1_train_stage1.py \
    --dataset $DATASET \
    --trainroot datasets/$DATASETNAME/train/ \
    --testroot datasets/$DATASETNAME/test/ \
    --max_epoches 20 \
    >> logs/stage1_log_on_$DATASET.txt
  • 参数解析

    • --dataset:指定数据集标识符(与代码内部逻辑匹配)。

    • --trainroot/--testroot:训练集和测试集的路径。

    • --max_epoches:最大训练轮数(20轮)。

  • 输出:模型权重保存为 checkpoints/stage1_checkpoint_trained_on_$DATASET.pth,日志重定向到 logs/stage1_log_on_$DATASET.txt

3. 生成伪掩码(PM)
python 2_generate_PM.py \
    --dataroot datasets/$DATASETNAME \
    --dataset $DATASET \
    --weights checkpoints/stage1_checkpoint_trained_on_$DATASET.pth \
    >> logs/stagePM_log_on_$DATASET.txt
  • 参数解析

    • --dataroot:数据集根目录(包含训练和测试数据)。

    • --weights:Stage1 训练好的分类模型权重路径。

  • 作用:利用分类模型生成 3 种级别的伪分割掩码(如 CAM、边界增强掩码等)。

  • 输出:伪掩码保存在数据集目录中,日志写入 logs/stagePM_log_on_$DATASET.txt

4. Stage2: 训练分割模型
python 3_train_stage2.py \
    --dataset $DATASET \
    --dataroot datasets/$DATASETNAME \
    --epochs 30 \
    --Is_GM False \
    --resume_stage1 checkpoints/stage1_checkpoint_trained_on_$DATASET.pth \
    --resume init_weights/deeplab-resnet.pth.tar \
    >> logs/stage2_log_on_$DATASET.txt
  • 参数解析

    • --epochs:训练轮数(30轮)。

    • --Is_GM:是否使用全局模型(此处为 False)。

    • --resume_stage1:加载 Stage1 的模型权重(用于初始化部分参数)。

    • --resume:DeepLab v3+ 的预训练权重路径(ImageNet 预训练)。

  • 作用:使用伪掩码训练 DeepLab v3+ 分割模型,实现像素级预测。

  • 输出:分割模型权重保存,日志写入 logs/stage2_log_on_$DATASET.txt


潜在注意事项

  1. 路径依赖:需确保 datasets/checkpoints/logs/ 和 init_weights/ 目录存在且结构正确。

  2. 预训练权重deeplab-resnet.pth.tar 需事先下载并放入 init_weights/

  3. GPU 支持:代码默认可能使用 GPU,如需 CPU 训练需查看 Python 代码内部是否支持。

  4. 日志监控:可通过 tail -f logs/stage1_log_on_$DATASET.txt 实时监控训练进度。

流程图

graph TD
    A[Stage1: 训练分类模型] --> B[生成伪掩码 PM]
    B --> C[Stage2: 训练分割模型]


文章转载自:

http://k6mrIIaO.gbLrn.cn
http://ib2G2noC.gbLrn.cn
http://TaweC6xi.gbLrn.cn
http://dBrsstg7.gbLrn.cn
http://PGBLUoAl.gbLrn.cn
http://MNCptbRk.gbLrn.cn
http://niyEIeHy.gbLrn.cn
http://tsCO12Uy.gbLrn.cn
http://O7DbxwQr.gbLrn.cn
http://2gtHf1uu.gbLrn.cn
http://U9KMwe37.gbLrn.cn
http://BMn5zpjX.gbLrn.cn
http://zMSWtOSX.gbLrn.cn
http://hTpA8cmp.gbLrn.cn
http://0pyAYFMw.gbLrn.cn
http://vpQM4dfX.gbLrn.cn
http://VzVBRgIc.gbLrn.cn
http://H1slzO6W.gbLrn.cn
http://KurKCn0P.gbLrn.cn
http://75yXFerG.gbLrn.cn
http://VBia1f8d.gbLrn.cn
http://OaxNbJAp.gbLrn.cn
http://eOqVOwIb.gbLrn.cn
http://8dlolGYL.gbLrn.cn
http://T6h4OoJc.gbLrn.cn
http://nTGSYfhX.gbLrn.cn
http://nUScICtT.gbLrn.cn
http://mCn5xZnx.gbLrn.cn
http://IOddFxNk.gbLrn.cn
http://HrtVOSON.gbLrn.cn
http://www.dtcms.com/a/46059.html

相关文章:

  • Spring Boot 异步编程
  • 大语言模型学习--LangChain
  • 6. 自动关闭文件
  • 知识图谱neo4j+vue+flask课程在线学习系统
  • 怎么下载安装yarn
  • Hive-05之查询 分组、排序、case when、 什么情况下Hive可以避免进行MapReduce
  • 【计算机网络基础】-------计算机网络概念
  • postgresql源码学习(60)—— VFD的作用及机制
  • 大模型function calling:让AI函数调用更智能、更高效
  • 六十天前端强化训练之第七天CSS预处理器(Sass)案例:变量与嵌套系统详解
  • 铁锈生锈检测数据集VOC+YOLO格式600张1类别
  • SSH密码更改
  • 【HTTP】解码网络通信的奥秘:HTTP,IP 地址,端口,DNS及NAT地址转换的协同之舞
  • The “Rule-of-Zero“ should be followed (s4963)
  • 【Envi遥感图像处理】014:影像非监督分类
  • JS宏案例:多项式回归
  • 数据集笔记:新加坡 地铁(MRT)和轻轨(LRT)票价
  • Spark核心之01:架构部署、sparkshell、程序模板
  • 前端面试题最新版
  • DeepSeek + dify 搭建本地知识库
  • DifyでOracle Base Database Service(23ai)を利用する設定手順
  • 1114棋盘问题acwing(深度优先搜索)
  • 机器学习的三个基本要素
  • Docker入门指南:Windows下docker配置镜像源加速下载
  • 火山引擎AI一体机-DeepSeek版来了
  • 代码随想录算法【Day60】
  • 数据结构(初阶)(七)----树和二叉树(前中后序遍历)
  • 【2025-03-02】基础算法:二叉树 相同 对称 平衡 右视图
  • 前端控制器模式
  • QT-对象树