做网站和推广需要多少钱,电子商务网站建设课程性质,内蒙古两学一做网站,玉溪市网站建设推广文章目录 数据集可视化预训练模型的使用部分实现 推理 迁移学习#xff1a;在一个很大的数据集上训练得到一个预训练模型#xff0c;然后使用该模型来初始化网络的权重参数或作为固定特征提取器应用于特定的任务中。本章学习使用的是前面学过的ResNet50#xff0c;使用迁移学… 文章目录 数据集可视化预训练模型的使用部分实现 推理 迁移学习在一个很大的数据集上训练得到一个预训练模型然后使用该模型来初始化网络的权重参数或作为固定特征提取器应用于特定的任务中。本章学习使用的是前面学过的ResNet50使用迁移学习的方法对ImageNet数据集中的狼和狗图像进行分类。
数据集可视化 预训练模型的使用
搭建好模型框架后通过将pretrained参数设置为True来下载ResNet50的预训练模型并将权重参数加载到网络中。使用固定特征进行训练的时候需要冻结除最后一层之外的所有网络层。通过设置 requires_grad False 冻结参数以便不在反向传播中计算梯度。
部分实现
import matplotlib.pyplot as plt
import os
import time
# 修改参数1pretrainedTrue
net_work resnet50(pretrainedTrue)# 全连接层输入层的大小
in_channels net_work.fc.in_channels
# 输出通道数大小为狼狗分类数2
head nn.Dense(in_channels, 2)
# 重置全连接层
net_work.fc head# 平均池化层kernel size为7
avg_pool nn.AvgPool2d(kernel_size7)
# 重置平均池化层
net_work.avg_pool avg_pool# 冻结除最后一层外的所有参数
for param in net_work.get_parameters():if param.name not in [fc.weight, fc.bias]:# 修改参数2param.requires_grad False# 定义优化器和损失函数
opt nn.Momentum(paramsnet_work.trainable_params(), learning_ratelr, momentum0.5)
loss_fn nn.SoftmaxCrossEntropyWithLogits(sparseTrue, reductionmean)def forward_fn(inputs, targets):logits net_work(inputs)loss loss_fn(logits, targets)return lossgrad_fn ms.value_and_grad(forward_fn, None, opt.parameters)def train_step(inputs, targets):loss, grads grad_fn(inputs, targets)opt(grads)return loss# 实例化模型
model1 train.Model(net_work, loss_fn, opt, metrics{Accuracy: train.Accuracy()})推理 此章节学习到此结束感谢昇思平台。