news 2026/6/23 16:08:02

PyTorch模型微调实战指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
PyTorch模型微调实战指南

微调 torchvision 模型完整指南

一、概述

本指南涵盖两种迁移学习场景:

  1. 目标检测与实例分割:使用 Mask R-CNN 在自定义数据集(Penn-Fudan 行人数据集)上微调,同时预测边界框和分割掩码。

  2. 图像分类:使用 ResNet、AlexNet、VGG、SqueezeNet、DenseNet、Inception v3 等模型在蜜蜂/蚂蚁二分类数据集上微调或特征提取。

两种方法的共同步骤:

  • 加载预训练模型

  • 根据自定义任务的类别数修改最后一层(或必要层)

  • 选择更新全部参数(微调)或仅更新新层(特征提取)

  • 定义损失函数、优化器、数据加载器

  • 训练并评估


二、目标检测与实例分割微调(Mask R-CNN)

2.1 数据集准备

官方源(推荐):Penn-Fudan Database for Pedestrian Detection and Segmentation。在页面中找到 "Download zipped file here" 的链接即可下载

Penn-Fudan 数据集结构:

PennFudanPed/ PNGImages/ # 原始图像 PedMasks/ # 分割掩码(不同实例用不同颜色编码)

每张图像对应一个掩码图,掩码中像素值 0 表示背景,非零值表示不同实例。

2.2 自定义数据集类 PennFudanDataset

关键要求:继承 torch.utils.data.Dataset,实现 __len__ 和 __getitem__
返回字典 target 必须包含

  • boxes (FloatTensor[N,4]):[x0, y0, x1, y1] 格式

  • labels (Int64Tensor[N])

  • image_id (Int64Tensor[1])

  • area (Tensor[N])

  • iscrowd (UInt8Tensor[N])

  • masks (UInt8Tensor[N,H,W]) – 可选,但 Mask R-CNN 需要

代码解释

class PennFudanDataset(object): def __getitem__(self, idx): # 加载图像和 mask img = Image.open(img_path).convert("RGB") mask = Image.open(mask_path) mask = np.array(mask) # 获取所有实例 ID(非零值) obj_ids = np.unique(mask)[1:] # 将 mask 拆分为多个二值 mask masks = mask == obj_ids[:, None, None] # 计算每个实例的边界框 boxes = [] for i in range(len(obj_ids)): pos = np.where(masks[i]) xmin, xmax = np.min(pos[1]), np.max(pos[1])
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/23 16:05:41

3A分子筛乙醇脱水的实验装置设计方案

吸附塔规格为 DN100 1800 mm(内径100 mm,总高1800 mm),假设这是单塔的有效尺寸(双塔系统每个塔相同),用于液相3A分子筛乙醇脱水(95%乙醇 → ≥99.5%无水乙醇)&#xff0…

作者头像 李华
网站建设 2026/6/23 15:35:36

智能体协同进化框架:驱动自动化可视化分析的新范式

1. 项目概述:当智能体“遇见”可视化分析最近在跟几个做数据分析和产品经理的朋友聊天,大家不约而同地提到了一个痛点:现在的数据分析工具越来越强大,但用起来也越来越“割裂”。业务人员提一个需求,数据工程师吭哧吭哧…

作者头像 李华
网站建设 2026/6/23 15:33:12

垂直图表与数据驱动可视化:植物生态数据交互界面设计实践

1. 项目概述:当植物学遇上数据可视化 最近在做一个挺有意思的项目,客户是某生态研究所,他们手头积累了海量的植物生长监测数据,比如不同光照周期下的叶片面积变化、土壤湿度与茎秆高度的关联、甚至是二氧化碳浓度对植物整体形态的…

作者头像 李华
网站建设 2026/6/23 15:14:31

软件日志管理化的记录收集与分析

软件日志管理化的记录收集与分析 在数字化时代,软件系统已成为企业运营的核心支撑。随着系统规模扩大和复杂度提升,日志数据呈现爆炸式增长。如何高效收集、存储和分析日志,成为运维和开发团队的重要课题。软件日志管理化通过标准化流程和工…

作者头像 李华
网站建设 2026/6/23 14:53:36

Web认证安全实战:从OWASP指南到代码落地的纵深防御体系

1. 项目概述:为什么我们需要一本实战版的认证安全指南? 干了十几年Web开发和安全审计,我见过太多因为认证环节出问题而“翻车”的项目。一个精心设计的业务逻辑,一套性能优异的数据库,可能就因为登录接口的一个小疏忽&…

作者头像 李华