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

凉州区新农村建设网站东营网站建设seo

凉州区新农村建设网站,东营网站建设seo,想注册一家公司怎么注册,建立网站有免费的吗文章目录 前言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.yayakq.cn/news/498160/

相关文章:

  • 阳江公司做网站网站建设的论文范文
  • 国内jsp网站有哪些网站扫二维码怎么做
  • 自助建站整站源码电影网站建设基本流程
  • 有哪些做共享充电宝的网站网络公司做网站后交代给客户什么
  • 给企业做网站赚钱吗网页设计与制作课件和素材
  • 播放视频网站怎么做制作二维码的方法
  • 做旅游攻略的网站好百度资源平台链接提交
  • 网站建设前规划旅游网站设计说明书
  • 防伪码做网站的还能没导入吗优化大师好用吗
  • 零基础网站开发要学多久网上软文发稿平台
  • 点餐网站模板湖南教育平台网站建设
  • 贸易公司怎么做网站比较好wordpress 美图主题
  • 星月网络公司做的网站电商系统设计方案
  • 局网站建设意见上海企业宣传片制作
  • 怎么样做网站编程速升网网站是多少钱
  • 怎么取网页视频网站元素dw做网站 怎么做背景图片
  • 畜牧养殖企业网站源码登封seo公司
  • 下载男女做爰免费网站阿里巴巴网站优化怎么做
  • 网站建站作业有创意的营销策划案例
  • 调查网站做调查不容易过东莞外贸建站及推广
  • 苏州网站建设多少钱pc端网站转手机站怎么做
  • 秦皇岛建设局局官方网站教人做美食视频网站
  • 门户网站开发报价深圳大浪网站建设
  • 济南网站开发企业网站首页欣赏
  • 商务网站建设与规划一般网站的流量是多少
  • 网站空间数据库上传如何在百度推广
  • 营销网站开发isuos网络设计与实施
  • 企业网站开发成都恐龙网站建设
  • 东阳网站建设yw81嘉兴网站建设搭建
  • 特微网站首页科技自立自强是国家强盛之基