栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

2021-09-26

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

2021-09-26

构建神经网络步骤总结
1、加载数据
使用的头文件 from torchvision import datasets, transforms
加载数据分为两部分

加载训练集加载测试集
二者差别不大 唯一却别就是训练集要将训练参数为true 测试集为false
batchsz 32
 cifar_train datasets.CIFAR10( cifar ,True,transform transforms.Compose([
 transforms.Resize((32,32)),
 transforms.ToTensor()
 ]),download True)
 #以上一次只能加载一张图片 使用多线程的操作来加载多张图片
 cifar_train DataLoader(cifar_train,batch_size batchsz,shuffle True)
 cifar_test datasets.CIFAR10( cifar , False, transform transforms.Compose([
 transforms.Resize((32, 32)),
 transforms.ToTensor()
 ]), download True)
 cifar_test DataLoader(cifar_test, batch_size batchsz, shuffle True)
 #得到数据集的迭代器
 x,label iter(cifar_train).__next__()
 python
在这里插入代码片
 python

为了可以加载多张图片 使用dataloader 多线程来加载多张图片

cifar_train DataLoader(cifar_train,batch_size batchsz,shuffle True)
cifar_test DataLoader(cifar_test, batch_size batchsz, shuffle True)

第二步 构建网络结构
暂时还不清楚怎么设计网络 目前能做的是看图说话
接下来构建如下图网络:


上图构建过程分为两步

卷积神经网络线性全连接层
1、卷积神经网络构建
self.conv_unit nn.Sequential(
 #输入x [b,3,32,32]
 nn.Conv2d(3,6,kernel_size 5,stride 1,padding 0),
 nn.AvgPool2d(kernel_size 2,stride 2,padding 0),
 nn.Conv2d(6,16,kernel_size 5,padding 0),
 nn.AvgPool2d(kernel_size 2,stride 2,padding 0)
 #为了和全连接相连 需要对数据进行打平

全连接层构建过程

self.fc_unit nn.Sequential(
 #输入和输出 120为输出 暂时不知道多少 暂定120
 nn.Linear(16*5*5,120),
 nn.ReLU(),
 nn.Linear(120,84),
 nn.ReLU(),
 nn.Linear(84,10)

随后将网络串联起来 调用forward 函数完成此效果 神经网络中forward 函数是必备的 可以说是神经网络使用说明书 通过随forward 的运行将网络结构串起来 另外也有backward 函数 但是一般不会初始化 可以直接调用 因为forward 存在 在运行的过程中 系统自动保存回溯轨迹

 def forward(self,x):
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/268223.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号