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

益阳建站网站制作北京网站制作应用

益阳建站网站制作,北京网站制作应用,c php做网站对比,免费申请域名空间学习方法#xff1a;torch 边用边学#xff0c;边查边学 真正用查的过程才是学习的过程 直接上案例#xff0c;先来跑#xff0c;遇到什么解决什么 数据集Minist 数据集 做简单的任务 Minist 分类任务 总体代码#xff08;可以跑通#xff09; from pathlib import …学习方法torch 边用边学边查边学 真正用查的过程才是学习的过程 直接上案例先来跑遇到什么解决什么 数据集Minist 数据集 做简单的任务 Minist 分类任务 总体代码可以跑通 from pathlib import Path import requests import pickle import gzip import torch import torch.nn as nn import torch.nn.functional as F from torch.utils.data import TensorDataset from torch.utils.data import DataLoader from torch import optim import numpy as np bs64 DATA_PATH Path(data) PATH DATA_PATH / mnistPATH.mkdir(parentsTrue, exist_okTrue)URL http://deeplearning.net/data/mnist/ FILENAME mnist.pkl.gz with gzip.open((PATH / FILENAME).as_posix(), rb) as f:((x_train, y_train), (x_valid, y_valid), _) pickle.load(f, encodinglatin-1) from matplotlib import pyplot import numpy as np print(x_train.shape)# pyplot.imshow(x_train[0].reshape((28, 28)), cmapgray) #获取训练数据和测试数据 x_train, y_train, x_valid, y_valid map(torch.tensor, (x_train, y_train, x_valid, y_valid) ) #设置模型结构 class Mnist_NN(nn.Module):def __init__(self):super().__init__()self.hidden1 nn.Linear(784, 128)self.hidden2 nn.Linear(128, 256)self.out nn.Linear(256, 10)def forward(self, x):x F.relu(self.hidden1(x))x F.relu(self.hidden2(x))x self.out(x)return x net Mnist_NN() # print(net) # for name, parameter in net.named_parameters(): # print(name, parameter,parameter.size()) #设置数据集和数据集加载器 train_ds TensorDataset(x_train, y_train) train_dl DataLoader(train_ds, batch_size64, shuffleTrue) valid_ds TensorDataset(x_valid, y_valid) valid_dl DataLoader(valid_ds, batch_size64 * 2) def get_data(train_ds, valid_ds, bs):return (DataLoader(train_ds, batch_sizebs, shuffleTrue),DataLoader(valid_ds, batch_sizebs * 2),)loss_func F.cross_entropy def loss_batch(model, loss_func, xb, yb, optNone):loss loss_func(model(xb), yb)if opt is not None:loss.backward()opt.step()opt.zero_grad()return loss.item(), len(xb) #训练参数 def fit(steps, model, loss_func, opt, train_dl, valid_dl):for step in range(steps):model.train()for xb, yb in train_dl:loss_batch(model, loss_func, xb, yb, opt)model.eval()with torch.no_grad():losses, nums zip(*[loss_batch(model, loss_func, xb, yb) for xb, yb in valid_dl])val_loss np.sum(np.multiply(losses, nums)) / np.sum(nums)print(当前step:str(step), 验证集损失str(val_loss)) def get_model():model Mnist_NN()return model, optim.SGD(model.parameters(), lr0.001) train_dl, valid_dl get_data(train_ds, valid_ds, bs) model, opt get_model() fit(20, model, loss_func, opt, train_dl, valid_dl) corret0 total0 for xb,yb in valid_dl:outputsmodel(xb)_,predictedtorch.max(outputs.data,1)totalyb.size(0)corret(predictedyb).sum().item() print(准确率是%d %%%(100*corret/total)) 1.首先我们从最终实现的fit 函数开始看 在fit h函数之前有一个get_model 函数 得到model和优化器 model, opt get_model() 得到模型的优化器以后 需要把训练轮数 模型 损失函数 训练数据 测试数据传入fit 训练函数 fit(20, model, loss_func, opt, train_dl, valid_dl) fit 函数 def fit(steps, model, loss_func, opt, train_dl, valid_dl):for step in range(steps):model.train()for xb, yb in train_dl:loss_batch(model, loss_func, xb, yb, opt)model.eval()with torch.no_grad():losses, nums zip(*[loss_batch(model, loss_func, xb, yb) for xb, yb in valid_dl])val_loss np.sum(np.multiply(losses, nums)) / np.sum(nums)print(当前step:str(step), 验证集损失str(val_loss)) xb是从dataloader 中取64个训练数据图片 也就是64*784维度784代表28*28的手写数字图片的展平成一维向量 yb是64个图片对应的数字值 loss_batch(model, loss_func, xb, yb, opt) 我们看一下loss_batch 函数 loss 反向传播——更新优化器——优化器梯度归0 loss 是一个带有梯度的tensor    .item返回的是loss 的值 lenxb 是为了求精度的时候算 输入是模型损失函数xb ,yb 和优化器 loss_func F.cross_entropy 损失函数是交叉熵损失函数 将xb 经过model 得到输出后 和xb 求损失函数  model 是定义的一个简单的模型有两个隐藏层一个输出层 784——128——256——10 再回到fit 函数的验证部分model.evl() 先来一个  with torch.no_grad() 不去计算梯度 zip(*的意思是解压缩 分别得到losses 和nums)loss 和num 鲜橙 求每64个batch 的总loss 再将datalosder的所有batch 相加除以总数得到训练损失
http://www.dnsts.com.cn/news/191430.html

相关文章:

  • 做网站的前景爱站挖词
  • 重庆平台网站建设工怎么把产品快速宣传并推广
  • 网站 建设app网站设计介绍
  • 哪些调查网站可以做问卷赚钱wordpress博客 知乎
  • 五月色做受网站营销型网站有哪些类
  • 网站一直百度上搜不到是怎么回事音乐网站建设教程
  • 如何建立网站平台网站建设设计书
  • 网站开发中网页上传和发布网站备案去哪注销
  • 做阿里网站卖东西赚钱教育类手机网站模板下载
  • 怎么做刷会员的网站网页点击量统计
  • 网络站点推广的方法有哪些公司做网站费用
  • 做电销哪些网站可以找到客户端高端企业门户网站建设服务公司
  • 官网网站建设如何在阿里巴巴做网站
  • 聊城的网站制作公司网站域名价格 优帮云
  • 潍坊市建设局官方网站优畅 wordpress
  • 山东省东营市建设局网站wordpress 菜单位置
  • 轻量级服务器wordpress密钥搜索引擎优化方法包括
  • 公司企业网站程序建设通电脑版
  • html网站怎么进入后台中国市场营销网网站
  • 什么是网站定位做传感器的网站
  • 企业商务网站 建设方案wordpress实现翻页效果
  • 网站一直建设中工程监理行业为什么做网站
  • 中国电子商务网站情人节网页 wordpress
  • 有哪些做ppt用图片的网站有哪些国外儿童社区网站模板下载
  • 想做电商网站运营要怎么做企业网站开发哪个好薇
  • 网站怎么做百度的关键字网站的设计分析
  • 宁波模板建站哪家服务专业h5商城网站建设是什么
  • 银川建设厅网站保险查询平台
  • 影楼网站模板下载网站开发案例分析
  • 网站开发设计定制财务软件免费