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

邢台做网站建设优化制作公司微博内网站怎么做的

邢台做网站建设优化制作公司,微博内网站怎么做的,网站建设调研,百度seo怎么收费文章目录 微调总结 微调代码实现 微调 总结 微调通过使用在大数据上的恶道的预训练好的模型来初始化模型权重来完成提升精度。预训练模型质量很重要微调通常速度更快、精确度更高 微调代码实现 导入相关库 %matplotlib inline import os import torch import torchvision f…

文章目录

    • 微调
      • 总结
    • 微调代码实现

微调

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

总结

  • 微调通过使用在大数据上的恶道的预训练好的模型来初始化模型权重来完成提升精度。
  • 预训练模型质量很重要
  • 微调通常速度更快、精确度更高

微调代码实现

  1. 导入相关库
%matplotlib inline
import os
import torch
import torchvision
from torch import nn
from d2l import torch as d2l
import matplotlib as plt
  1. 获取数据集
d2l.DATA_HUB['hotdog'] = (d2l.DATA_URL + 'hotdog.zip','fba480ffa8aa7e0febbb511d181409f899b9baa5')data_dir = d2l.download_extract('hotdog')
train_imgs = torchvision.datasets.ImageFolder(os.path.join(data_dir,'train'))
test_imgs = torchvision.datasets.ImageFolder(os.path.join(data_dir,'test'))
print(train_imgs)
print(train_imgs[0])
train_imgs[0][0]

在这里插入图片描述
查看数据集中图像的形状

hotdogs = [train_imgs[i][0] for i in range(8)]
not_hotdogs= [train_imgs[-i-1][0] for i in range(8)]
d2l.show_images(hotdogs + not_hotdogs, 2 ,8, scale=1.4)

在这里插入图片描述

  1. 数据增强
# 图像增广
normalize = torchvision.transforms.Normalize([0.485, 0.456, 0.406], [0.229, 0.224,0.225]
)
train_augs = torchvision.transforms.Compose(  # 训练集数据增强[torchvision.transforms.RandomResizedCrop(224),torchvision.transforms.RandomHorizontalFlip(),torchvision.transforms.ToTensor(),normalize]
)
test_augs = torchvision.transforms.Compose(  # 验证集不做数据增强[torchvision.transforms.Resize(256),torchvision.transforms.CenterCrop(224),torchvision.transforms.ToTensor(),normalize]
)
  1. 定义和初始化模型
# 下载resnet18,
# 老:pretrain=True: 也下载预训练的模型参数
# 新:weights=torchvision.models.ResNet18_Weights.IMAGENET1K_V1
pretrained_net = torchvision.models.resnet18(weights=torchvision.models.ResNet18_Weights.IMAGENET1K_V1)
print(pretrained_net.fc)

在这里插入图片描述

  1. 微调模型
  • (1)直接修改网络层(如最后全连接层:512—>1000,改成512—>2)
  • (2)在增加一层分类层(如:512—>1000, 改成512—>1000, 1000—>2)

本次选择(1):将resnet18最后全连接层的输出,改成自己训练集的类别,并初始化最后全连接层的权重参数

finetune_net = pretrained_net
finetune_net.fc = nn.Linear(finetune_net.fc.in_features, 2)
nn.init.xavier_uniform_(finetune_net.fc.weight)

在这里插入图片描述

print(finetune_net)

在这里插入图片描述

  1. 训练模型
  • 特征提取层(预训练层):使用较小的学习率
  • 输出全连接层(微调层):使用较大的学习率
def train_fine_tuning(net, learning_rate, batch_size=128, num_epochs=10, param_group=True):train_iter = torch.utils.data.DataLoader(torchvision.datasets.ImageFolder(os.path.join(data_dir,'train'), transform=train_augs),batch_size=batch_size,shuffle=True)test_iter = torch.utils.data.DataLoader(torchvision.datasets.ImageFolder(os.path.join(data_dir, 'test'), transform=test_augs),batch_size=batch_size)device = d2l.try_all_gpus()loss = nn.CrossEntropyLoss(reduction='none')if param_group:params_1x = [param for name, param in net.named_parameters()if name not in ['fc.weight', 'fc.bias']]trainer = torch.optim.SGD([{'params': params_1x}, {'params': net.fc.parameters(), 'lr': learning_rate * 10}],lr=learning_rate, weight_decay=0.001)else:trainer = torch.optim.SGD(net.parameters(),lr=learning_rate,weight_decay=0.001)d2l.train_ch13(net, train_iter, test_iter, loss,trainer, num_epochs, device)

训练模型

import time# 在开头设置开始时间
start = time.perf_counter()  # start = time.clock() python3.8之前可以train_fine_tuning(finetune_net, 5e-5, 128, 10)# 在程序运行结束的位置添加结束时间
end = time.perf_counter()  # end = time.clock()  python3.8之前可以# 再将其进行打印,即可显示出程序完成的运行耗时
print(f'运行耗时{(end-start):.4f} s')

在这里插入图片描述

直接训练:整个模型都使用相同的学习率,重新训练

scracth_net = torchvision.models.resnet18()
scracth_net.fc = nn.Linear(scracth_net.fc.in_features, 2)import time# 在开头设置开始时间
start = time.perf_counter()  # start = time.clock() python3.8之前可以train_fine_tuning(scracth_net, 5e-4, param_group=False)# 在程序运行结束的位置添加结束时间
end = time.perf_counter()  # end = time.clock()  python3.8之前可以# 再将其进行打印,即可显示出程序完成的运行耗时
print(f'运行耗时{(end-start):.4f} s')

在这里插入图片描述

http://www.15wanjia.com/news/157306.html

相关文章:

  • 石狮网站建设科技怎么做区块链媒体网站
  • 有些网站勤换域名祥云建站平台
  • 做网站需要注意的地方汕头公关公司
  • 最便宜的网站如何本地搭建自己的网站
  • 网站策划书背景介绍建站论坛
  • 网站吸流量邢台太行中学怎么样
  • 南昌微信公众号制作网站维护优化
  • 贵阳网站建设企业怎么更改wordpress文件上传大小
  • 百度怎么验证网站做企业官网的流程
  • 网站开发与维修是什么意思广西南宁云尚网络科技有限公司
  • 网站建设Skype打不开重庆工程建设信息网官网入口
  • wordpress漂亮手机网站模板下载中国wix网站制作公司
  • 建设网站的会计分录正规赚佣金的平台
  • 怎么在建设银行网站挂号贵阳seo网站管理
  • 微信公众账号登录官网凌源网站优化
  • 广州网站开发水平广州亦客网络如何做一个平台
  • 怎么免费建自己的网站企业信息查询网
  • 浙江省住建厅网站计算机专业类哪个最好
  • 西部数码网站助手教程云计算培训费用多少钱
  • 南京市公共建设管理中心网站平乡网站制作
  • 上海网站建设开发抑郁症图片加时间生成器在线制作
  • 试用网站要怎么做官方网站怎么查询
  • 申请免费个人网站和域名多说wordpress插件
  • 青岛企业网站建站模板梵克雅宝官网官方网
  • 网站建设 中企动力西安二维码制作免费
  • 网站建设的具体流程最近国际时事热点事件
  • 个人网站要备案么做程序员需要什么条件
  • 睢宁做网站公司网页设计颜色代码表
  • 东莞高端建站公司免费网站建设服务
  • 天元建设集团有限公司技术中心经理怎样做网站后台优化