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

朔州网站建设收费杭州建设网站官网

朔州网站建设收费,杭州建设网站官网,关注网站建设,网站禁止访问怎么解除前面实现了基于多层感知机的MNIST手写体识别#xff0c;本章将实现以卷积神经网络完成的MNIST手写体识别。 1. 数据的准备 在本例中#xff0c;依旧使用MNIST数据集#xff0c;对这个数据集的数据和标签介绍#xff0c;前面的章节已详细说明过了#xff0c;相对于前面章… 前面实现了基于多层感知机的MNIST手写体识别本章将实现以卷积神经网络完成的MNIST手写体识别。 1.  数据的准备 在本例中依旧使用MNIST数据集对这个数据集的数据和标签介绍前面的章节已详细说明过了相对于前面章节直接对数据进行“折叠”处理这里需要显式地标注出数据的通道代码如下 import numpy as npimport einops.layers.torch as elt#载入数据x_train np.load(../dataset/mnist/x_train.npy)y_train_label np.load(../dataset/mnist/y_train_label.npy)x_train np.expand_dims(x_train,axis1)   #在指定维度上进行扩充print(x_train.shape) 这里是对数据的修正np.expand_dims的作用是在指定维度上进行扩充这里在第二维也就是PyTorch的通道维度进行扩充结果如下 (60000, 1, 28, 28) 2.  模型的设计 下面使用PyTorch 2.0框架对模型进行设计在本例中将使用卷积层对数据进行处理完整的模型如下 import torch import torch.nn as nn import numpy as np import einops.layers.torch as elt class MnistNetword(nn.Module):def __init__(self):super(MnistNetword, self).__init__()#前置的特征提取模块self.convs_stack nn.Sequential(nn.Conv2d(1,12,kernel_size7), #第一个卷积层nn.ReLU(),nn.Conv2d(12,24,kernel_size5), #第二个卷积层nn.ReLU(),nn.Conv2d(24,6,kernel_size3) #第三个卷积层)#最终分类器层self.logits_layer nn.Linear(in_features1536,out_features10)def forward(self,inputs):image inputsx self.convs_stack(image) #elt.Rearrange的作用是对输入数据的维度进行调整读者可以使用torch.nn.Flatten函数完成此工作x elt.Rearrange(b c h w - b (c h w))(x)logits self.logits_layer(x)return logits model MnistNetword() torch.save(model,model.pth)这里首先设定了3个卷积层作为前置的特征提取层最后一个全连接层作为分类器层需要注意的是对于分类器的全连接层输入维度需要手动计算当然读者可以一步一步尝试打印特征提取层的结果依次将结果作为下一层的输入维度。最后对模型进行保存。 3.  基于卷积的MNIST分类模型 下面进入本章的最后示例部分也就是MNIST手写体的分类。完整的训练代码如下 import torch import torch.nn as nn import numpy as np import einops.layers.torch as elt #载入数据 x_train np.load(../dataset/mnist/x_train.npy) y_train_label np.load(../dataset/mnist/y_train_label.npy) x_train np.expand_dims(x_train,axis1) print(x_train.shape) class MnistNetword(nn.Module):def __init__(self):super(MnistNetword, self).__init__()self.convs_stack nn.Sequential(nn.Conv2d(1,12,kernel_size7),nn.ReLU(),nn.Conv2d(12,24,kernel_size5),nn.ReLU(),nn.Conv2d(24,6,kernel_size3))self.logits_layer nn.Linear(in_features1536,out_features10)def forward(self,inputs):image inputsx self.convs_stack(image)x elt.Rearrange(b c h w - b (c h w))(x)logits self.logits_layer(x)return logits device cuda if torch.cuda.is_available() else cpu #注意记得将model发送到GPU计算 model MnistNetword().to(device) model torch.compile(model) loss_fn nn.CrossEntropyLoss() optimizer torch.optim.SGD(model.parameters(), lr1e-4) batch_size 128 for epoch in range(42):train_num len(x_train)//128train_loss 0.for i in range(train_num):start i * batch_sizeend (i 1) * batch_sizex_batch torch.tensor(x_train[start:end]).to(device)y_batch torch.tensor(y_train_label[start:end]).to(device)pred model(x_batch)loss loss_fn(pred, y_batch)optimizer.zero_grad()loss.backward()optimizer.step()train_loss loss.item() # 记录每个批次的损失值# 计算并打印损失值train_loss / train_numaccuracy (pred.argmax(1) y_batch).type(torch.float32).sum().item() / batch_sizeprint(epoch,epoch,train_loss:, round(train_loss,2),accuracy:,round(accuracy,2))在这里我们使用了本章新定义的卷积神经网络模块作为局部特征抽取而对于其他的损失函数以及优化函数只使用了与前期一样的模式进行模型训练。最终结果如下所示请读者自行验证。 (60000, 1, 28, 28) epoch 0 train_loss: 2.3 accuracy: 0.11 epoch 1 train_loss: 2.3 accuracy: 0.13 epoch 2 train_loss: 2.3 accuracy: 0.2 epoch 3 train_loss: 2.3 accuracy: 0.18 … epoch 58 train_loss: 0.5 accuracy: 0.98 epoch 59 train_loss: 0.49 accuracy: 0.98 epoch 60 train_loss: 0.49 accuracy: 0.98 epoch 61 train_loss: 0.48 accuracy: 0.98 epoch 62 train_loss: 0.48 accuracy: 0.98Process finished with exit code 0本文节选自《PyTorch 2.0深度学习从零开始学》本书实战案例丰富可带领读者快速掌握深度学习算法及其常见案例。
http://www.sadfv.cn/news/54017/

相关文章:

  • ipv6域名解析 做网站wordpress的模板是什么
  • 南昌哪里有网站建设基础网站建设
  • 网站建设与管理实践阿里巴巴logo含义
  • 凡科建站微信小程序垣曲网站建设
  • 手机版网站开发框架app模板
  • 如何招网站开发人员做加盟正规网站
  • 网站的开发工具建筑效果图素材网站
  • 简单的个人主页网站制作html设计之家下载
  • 互联网 网站设计江苏省宿迁市建设局网站
  • 网站制作视频课程做网站原型图是用什么软件
  • 阳泉网站建设哪家便宜杭州高端设计网站建设
  • 广州大型网站建设vi品牌设计
  • 专业网站建设服务公司哪家好网站关键词排名提高
  • 怎么查看网站用的php还是.net家庭宽带做网站
  • 重庆定制网站建设地址重庆妇科医院排名最好的医院
  • 互联网广告管理暂行办法百度网站排名搜行者seo
  • 网站制作的流程包括哪些有网站了小程序怎么做
  • 制作网站问题和解决方法wordpress手机端编辑
  • 网站建设视频大学学校网站建设方案
  • 新老网站做301跳转seo常用工具
  • 免费软文网站安徽专业做网站的公司
  • 邢台做网站哪家便宜wordpress 女性主题
  • 网站后台口令网站互动化
  • wordpress 弹出表单百度seo在线优化
  • google如何提交网站wordpress 插件哪里
  • dw做网站怎么加视频网站建设与运营 好考吗
  • 枣强网站建设培训学校seo产品是什么意思
  • 中国网站设计公司软件工程师报考条件
  • 怎样在建设部网站查资质证书wordpress博客破解主题
  • 网站建设与管理的策划书龙岗做企业网站