学习笔记11:预训练模型

转自:https://www.cnblogs.com/miraclepbc/p/14348536.html

什么是预训练网络

预训练模型就是之前用较大的数据集训练出来的模型,这个模型通过微调,在另外类似的数据集上训练。
一般预训练模型规模比较大,训练起来占用大量的内存资源。

微调预训练网络

我们采用vgg16作为预训练模型,来实现上一篇中四种天气的识别。
我们可以先来看一下vgg16的网络架构:
首先是一系列的卷积层和池化层

然后是一个全局池化层,全局池化层可以取代view
全局池化层之后,是分类器,而我们要改的就是这个分类器
分类器需要改的地方就只有最后的输出维度

模型加载及修改代码

model = models.vgg16(pretrained = True) # 加载模型,pretrained参数设置为True

for p in model.features.parameters():
    p.requries_grad = False             # 卷积层不变

model.classifier[-1].out_features = 4   # 分类器最后一个全连接层的输出维度改为4

注意训练的时候尽量使用gpu,不然的话内存可能会不够

posted @   有何m不可  阅读(34)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
历史上的今天:
2023-06-04 Kubescape入门
点击右上角即可分享
微信分享提示