首页
/
行业洞察
/
正文
INDUSTRY INSIGHT · 深度
25.现有网络模型的使用及修改
📅 2026/10/14 3:27:20
✍️ 爱科研究院
👁 阅读 3,247
VGG- torch vision.models.vgg16介绍1关于pretrained参数如果说为FALSE的话这些参数就是初始化的参数它没有在任何数据集上进行一个训练。创建一个不加载预训练权重的 VGG16 网络模型也就是只搭建网络结构里面的参数全是随机初始化的默认值。总的来说pretrainedFalse 表示不下载和使用在 ImageNet 数据集上训练好的权重参数模型的所有参数都是随机初始化的。对应的 pretrainedTrue 则会从网络下载预训练权重在 ImageNet 上训练好的参数模型直接具备一定的特征提取能力。2关于progress参数progress如果为true的话它会显示一个下载进度条。torchvision.datasets.ImageNet数据集数据集选择课程使用CIFAR-10因为其体积小(便于下载)实际应用可选择更大数据集如ImageNetImageNet参数root指定数据集存储路径split选择训练集(‘train’)或验证集(‘val’)transform对输入图像进行预处理(是否要在图像上进行变幻target_transform对标签进行转换是否要在target上进行变幻loader自定义图像加载函数依赖要求使用ImageNet数据集需要安装scipy包如何验证当前环境已安装scipy包环境激活确认在终端中正确激活的PyTorch环境会在命令行前显示环境名称如(pytorch)查看已安装包使用pip list命令可查看当前环境所有已安装的Python包安装缺失包若未找到所需包使用pip install scipy进行安装imagenet数据集下载如上报错下载限制ImageNet数据集已不再提供公开访问需要手动下载压缩文件并放置到根目录下载方法通过学术种子网站获取训练集和验证集种子文件训练集文件名为ILSVRC2012_img_train.tar大小147.9GB验证集文件名为ILSVRC2012_img_val.tar使用迅雷等下载工具进行下载但是如上数据集过大下载时间过长了。作罢。torchvision.models.vgg16: 预定义模型分类模型我们打印vgg16_true,会发现分类vgg16模型其实也是分类模型分出的类别有1000个(最后一行out_features是1000pretrained-False模式仅加载网络架构参数为默认初始化值不需要下载额外数据pretrained-True模式加载ImageNet预训练参数需要从网络下载约528MB参数文件参数已在ImageNet数据集上优化过在vgg16_true和vgg16_false的classifier属性中选择protected attributes _modules 查看第1个的weight权重pretrained设置为true或者false的情况下它下载的网络模型的weight有什么差别?目前看不太出来差别。理论上的参数差异pretrainedTrue时参数为经过预训练后的具体数值pretrainedFalse时参数多为0或接近0的初始化值torchvision.models.vgg16相当于我们之前写的网络架构的作用即如下tudui类的作用两者是替换的作用torchvision.models.vgg16模型加载ImageNet数据集限制官方不再开放下载需手动下载100GB数据并解压到指定目录替代方案使用小型数据集如CIFAR-10验证模型类别数量差异:CIFAR-10数据集仅10类VGG16模型(基于ImageNet)输出1000类模型适配问题: 需要调整网络输出层以适应不同类别数量的数据集使用CIFAR-1010类适配VGG16原输出1000类的两种方法1.修改最后一层Linear(4096, 10)2.追加新层Linear(1000, 10)# -*- coding: utf-8 -*-# 作者小土堆# 公众号土堆碎念importtorchvision# train_data torchvision.datasets.ImageNet(../data_image_net, splittrain, downloadTrue,# transformtorchvision.transforms.ToTensor())fromtorchimportnn vgg16_falsetorchvision.models.vgg16(pretrainedFalse)# 加载未预训练的VGG16模型vgg16_truetorchvision.models.vgg16(pretrainedTrue)# 加载预训练的VGG16模型#print(ok)#train_datatorchvision.datasets.CIFAR10(../data,trainTrue,transformtorchvision.transforms.ToTensor(),downloadTrue)vgg16_true.classifier.add_module(add_linear,nn.Linear(1000,10))# 添加层法在现有网络后添加新的线性层输入1000输出10print(vgg16_true)print(vgg16_false)# 直接修改法将最后的全连接层输出特征数从1000改为10vgg16_false.classifier[6]nn.Linear(4096,10)print(vgg16_false)修改前的vgg16_true的classifier修改后的vgg16_true的classifier确实新添加了一层。修改前的vgg16_false.classifier修改后的vgg16_false.classifier我们看出最后的全连接层输出特征数从1000改为10了。
📌 标签:
工业官网
设计趋势
AI 建站
SEO
获取完整报告 →
RELATED ARTICLES
推荐阅读
2026/10/14 3:27:20
typedef与iterator_traits:STL迭代器类型契约的核心机制
2026/10/14 3:27:20
第168篇 阴影与海拔:elevation 的绘制代价
2026/10/14 3:27:20
第162篇Compose 动画:animate 与 Transition
2026/10/14 6:27:30
Google Colab免费GPU实战指南:从环境配置到防断连技巧
2026/10/14 6:27:30
Python批量文件整理工具:按关键词自动分类与安全移动的完整实践
2026/10/14 6:27:30
2026海外网红营销实操指南:从筛选、谈判到内容共创与长效转化
2026/10/14 6:27:30
MapReduce词频统计原理与工程实践全解析
2026/10/14 6:27:30
Temu Y2 利润计算器:从定价公式到店铺利润落地
2026/10/14 6:22:30
Blender 3MF插件:解决3D打印数据失真与工作流断层问题
2026/10/14 0:02:01
Oracle 19c Windows客户端安装配置与连接排错指南
2026/10/14 0:02:01
React Native截图优化:解决Android兼容性问题
2026/10/14 0:02:01
金属锈蚀速率计算模型与防护方案优化实践
2026/10/13 12:25:09
流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南
2026/10/13 18:15:04
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别
2026/10/13 8:14:22
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容
2026/10/12 19:53:23
我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频
2026/10/11 21:41:11
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证
2026/10/11 23:43:10
2026 大模型集体涨价:用 Python 做企业 Token 成本测算与选型避坑(附配置)