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

南宁市网站开发建设网站开发与设计

南宁市网站开发建设,网站开发与设计,郑州o2o网站建设汉狮,响应式网站跟一般网站的区别文章目录 前言LeNet模型训练 前言 LeNet是最早发布的卷积神经网络之一。该模型被提出用于识别图像中的手写数字。 LeNet LeNet-5由以下两个部分组成 卷积编码器(2)全连接层(3) 卷积块由一个卷积层、一个sigmoid激活函数和一个…

文章目录

  • 前言
  • LeNet
  • 模型训练

前言

LeNet是最早发布的卷积神经网络之一。该模型被提出用于识别图像中的手写数字。

LeNet

LeNet-5由以下两个部分组成

  • 卷积编码器(2)
  • 全连接层(3)
    卷积块由一个卷积层、一个sigmoid激活函数和一个平均汇聚层组成。
    第一个卷积层有6个输出通道,第二个卷积层有16个输出通道。采用2×2的汇聚操作,且步幅为2.
    3个全连接层分别有120,84,10个输出。
    此处对原始模型做出部分修改,去除最后一层的高斯激活。
net=nn.Sequential(nn.Conv2d(1,6,kernel_size=5,padding=2),nn.Sigmoid(),nn.AvgPool2d(kernel_size=2,stride=2),nn.Conv2d(6,16,kernel_size=5),nn.Sigmoid(),nn.AvgPool2d(kernel_size=2,stride=2),nn.Flatten(),nn.Linear(16*5*5,120),nn.Sigmoid(),nn.Linear(120,84),nn.Sigmoid(),nn.Linear(84,10))

模型训练

为了加快训练,使用GPU计算测试集上的精度以及训练过程中的计算。
此处采用xavier初始化模型参数以及交叉熵损失函数和小批量梯度下降。

batch_size=256
train_iter,test_iter=data_iter.load_data_fashion_mnist(batch_size)

将数据送入GPU进行计算测试集准确率

def evaluate_accuracy_gpu(net,data_iter,device=None):"""使用GPU计算模型在数据集上的精度"""if isinstance(net,torch.nn.Module):net.eval()if not device:device=next(iter(net.parameters())).device# 正确预测的数量,预测的总数eva = 0.0y_num = 0.0with torch.no_grad():for X,y in data_iter:if isinstance(X,list):X=[x.to(device) for x in X]else:X=X.to(device)y=y.to(device)eva += accuracy(net(X), y)y_num += y.numel()return eva/y_num

训练过程同样将数据送入GPU计算

def train_epoch_gpu(net, train_iter, loss, updater,device):# 训练损失之和,训练准确数之和,样本数train_loss_sum = 0.0train_acc_sum = 0.0num_samples = 0.0# timer = d2l.torch.Timer()for i, (X, y) in enumerate(train_iter):# timer.start()updater.zero_grad()X, y = X.to(device), y.to(device)y_hat = net(X)l = loss(y_hat, y)l.backward()updater.step()with torch.no_grad():train_loss_sum += l * X.shape[0]train_acc_sum += evaluation.accuracy(y_hat, y)num_samples += X.shape[0]# timer.stop()return train_loss_sum/num_samples,train_acc_sum/num_samplesdef train_gpu(net,train_iter,test_iter,num_epochs,lr,device):def init_weights(m):if type(m)==torch.nn.Linear or type(m)==torch.nn.Conv2d:torch.nn.init.xavier_uniform_(m.weight)net.apply(init_weights)net.to(device)print('training on',device)optimizer=torch.optim.SGD(net.parameters(),lr=lr)loss=torch.nn.CrossEntropyLoss()# num_batches=len(train_iter)tr_l=[]tr_a=[]te_a=[]for epoch in range(num_epochs):net.train()train_metric=train_epoch_gpu(net,train_iter,loss,optimizer,device)test_accuracy = evaluation.evaluate_accuracy_gpu(net, test_iter)train_loss, train_acc = train_metrictrain_loss = train_loss.cpu().detach().numpy()tr_l.append(train_loss)tr_a.append(train_acc)te_a.append(test_accuracy)print(f'epoch: {epoch + 1}, train_loss: {train_loss}, train_acc: {train_acc}, test_acc:{test_accuracy}')x = torch.arange(num_epochs)plt.plot((x + 1), tr_l, '-', label='train_loss')plt.plot(x + 1, tr_a, '--', label='train_acc')plt.plot(x + 1, te_a, '-.', label='test_acc')plt.legend()plt.show()print(f'on {str(device)}')
lr,num_epochs=0.9,10
Train.train_gpu(net,train_iter,test_iter,num_epochs,lr,device='cuda')

在这里插入图片描述
在这里插入图片描述

http://www.khdw.cn/news/5734.html

相关文章:

  • 英文营销网站建设百度关键词排名联系方式
  • 建设工程教育网手机版站长工具的使用seo综合查询运营
  • 政府网站建设不合格爱站网长尾关键词挖掘工具电脑版
  • 程序员自己做网站怎么赚钱百度app推广
  • 网站seo优化分析报告广州新闻头条最新消息
  • 做网站备案的公司seo整站优化哪家好
  • 北京市城市建设委员会门户网站网页设计主要做什么
  • 做简历用哪个网站西地那非
  • 建手机网站一年费用广州网站制作实力乐云seo
  • 温州哪里可以做企业网站谷歌搜索引擎官网
  • 个人做视频网站网址制作
  • 怎么给网站做链接如何做网站关键词优化
  • psd数据网站网络推广方案书模板
  • 烟台网站排名seo百度关键词首页排名怎么上
  • 雪域什么网站是做电影的北京seo优化多少钱
  • 集团网站建设服务百度seo优化系统
  • 网络营销策划步骤有哪些杭州seo中心
  • 福建省建建设行业信用评分网站中国站长之家官网
  • 做网站知乎潍坊网站外包
  • 厦门 网站制作百度推广代理商
  • 电商主图一键生成免费seo云优化如何
  • 使用vs做动态网站无锡网站优化
  • 安徽马鞍山人才网贵阳关键词优化平台
  • 宾阳网站建设热门推广平台
  • 网站的关键词推扩是怎样做朝阳seo建站
  • 做视频网站需要什么证件友链交易
  • wordpress 去掉左上角重庆百度整站优化
  • wordpress禁用main密码又忘seo关键词排名优化的方法
  • 网站设计制作费用多少免费舆情监测平台
  • 网站如何做淘客指数运算法则