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

pytorch学习笔记-加载现有的网络模型(VGG16)、增加/修改其中的网络层(修改为10分类)

写在前面:有些地方和视频里不一样的是因为官方文档更新了,一些参数用法不一样也很正常,包括我现在的也是我这个时间节点最新的,谁知道过段时间会不会更新呢= =建议大家不要一味看视频/博客,多看看官方文档才是正道(

加载现有的网络模型

加载有两种方式加载,一种是直接加载固有的网络结构,这种比较简单,还有一种是将原有的网络训练好的参数也下载下来,这种加载的时候如果原来没有的话会自动下载,如下:
在这里插入图片描述
对应的用法如下:

#只加载网络结构
vgg16_false = torchvision.models.vgg16(weights=None)
print(vgg16_false)#加载网络结构and参数
vgg16_true = torchvision.models.vgg16(weights='DEFAULT')
print(vgg16_true)

VGG16原有结构(图太长了,开头没截全,重点关注最后的就ok)
在这里插入图片描述

在最后加入新层(以修改为10分类为例)

#在最后加入新层
vgg16_true.add_module('my_add_linear1',nn.Linear(1000,10))
print(vgg16_true)

在这里插入图片描述

在原有区域块中加入新层

#在原有区域块中加入新层
vgg16_true.classifier.add_module('my_add_linear2',nn.Linear(1000,10))
print(vgg16_true)

在这里插入图片描述

对原有层进行修改

#对原有层进行修改
vgg16_false.classifier[6] = nn.Linear(4096, 10)
print(vgg16_false)

在这里插入图片描述

http://www.lryc.cn/news/621396.html

相关文章:

  • 分布式锁—Redisson的公平锁
  • 如何更好地使用AI编程?
  • MySQL窗口函数与PyMySQL以及SQL注入
  • C#笔记啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊
  • JavaScript 解构赋值语法详解
  • 开源卫星软件平台LibreCube技术深度解析
  • DAY 42 Grad-CAM与Hook函数
  • 一文讲透Go语言并发模型
  • PHP现代化全栈开发:实时应用与WebSockets实践
  • PIDGenRc函数中lpstrRpc的由来和InitializePidVariables函数的关系
  • 技术速递|通过 GitHub Models 在 Actions 中实现项目自动化
  • 状态管理、网络句柄、功能组和功能组状态的逻辑关系
  • 提升工作效率的利器:GitHub Actions Checkout V5
  • 【力扣56】合并区间
  • Linux软件编程(四)多任务与多进程管理
  • CMake进阶: externalproject_add用于在构建阶段下载、配置、构建和安装外部项目
  • Google Gemini 的深度研究终于进入 API 阶段
  • 入门概述(面试常问)
  • CodeTop 复习
  • C#WPF实战出真汁01--项目介绍
  • C++入门自学Day11-- List类型的自实现
  • Claude Code频繁出错怎么办?深入架构层面的故障排除指南
  • 力扣-5.最长回文子串
  • Python3 详解:从基础到进阶的完整指南
  • RS232串行线是什么?
  • 机器学习-支持向量机器(SVM)
  • 机器学习——TF-IDF算法
  • 2025天府杯数学建模A题分析
  • Docker存储卷备份策略于VPS服务器环境的实施标准与恢复测试
  • 【ai写代码】lua-判断表是否被修改