pytorch三层全连接层实现手写字母识别方式_python

来源:脚本之家  责任编辑:小易  

1、接入层 接入层利用光纤、双绞线、同轴电缆、无线接入技术等传输介质,实现与用户连接,并进行业务和带宽的分配。接入层目的是允许终端用户连接到网络,因此接入层交换机..www.zgxue.com防采集请勿采集本网。

先用最简单的三层全连接神经网络,然后添加激活层查看实验结果,最后加上批标准化验证是否有效

三层上有路由功能。但是三层只能保证你内网通。如果内网有很多vlan。就必须在三层前面加一个路由,用来做nat转换。把私有的内网ip转换为分配给你的外网公有ip,然后才能与外网互通

首先根据已有的模板定义网络结构SimpleNet,命名为net.py

在基本的CNN网络中,全连接层的作用是将经过多个卷积层和池化层的图像特征图中的特征进行整合,获取图像特征具有的高层含义,之后用于图像分类。在CNN网络中,全连接层将卷积层产生的特征图映射

import torchfrom torch.autograd import Variableimport numpy as npimport matplotlib.pyplot as pltfrom torch import nn,optimfrom torch.utils.data import DataLoaderfrom torchvision import datasets,transforms#定义三层全连接神经网络class simpleNet(nn.Module): def __init__(self,in_dim,n_hidden_1,n_hidden_2,out_dim):#输入维度,第一层的神经元个数、第二层的神经元个数,以及第三层的神经元个数 super(simpleNet,self).__init__() self.layer1=nn.Linear(in_dim,n_hidden_1) self.layer2=nn.Linear(n_hidden_1,n_hidden_2) self.layer3=nn.Linear(n_hidden_2,out_dim) def forward(self,x): x=self.layer1(x) x=self.layer2(x) x=self.layer3(x) return x #添加激活函数class Activation_Net(nn.Module): def __init__(self,in_dim,n_hidden_1,n_hidden_2,out_dim): super(NeutalNetwork,self).__init__() self.layer1=nn.Sequential(#Sequential组合结构 nn.Linear(in_dim,n_hidden_1),nn.ReLU(True)) self.layer2=nn.Sequential( nn.Linear(n_hidden_1,n_hidden_2),nn.ReLU(True)) self.layer3=nn.Sequential( nn.Linear(n_hidden_2,out_dim)) def forward(self,x): x=self.layer1(x) x=self.layer2(x) x=self.layer3(x) return x#添加批标准化处理模块,皮标准化放在全连接的后面,非线性的前面class Batch_Net(nn.Module): def _init__(self,in_dim,n_hidden_1,n_hidden_2,out_dim): super(Batch_net,self).__init__() self.layer1=nn.Sequential(nn.Linear(in_dim,n_hidden_1),nn.BatchNormld(n_hidden_1),nn.ReLU(True)) self.layer2=nn.Sequential(nn.Linear(n_hidden_1,n_hidden_2),nn.BatchNormld(n_hidden_2),nn.ReLU(True)) self.layer3=nn.Sequential(nn.Linear(n_hidden_2,out_dim)) def forword(self,x): x=self.layer1(x) x=self.layer2(x) x=self.layer3(x) return x

传统的交换技术是在OSI网络标准模型中的第二层—数据链路层进行操作的,而三层交换技术是在网络模型中的第三层实现了数据包的高速转发。应用第三层交换技术即可实现网络路由的功能,又可以根据不同的网络

训练网络,

建议还是别整栋楼覆盖WIFI了,每家每户能分网线这个简单。直接猫交换机分路就行了当然想要WIFI覆盖无限路由等设备也是不可少的这个要根据要覆盖的多少面积来计算的。电信或者网通宽带(光纤)接

import torchfrom torch.autograd import Variableimport numpy as npimport matplotlib.pyplot as plt%matplotlib inlinefrom torch import nn,optimfrom torch.utils.data import DataLoaderfrom torchvision import datasets,transforms#定义一些超参数import netbatch_size=64learning_rate=1e-2num_epoches=20#预处理data_tf=transforms.Compose([transforms.ToTensor(),transforms.Normalize([0.5],[0.5])])#将图像转化成tensor,然后继续标准化,就是减均值,除以方差#读取数据集train_dataset=datasets.MNIST(root='./data',train=True,transform=data_tf,download=True)test_dataset=datasets.MNIST(root='./data',train=False,transform=data_tf)#使用内置的函数导入数据集train_loader=DataLoader(train_dataset,batch_size=batch_size,shuffle=True)test_loader=DataLoader(test_dataset,batch_size=batch_size,shuffle=False)#导入网络,定义损失函数和优化方法model=net.simpleNet(28*28,300,100,10)if torch.cuda.is_available():#是否使用cuda加速 model=model.cuda()criterion=nn.CrossEntropyLoss()optimizer=optim.SGD(model.parameters(),lr=learning_rate)import netn_epochs=5for epoch in range(n_epochs): running_loss=0.0 running_correct=0 print("epoch {}/{}".format(epoch,n_epochs)) print("-"*10) for data in train_loader: img,label=data img=img.view(img.size(0),-1) if torch.cuda.is_available(): img=img.cuda() label=label.cuda() else: img=Variable(img) label=Variable(label) out=model(img)#得到前向传播的结果 loss=criterion(out,label)#得到损失函数 print_loss=loss.data.item() optimizer.zero_grad()#归0梯度 loss.backward()#反向传播 optimizer.step()#优化 running_loss+=loss.item() epoch+=1 if epoch%50==0: print('epoch:{},loss:{:.4f}'.format(epoch,loss.data.item()))

训练的结果截图如下:

测试网络

#测试网络model.eval()#将模型变成测试模式eval_loss=0eval_acc=0for data in test_loader: img,label=data img=img.view(img.size(0),-1)#测试集不需要反向传播,所以可以在前项传播的时候释放内存,节约内存空间 if torch.cuda.is_available(): img=Variable(img,volatile=True).cuda() label=Variable(label,volatile=True).cuda() else: img=Variable(img,volatile=True) label=Variable(label,volatile=True) out=model(img) loss=criterion(out,label) eval_loss+=loss.item()*label.size(0) _,pred=torch.max(out,1) num_correct=(pred==label).sum() eval_acc+=num_correct.item()print('test loss:{:.6f},ac:{:.6f}'.format(eval_loss/(len(test_dataset)),eval_acc/(len(test_dataset))))

训练的时候,还可以加入一些dropout,正则化,修改隐藏层神经元的个数,增加隐藏层数,可以自己添加。

以上这篇pytorch三层全连接层实现手写字母识别方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持真格学网。

简单,三层交换机上连接一台二层交换机,在二层交换机里内划分vlan 10,20,在三层交换机里面划分vlan10,vlan20,给vlan10,20分配ip,连接计算机的容端口封装,并设置trunk口,注意vlan 10 20的ip是连接计算机的网关内容来自www.zgxue.com请勿采集。


  • 本文相关:
  • 详解pytorch手写数字识别(mnist数据集)
  • pytorch 利用lstm做mnist手写数字识别分类的实例
  • pytorch gan伪造手写体mnist数据集方式
  • 使用pytorch实现mnist手写体识别代码
  • python错误调试及单元文档测试过程解析
  • django rest framework之权限的实现示例
  • win10下tensorflow和matplotlib安装教程
  • python代码缩进和测试模块示例详解
  • python机器学习之贝叶斯分类
  • python使用lambda表达式对字典排序操作示例
  • python贪心算法实例小结
  • python实现的插入排序,冒泡排序,快速排序,选择排序算法示例
  • 初步解析python中的yield函数的用法
  • 使用python爬虫库requests发送请求、传递url参数、定制headers
  • 如何运用三层交换机实现VLAN之间的互联?
  • 网络分层设计分为接入层,汇聚层和核心层,请问这三层的作用分别是什么
  • 两个三层交换机之间要实现互通,那么连接三层交换机的接口是配成路由端口还是TRUNK?
  • ssh 是如何实现三层架构的? 每层分别用什么技术实现?
  • 三层交换机与外网连接怎么设置
  • 卷积神经网络为什么最后接一个全连接层
  • 三层交换机的工作原理?
  • 如何实现三层楼wifi
  • 关于三层交换机与二层交换之间的连接问题
  • 网站首页网页制作脚本下载服务器操作系统网站运营平面设计媒体动画电脑基础硬件教程网络安全vbsdos/bathtahtcpythonperl游戏相关vba远程脚本coldfusionruby专题autoitseraphzonepowershelllinux shellluagolangerlang其它首页详解pytorch手写数字识别(mnist数据集)pytorch 利用lstm做mnist手写数字识别分类的实例pytorch gan伪造手写体mnist数据集方式使用pytorch实现mnist手写体识别代码python错误调试及单元文档测试过程解析django rest framework之权限的实现示例win10下tensorflow和matplotlib安装教程python代码缩进和测试模块示例详解python机器学习之贝叶斯分类python使用lambda表达式对字典排序操作示例python贪心算法实例小结python实现的插入排序,冒泡排序,快速排序,选择排序算法示例初步解析python中的yield函数的用法使用python爬虫库requests发送请求、传递url参数、定制headerspython入门教程 超详细1小时学会python 列表(list)操作方法详解python 元组(tuple)操作详解python 字典(dictionary)操作详解pycharm 使用心得(一)安装和首python strip()函数 介绍python 中文乱码问题深入分析python中使用xlrd、xlwt操作excepython科学计算环境推荐——anacpython逐行读取文件内容的三种方django rest framework实现分页的示例如何使用python爬虫爬取要登陆的网站python实现的几个常用排序算法实例python 3 实现定义跨模块的全局变量和使用pytorch 数据处理:定义自己的数据集合实例python解析多帧dicom数据详解python中自定义函数的教程django写用户登录判定并跳转制定页面的实mac安装pytorch及系统的numpy更新方法python实现八皇后问题示例代码
    免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.zgxue.com All Rights Reserved