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

微商做百度推广发哪个网站收录高互动营销案例分析

微商做百度推广发哪个网站收录高,互动营销案例分析,网上购物系统源码,1688货源网一件代发下载标注数据集很贵 网络架构 1.一般神经网络分为两块,一是特征抽取原始像素变成容易线性分割的特征,二是线性分类器来做分类 微调 1.原数据集不能直接使用,因为标号发生改变,通过微调可以仍然对我数据集做特征提取 2.pre-train源…

标注数据集很贵

网络架构

1.一般神经网络分为两块,一是特征抽取原始像素变成容易线性分割的特征,二是线性分类器来做分类

微调

1.原数据集不能直接使用,因为标号发生改变,通过微调可以仍然对我数据集做特征提取

2.pre-train源数据集后,迁移模型中的架构,调整权重

3.是一个目标数据集上的正常训练任务,但使用更强的正则化(更小的学习率、更少的数据迭代)

4.源数据集远复杂于目标数据,通常微调效果更好

重用分类器权重

1.源数据集可能也有目标数据中的部分标号

2.可以使用预训练好的模型分类器中对应标号对应的向量来初始化

固定一些层

1.神经网络通常学习有层次的特征表达,低层次的特征更加通用,高层次的特征则和数据集相关

2.可以固定底部一些层的参数,不参与更新,更强的正则化

总结

1.微调通过使用在大数据上得到的预训练好的模型来初始化模型权重来提升精度

2.预训练模型质量很重要

3.微调通常速度更快、精度更高

代码实现——热狗识别

%matplotlib inline
import os
import torch
import torchvision
from torch import nn
from d2l import torch as d2l

获取数据集

解压下载热狗数据集,一共1400张热狗“正向”图片,其他尽可能多的其他食物“负向”图片,解压下载的数据集,我们获得了两个文件夹hotdog/train和hotdog/test。 这两个文件夹都有hotdog(有热狗)和not-hotdog(无热狗)两个子文件夹, 子文件夹内都包含相应类的图像。

d2l.DATA_HUB['hotdog'] = (d2l.DATA_URL + 'hotdog.zip','fba480ffa8aa7e0febbb511d181409f899b9baa5')data_dir = d2l.download_extract('hotdog')
Downloading ../data/hotdog.zip from http://d2l-data.s3-accelerate.amazonaws.com/hotdog.zip...

读取训练集和测试集的图片

train_imgs = torchvision.datasets.ImageFolder(os.path.join(data_dir, 'train'))
test_imgs = torchvision.datasets.ImageFolder(os.path.join(data_dir, 'test'))

前8个正类、后8个负类,图片的大小和高宽比不同。

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);

在这里插入图片描述

训练:从图像中裁切随机大小和随机长宽比的区域,然后将该区域缩放为224X224
输入图像。
测试:我们将图像的高度和宽度都缩放到256像素,然后裁剪中央224X224
区域作为输入。

此外,对于RGB(红、绿和蓝)颜色通道,我们分别标准化每个通道。 具体而言,该通道的每个值减去该通道的平均值,然后将结果除以该通道的标准差。

# 使用RGB通道的均值和标准差,以标准化每个通道
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, 256]),torchvision.transforms.CenterCrop(224),torchvision.transforms.ToTensor(),normalize])

初始化模型

使用在ImageNet数据集上预训练的ResNet-18作为源模型。 在这里,我们指定pretrained=True以自动下载预训练的模型参数。 如果首次使用此模型,则需要连接互联网才能下载。

pretrained_net = torchvision.models.resnet18(pretrained=True)
/usr/local/lib/python3.10/dist-packages/torchvision/models/_utils.py:208: UserWarning: The parameter 'pretrained' is deprecated since 0.13 and may be removed in the future, please use 'weights' instead.warnings.warn(
/usr/local/lib/python3.10/dist-packages/torchvision/models/_utils.py:223: UserWarning: Arguments other than a weight enum or `None` for 'weights' are deprecated since 0.13 and may be removed in the future. The current behavior is equivalent to passing `weights=ResNet18_Weights.IMAGENET1K_V1`. You can also use `weights=ResNet18_Weights.DEFAULT` to get the most up-to-date weights.warnings.warn(msg)
Downloading: "https://download.pytorch.org/models/resnet18-f37072fd.pth" to /root/.cache/torch/hub/checkpoints/resnet18-f37072fd.pth
100%|██████████| 44.7M/44.7M [00:00<00:00, 111MB/s]

fc:预训练的源模型实例包含许多特征层和一个输出层fc。 此划分的主要目的是促进对除输出层以外所有层的模型参数进行微调。

# fc
pretrained_net.fc
Linear(in_features=512, out_features=1000, bias=True)

目标模型finetune_net中成员变量features的参数被初始化为源模型相应层的模型参数。 由于模型参数是在ImageNet数据集上预训练的,并且足够好,因此通常只需要较小的学习率即可微调这些参数。

成员变量output的参数是随机初始化的,通常需要更高的学习率才能从头开始训练。 假设Trainer实例中的学习率为n,我们将成员变量output中参数的学习率设置为10n。

finetune_net = torchvision.models.resnet18(pretrained=True)
finetune_net.fc = nn.Linear(finetune_net.fc.in_features, 2)
nn.init.xavier_uniform_(finetune_net.fc.weight);

训练模型微调

# 如果param_group=True,输出层中的模型参数将使用十倍的学习率
def train_fine_tuning(net, learning_rate, batch_size=128, num_epochs=5,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)devices = 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,devices)

使用较小的学习率

train_fine_tuning(finetune_net, 5e-5)
loss 0.238, train acc 0.910, test acc 0.941
360.1 examples/sec on [device(type='cuda', index=0)]

在这里插入图片描述

为了比较,定义相同的模型,但需较大学习率

scratch_net = torchvision.models.resnet18()
scratch_net.fc = nn.Linear(scratch_net.fc.in_features, 2)
train_fine_tuning(scratch_net, 5e-4, param_group=False)
loss 0.403, train acc 0.821, test acc 0.791
366.6 examples/sec on [device(type='cuda', index=0)]

在这里插入图片描述

http://www.hengruixuexiao.com/news/26794.html

相关文章:

  • wordpress 用户前台seo教程技术资源
  • 美国电话号码生成器东莞seo建站优化哪里好
  • 宜兴建设局网站seo快排
  • 网站制作背景怎么做网站优化排名
  • 网站建设会面临些什么问题优化技术
  • 拆车件交易网提升seo排名
  • 怎么把自己电脑建设网站纹身网站设计
  • 哪些网站可以做旅游seo有些什么关键词
  • 如何制作免费的公司网站收录情况
  • 网站建设分金手指排名四外包公司和劳务派遣的区别
  • 沈阳做网站哪家公司好互联网营销师证书
  • 做网站有虚拟服务器温州seo顾问
  • 防伪码查询网站怎么做的营销网络的建设
  • 手机做网站软件推广软件排行榜前十名
  • wordpress手机底部导航栏设置seo工作内容
  • 德国ba保镖商城网站哪个公司做的网站首页的优化
  • 网站建设要程序员吗如何自己做一个软件
  • pc网站建设需要提供哪些资料怎么找到当地的微信推广
  • 新乡专业做网站互联网营销师怎么做
  • wordpress 开发分销佛山百度提升优化
  • 线上电脑培训班上海做网站优化
  • b2b 网站 建设靠谱的代运营公司有哪些
  • 有哪些网站可以学做糕点的重庆森林电影简介
  • 公司网站制作步骤在线网页制作网站
  • 做伊朗的外贸公司网站郑州做网站推广电话
  • 济南政府网站建设深圳百度代理
  • 个人设计网站论文摘要网站点击量与排名
  • 龙岗网站设计讯息他达拉非片多少钱一盒
  • ui做交互式网站吗关键词推广软件
  • 企业官网用什么系统网站优化排名推荐