代码的解读——自用

代码来自: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 TDA[Stage1: 训练分类模型] --> B[生成伪掩码 PM]B --> C[Stage2: 训练分割模型]

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/896701.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Powershell和BTEQ工具实现带多组参数和标签的Teradata数据库批量数据导出程序

设计一个基于多个带标签SQL模板作为配置文件和多组参数的Powershell代码程序和BTEQ工具,实现根据不同的输入参数,自动批量地将Teradata数据库的数据导出为CSV文件到指定目录上,标签和多个参数(以“_”分割)为组成导出数…

CF 118A.String Task(Java实现)

题目分析 输入一个字符串,遍历每一个字符,如果是元音字母就删除,辅音字母就在其前面增加一个.,且所有字母输出都是小写。 思路分析 将输入的字符串改为字符数组,考虑到任意位置插入的情况,所以主要选择Lin…

LLM进阶

prologue:最近大模型火出天际,I’m definitely aware I’m late to the party,2022年毕业之后就很少在系统的跟踪一个domain了,所以这次下定决心要跟踪一下大模型的技术细节和实现过程,不做AI丁真 本文三条主线&#…

Ubuntu 下查看进程 PID 和终止进程方法

查看进程 PID 使用 ps 命令: ps aux | grep <process_name>例如&#xff0c;查看名为 python 的进程&#xff1a; ps aux | grep python使用 pgrep 命令: pgrep <process_name>例如&#xff0c;查看名为 python 的进程&#xff1a; pgrep python使用 top 命令: top…

Java基础语法练习34(抽象类-abstract)(抽象类最佳实践-模版设计模式)

一抽象类-abstract、 父类方法不确定性的问题故将该方法设计为抽象类&#xff08;没有实现的方法&#xff09;&#xff0c;但一般来说被子类继承然后实现 细节&#xff1a; 1、抽象类不可以被实例化 2、抽象类可以不包含抽象方法而且可以有实现的其他非抽象方法 3、abstra…

Android SDK与NDK的区别

Android SDK&#xff08;Software Development Kit&#xff09;与NDK&#xff08;Native Development Kit&#xff09;在Android应用开发中各自扮演着重要角色&#xff0c;它们之间存在显著的区别。以下是Android SDK与NDK的主要区别&#xff1a; 一、定义与用途 Android SDK…

DeepSeek在PiscTrace上完成个性化处理需求案例——光流法将烟雾动态可视化

引言&#xff1a;PiscTrace作为开放式的视图分析平台提供了固定格式的类型参数支持个性化定制处理需求&#xff0c;本文一步步的实现光流分析按照不同需求根据DeepSeek的代码处理视频生成数据。 光流法&#xff08;Optical Flow&#xff09;是一种基于图像序列的计算机视觉技术…

Linux网络 TCP全连接队列与tcpdump抓包

TCP全连接队列 在 Linux 网络中&#xff0c;TCP 全连接队列&#xff08;也称为 Accept 队列&#xff09;是一个重要的概念&#xff0c;用于管理已经完成三次握手&#xff0c;即已经处于 established 状态但尚未被应用程序通过 accept( ) 函数处理的 TCP 连接&#xff0c;避免因…

flex布局自定义一行几栏,靠左对齐===grid布局

模板 <div class"content"><div class"item">1222</div><div class"item">1222</div><div class"item">1222</div><div class"item">1222</div><div class"…

使用3090显卡部署Wan2.1生成视频

layout: post title: 使用3090显卡部署Wan2.1生成视频 catalog: true tag: [Kubernetes, GPU, AI] 使用3090显卡部署Wan2.1生成视频 1. 环境说明2. 模型下载3. 克隆仓库4. 安装依赖5. 生成视频 5.1. 使用generate脚本生成5.2. 使用gradio启动UI界面生成 5.2.1. 启动gradio服务5…

Prompt生成-Prompt工程师

# Role:Prompt工程师 ## Attention&#xff1a; - 我总是被老板骂写不出来Prompt&#xff0c;如果你能写出优秀的Prompt会避免让我失业&#xff0c;请认真思考并竭尽全力&#xff0c;拜托了&#xff01; ## Profile: - Author:pp - Version:2.1 - Language:中文 - Description:…

数据存储:一文掌握RabbitMQ的详细使用

文章目录 一、RabbitMQ简介二、RabbitMQ的概述2.1 基本概念2.2 实际应用场景三、RabbitMQ的安装与配置3.1 安装RabbitMQ3.2 启用管理插件四、使用Python操作RabbitMQ4.1 安装Pika库4.2 生产者示例4.3 消费者示例4.4 发布/订阅模式示例五、RabbitMQ的高级特性5.1 消息持久化5.2 …

Mixture of Experts与Meta Learning深度学习中的两大变革性技术

1. 引言 随着人工智能&#xff08;AI&#xff09;和深度学习技术的迅猛发展&#xff0c;创新的架构和算法不断涌现&#xff0c;推动了智能系统性能的显著提升。在这些技术中&#xff0c;Mixture of Experts (MoE) 和 Meta Learning Algorithms (MLA) 是两种极具影响力的方法。…

【新立电子】探索AI眼镜背后的黑科技,FPC如何赋能实时翻译与语音识别,点击了解未来沟通的新方式!

在全球化的今天&#xff0c;语言障碍成为人们沟通与交流的一大难题。AI眼镜作为一种新兴的智能设备&#xff0c;正在通过实时翻译与语音识别功能&#xff0c;打破语言壁垒&#xff0c;为人们提供无缝沟通的解决方案。FPC在AI眼镜中的应用&#xff0c;为实时翻译与语音识别功能的…

(十 三)趣学设计模式 之 模版方法模式!

目录 一、 啥是模板方法模式&#xff1f;二、 为什么要用模板方法模式&#xff1f;三、 模板方法模式的实现方式四、 模板方法模式的优缺点五、 模板方法模式的应用场景六、 总结 &#x1f31f;我的其他文章也讲解的比较有趣&#x1f601;&#xff0c;如果喜欢博主的讲解方式&a…

模型和数据集的平台之在Hugging Face上进行模型下载、上传以及创建专属Space

模型下载 步骤&#xff1a; 注册Hugging Face平台 https://huggingface.co/ 新建一个hf_download_josn.py 文件 touch hf_download_josn.py 编写hf_download_josn.py文件 import os from huggingface_hub import hf_hub_download# 指定模型标识符 repo_id "inter…

【弹性计算】弹性裸金属服务器和神龙虚拟化(二):适用场景

弹性裸金属服务器和神龙虚拟化&#xff08;二&#xff09;&#xff1a;适用场景 1.混合云和第三方虚拟化软件部署2.高隔离容器部署3.高质量计算服务4.高速低时延 RDMA 网络支持场景5.RISC CPU 支持6.GPU 性能无损输出 公共云服务提供商推出 弹性裸金属服务器&#xff0c;很显然…

python容器之常用操作

以列表list为例&#xff0c;这个list相当于c中的数组或vector容器。那列表有哪些常用的操作呢&#xff1f; 获取列表的长度 list [1,2,3,4,5] //获取列表的长度 length len(list) 注意这里与c不同&#xff0c;c中的容器都是有各自的定义&#xff0c;每种容器类型都实现了自…

工程化与框架系列(11)--Serverless实践

Serverless实践 ☁️ Serverless&#xff08;无服务器&#xff09;架构是云计算的一种新范式&#xff0c;它让开发者专注于业务逻辑而无需关心服务器运维。本文将详细介绍前端开发中的Serverless实践方案。 Serverless概述 &#x1f31f; &#x1f4a1; 小知识&#xff1a;Se…

kan与小波,和不知所云的画图

文章目录 小波应用范围与pde小波的名字 画图图(a)&#xff1a;数值解向量 \( u \)图(b)&#xff1a;数值解向量 \( v \)结论图4 小波 在你提供的代码中&#xff0c;小波变换&#xff08;Wavelet Transform&#xff09;被用于 KANLinear 类中。具体来说&#xff0c;小波变换在 …