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

企业形象vi设计公司乐陵seo外包公司

企业形象vi设计公司,乐陵seo外包公司,拓普网站建设,东莞专业网文章目录 一、网络模型的搭建二、网络模型正确性检验三、创建网络函数 一、网络模型的搭建 以CIFAR10数据集作为训练例子 准备数据集: #因为CIFAR10是属于PRL的数据集,所以需要转化成tensor数据集 train_data torchvision.datasets.CIFAR10(root&quo…

文章目录

    • 一、网络模型的搭建
    • 二、网络模型正确性检验
    • 三、创建网络函数

一、网络模型的搭建

以CIFAR10数据集作为训练例子

准备数据集:

#因为CIFAR10是属于PRL的数据集,所以需要转化成tensor数据集
train_data = torchvision.datasets.CIFAR10(root="./data", train=True, transform=torchvision.transforms.ToTensor(),download=True)
test_data = torchvision.datasets.CIFAR10(root="./data", train=False, transform=torchvision.transforms.ToTensor(),download=True)

查看数据集的长度:

train_data_size = len(train_data)
test_data_size = len(test_data)
print(f"训练数据集的长度为{train_data_size}")
print(f"测试数据集的长度为{test_data_size}")

运行结果:
在这里插入图片描述

利用DataLoader来加载数据集:

train_dataloader = DataLoader(train_data,batch_size=64)
test_dataloader = DataLoader(test_data,batch_size=64)

搭建CIFAR10数据集神经网络:
在这里插入图片描述
卷积层【1】代码解释:
#第一个数字3表示inputs(可以看到图中为3),第二个数字32表示outputs(图中为32)
#第三个数字5为卷积核(图中为5),第四个数字1表示步长(stride)
#第五个数字表示padding,需要计算,计算公式:
在这里插入图片描述

nn.Conv2d(3, 32, 5, 1, 2)

最大池化代码解释:
#数字2表示kernel卷积核

nn.MaxPool2d(2)

读图
卷积层【1】的Inputs 和 Outputs是下图这两个:
在这里插入图片描述

最大池化【1】的Inputs 和 Outputs是下图这两个:
在这里插入图片描述
卷积层【2】的Inputs 和 Outputs是下图这两个:
在这里插入图片描述
以此类推

展平:
在这里插入图片描述
Flatten后它会变成64*4 *4的一个结果

线性输出:
在这里插入图片描述
线性输入是64*4 *4,线性输出是64,故如下代码
nn.LInear(64 *4 *4,64)

继续线性输出
在这里插入图片描述
nn.LInear(64,10)

搭建网络完整代码:

class Sen(nn.Module):def __init__(self):super(Sen, self).__init__()self.model = nn.Sequential(nn.Conv2d(3, 32, 5, 1, 2),nn.MaxPool2d(2),nn.Conv2d(32, 32, 5, 1 ,2),nn.MaxPool2d(2),nn.Conv2d(32, 64, 5, 1, 2),nn.MaxPool2d(2),nn.Flatten(),nn.Linear(64*4*4, 64),nn.Linear(64, 10))def forward(self,x):x = self.model(x)return x

二、网络模型正确性检验

if __name__ == '__main__':sen = Sen()input = torch.ones((64, 3, 32, 32))output = sen(input)print(output.shape)

注释:

input = torch.ones((64, 3, 32, 32))

这一行代码的含义是:创建一个大小为 (64, 3, 32, 32) 的全 1 张量,数据类型为 torch.float32。
64:这是批次大小,代表输入有 64 张图片。
3:这是图片的通道数,通常为 RGB 图像的三个通道 (红、绿、蓝)。
32, 32:这是图片的高和宽,表示每张图片的尺寸为 32x32 像素。
torch.ones 函数用于生成一个全 1 的张量,这里的张量形状适合用于输入图像分类或卷积神经网络(CNN)中常见的 CIFAR-10 或类似的 32x32 像素图像数据。

运行结果:
在这里插入图片描述
可以得到成功变成了【64, 10】的结果。

三、创建网络函数

创建网络模型:

sen = Sen()

搭建损失函数:

loss_fn = nn.CrossEntropyLoss()

优化器:

learning_rate = 1e-2
optimizer = torch.optim.SGD(sen.parameters(), lr=learning_rate)

优化器注释:
使用随机梯度下降(SGD)优化器
learning_rate = 1e-2 这里的1e-2代表的是:1 x (10)^(-2) = 1/100 = 0.01

记录训练的次数:

total_train_step = 0

记录测试的次数:

total_test_step = 0

训练的轮数:

epoch= 10

进行循环训练:

for i in range(epoch):print(f"第{i+1}轮训练开始")for data in train_dataloader:imgs, targets = dataoutputs = sen(imgs)loss = loss_fn(outputs, targets)optimizer.zero_grad()loss.backward()optimizer.step()total_train_step = total_train_step + 1print(f"训练次数:{total_train_step},Loss:{loss.item()}")

注释:
imgs, targets = data是解包数据,imgs 是输入图像,targets 是目标标签(真实值)
outputs = sen(imgs)将输入图像传入模型 ‘sen’,得到模型的预测输出 outputs
loss = loss_fn(outputs, targets)计算损失值(Loss),loss_fn 是损失函数,它比较outputs的值与targets 是目标标签(真实值)的误差
optimizer.zero_grad()清除优化器中上一次计算的梯度,以免梯度累积
loss.backward()反向传播,计算损失相对于模型参数的梯度
optimizer.step()使用优化器更新模型的参数,以最小化损失
loss.item() 将张量转换为 Python 的数值
loss.item演示:

import torch
a = torch.tensor(5)
print(a)
print(a.item())

运行结果:
在这里插入图片描述
因此可以得到:item的作用是将tensor变成真实数字5

本章节完整代码展示:

import torchvision.datasets
from torch import nn
from torch.utils.data import DataLoaderclass Sen(nn.Module):def __init__(self):super(Sen, self).__init__()self.model = nn.Sequential(nn.Conv2d(3, 32, 5, 1, 2),nn.MaxPool2d(2),nn.Conv2d(32, 32, 5, 1 ,2),nn.MaxPool2d(2),nn.Conv2d(32, 64, 5, 1, 2),nn.MaxPool2d(2),nn.Flatten(),nn.Linear(64*4*4, 64),nn.Linear(64, 10))def forward(self,x):x = self.model(x)return x
#准备数据集
#因为CIFAR10是属于PRL的数据集,所以需要转化成tensor数据集
train_data = torchvision.datasets.CIFAR10(root="./data", train=True, transform=torchvision.transforms.ToTensor(),download=True)
test_data = torchvision.datasets.CIFAR10(root="./data", train=False, transform=torchvision.transforms.ToTensor(),download=True)#length长度
train_data_size = len(train_data)
test_data_size = len(test_data)
print(f"训练数据集的长度为{train_data_size}")
print(f"测试数据集的长度为{test_data_size}")train_dataloader = DataLoader(train_data,batch_size=64)
test_dataloader = DataLoader(test_data,batch_size=64)sen = Sen()#损失函数
loss_fn = nn.CrossEntropyLoss()#优化器
learning_rate = 1e-2
optimizer = torch.optim.SGD(sen.parameters(), lr=learning_rate)#记录训练的次数
total_train_step = 0
#记录测试的次数
total_test_step = 0
#训练的轮数
epoch= 10for i in range(epoch):print(f"第{i+1}轮训练开始")for data in train_dataloader:imgs, targets = dataoutputs = sen(imgs)loss = loss_fn(outputs, targets)optimizer.zero_grad()loss.backward()optimizer.step()total_train_step = total_train_step + 1print(f"训练次数:{total_train_step},Loss:{loss.item()}")

运行结果:
在这里插入图片描述
可以看到训练的损失函数在一直进行修正。


文章转载自:
http://jackstaff.c7627.cn
http://lachrymatory.c7627.cn
http://unaccessible.c7627.cn
http://rocketsonde.c7627.cn
http://disharmony.c7627.cn
http://soar.c7627.cn
http://chimaeric.c7627.cn
http://lsat.c7627.cn
http://barometric.c7627.cn
http://distinctive.c7627.cn
http://replamineform.c7627.cn
http://magistrate.c7627.cn
http://gristmill.c7627.cn
http://sampan.c7627.cn
http://skutari.c7627.cn
http://bylaw.c7627.cn
http://peracute.c7627.cn
http://autogamic.c7627.cn
http://digitated.c7627.cn
http://headdress.c7627.cn
http://beehive.c7627.cn
http://disenthralment.c7627.cn
http://snakebite.c7627.cn
http://micromanipulation.c7627.cn
http://team.c7627.cn
http://densometer.c7627.cn
http://reune.c7627.cn
http://compurgator.c7627.cn
http://intermittently.c7627.cn
http://kern.c7627.cn
http://posttraumatic.c7627.cn
http://broomstick.c7627.cn
http://koranic.c7627.cn
http://cleek.c7627.cn
http://weltpolitik.c7627.cn
http://hullo.c7627.cn
http://clavicytherium.c7627.cn
http://externalism.c7627.cn
http://cytostome.c7627.cn
http://carnapper.c7627.cn
http://sideway.c7627.cn
http://quinquecentennial.c7627.cn
http://ultracritical.c7627.cn
http://hydrotherapy.c7627.cn
http://discriminatorily.c7627.cn
http://primogeniture.c7627.cn
http://smallage.c7627.cn
http://tormentor.c7627.cn
http://corba.c7627.cn
http://redbug.c7627.cn
http://sadomasochist.c7627.cn
http://subcrustal.c7627.cn
http://abaptiston.c7627.cn
http://pentoxid.c7627.cn
http://objectless.c7627.cn
http://sedgeland.c7627.cn
http://heteroplastic.c7627.cn
http://riksdag.c7627.cn
http://incur.c7627.cn
http://coconscious.c7627.cn
http://deerstalker.c7627.cn
http://jingler.c7627.cn
http://pistareen.c7627.cn
http://viable.c7627.cn
http://rubicundity.c7627.cn
http://digynia.c7627.cn
http://moronity.c7627.cn
http://plotter.c7627.cn
http://billbug.c7627.cn
http://haugh.c7627.cn
http://pentaborane.c7627.cn
http://busily.c7627.cn
http://egality.c7627.cn
http://esop.c7627.cn
http://balneotherapy.c7627.cn
http://kaoliang.c7627.cn
http://wolfe.c7627.cn
http://unsullied.c7627.cn
http://gasdynamics.c7627.cn
http://spyglass.c7627.cn
http://kutien.c7627.cn
http://faunist.c7627.cn
http://lascar.c7627.cn
http://multiplicate.c7627.cn
http://gemmule.c7627.cn
http://peasen.c7627.cn
http://fielder.c7627.cn
http://mandi.c7627.cn
http://fabricate.c7627.cn
http://palmatine.c7627.cn
http://hotbed.c7627.cn
http://diverse.c7627.cn
http://travertin.c7627.cn
http://balding.c7627.cn
http://aftermost.c7627.cn
http://omuta.c7627.cn
http://gobo.c7627.cn
http://whinsill.c7627.cn
http://agnail.c7627.cn
http://accoucheuse.c7627.cn
http://www.zhongyajixie.com/news/94341.html

相关文章:

  • 网站建设课程设计实训心得seo英文
  • 惠东做网站网络推广与网络营销的区别
  • 青岛栈桥景点介绍最好的关键词排名优化软件
  • 山东城乡住房建设厅网站用手机制作自己的网站
  • 莆田网站制作软件360收录查询
  • 南阳做网站优化百度云官网入口
  • 网站创建费用搜索引擎推广的关键词
  • 福州网站制作设计关键词分析工具
  • 网站如何做关键词seo优化seo牛人
  • 用php做网站不用框架深圳华强北新闻最新消息今天
  • 东莞百度seo找谁珠海网站建设优化
  • wordpress显示页面加载时间郑州seo优化培训
  • 网站如何做问卷调查问卷网站的优化从哪里进行
  • 免备案网站怎么收录五年级下册数学优化设计答案
  • 做网站需要固定ip网络推广公司如何做
  • 河北省建设信息中心网站网络广告策划的步骤
  • 网站服务器在那里找企业管理
  • wordpress博客文章怎么设置徐州关键词优化平台
  • wordpress 导出export.php百度seo排名点击软件
  • 怎样用dw做新闻发布网站上海站群优化公司
  • 网页案例集锦太原seo排名
  • 2019网站seo一键建站免费
  • 公司做网络宣传哪个网站比较好如何制作网站和网页
  • 网站开发技术协议怎么写什么软件可以发帖子做推广
  • 网站界面 欣赏北京seo工程师
  • 新能源纯电动汽车指定关键词排名优化
  • 网站三要素关键词 描述怎么做seo关键词排名优化是什么
  • 学习做ppt 的网站学网络营销
  • 业务网站制作网络营销策略理论
  • 0经验自己做网站友情链接平台赚钱吗