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

手机网站设置天河网站建设企业

手机网站设置,天河网站建设企业,广州番禺邮编,网站开发费用是否资本化神经网络如此神奇#xff0c;feel the magic 今天分享一下学习PyTorch官网demo的心得#xff0c;原来实现一个神经网络可以如此简单/简洁/高效#xff0c;同时也感慨PyTorch如此强大。 这个demo的目的是训练一个识别手写数字的模型#xff01; 先上源码#xff1a; fr…神经网络如此神奇feel the magic 今天分享一下学习PyTorch官网demo的心得原来实现一个神经网络可以如此简单/简洁/高效同时也感慨PyTorch如此强大。 这个demo的目的是训练一个识别手写数字的模型 先上源码 from pathlib import Path import requests # http请求库 import pickle import gzipfrom matplotlib import pyplot # 显示图像库import math import numpy as np import torch###########下载训练/验证数据###################################################### # 这里加载的是mnist数据集 DATA_PATH Path(data) PATH DATA_PATH / mnist PATH.mkdir(parentsTrue, exist_okTrue)URL https://github.com/pytorch/tutorials/raw/main/_static/ FILENAME mnist.pkl.gzif not (PATH / FILENAME).exists():content requests.get(URL FILENAME).content(PATH / FILENAME).open(wb).write(content)###########解压并加载训练数据###################################################### with gzip.open((PATH / FILENAME).as_posix(), rb) as f:((x_train, y_train), (x_valid, y_valid), _) pickle.load(f, encodinglatin-1)# 通过pyplot显示数据集中的第一张图片 # 显示过程会中断运行看到效果之后可以屏蔽掉让调试更顺畅 #print(x_train[0]: , x_train[0]) #pyplot.imshow(x_train[0].reshape((28, 28)), cmapgray) #pyplot.show()# 将加载的数据转成tensor x_train, y_train, x_valid, y_valid map(torch.tensor, (x_train, y_train, x_valid, y_valid) ) n, c x_train.shape # n是函数c是列数 print(x_train.shape: , x_train.shape) print(y_train.min: {0}, y_train.max: {1}.format(y_train.min(), y_train.max()))# 初始化权重和偏差值权重是随机出来的784*10的矩阵偏差初始化为0 weights torch.randn(784, 10) / math.sqrt(784) weights.requires_grad_() bias torch.zeros(10, requires_gradTrue)# 激活函数 def log_softmax(x):return x - x.exp().sum(-1).log().unsqueeze(-1)# 定义模型y wx b # 实际上就是单层的Linear模型 def model(xb):return log_softmax(xb weights bias)# 丢失函数 loss function def nll(input, target):return -input[range(target.shape[0]), target].mean() loss_func nll# 计算精度函数 def accuracy(out, yb):preds torch.argmax(out, dim1)return (preds yb).float().mean()###########开始训练################################################################## bs 64 # 每一批数据的大小 lr 0.5 # 学习率 epochs 2 # how many epochs to train forfor epoch in range(epochs):for i in range((n - 1) // bs 1):start_i i * bsend_i start_i bsxb x_train[start_i:end_i]yb y_train[start_i:end_i]pred model(xb) # 通过模型预测loss loss_func(pred, yb) # 通过与实际结果比对计算丢失值loss.backward() # 反向传播with torch.no_grad():weights - weights.grad * lr # 调整权重值bias - bias.grad * lr # 调整偏差值weights.grad.zero_()bias.grad.zero_()##########对比一下预测结果############################################################ xb x_train[0:bs] # 加载一批数据这里用的是训练的数据在实际应用中最好使用没训练过的数据来验证 yb y_train[0:bs] # 训练数据对应的正确结果 preds model(xb) # 使用训练之后的模型进行预测 print(################## after training ###################) print(accuracy: , accuracy(preds, yb)) # 打印出训练之后的精度 # print(preds[0]) print(pred value: , torch.argmax(preds, dim1)) # 打印预测的数字 print(real value: , yb) # 实际正确的数据可以直观地和上一行打印地数据进行对比 运行结果 可以看到训练后模型地预测精度达到了0.9531已经不错了毕竟只使用了一个单层地Linear模型从输出地对比数据中可以看出有三个地方预测错了红框标记地数字 ok今天先到这里下一篇再来解读代码中地细节 附 PyTorch官方源码https://github.com/pytorch/tutorials/blob/main/beginner_source/nn_tutorial.py 天地一逆旅同悲万古愁
http://wiki.neutronadmin.com/news/413136/

相关文章:

  • 网站设计方案大全自学室内装修设计教程
  • 案例查询网站软件著作权查询入口
  • 网站建设单位做c 题的网站
  • 文章响应式网站如何制作购物网站
  • 湖南网站搜索排名优化公司关于做网站的论文
  • 做网站必须有站点吗做网站的安全证书
  • 在网站中动态效果怎么做中小学智慧校园建设平台网站
  • 内蒙古兴安盟建设局网站平面设计师的培训机构
  • seo 成功网站影楼网站设计
  • 校园网站建设简介菏泽网站建设设计
  • 怎么做自已的网站网站建设财务分析
  • 潍坊网站开发公司ui设计的基本流程
  • 台州做网站的电话php网站开发环境说明
  • 长沙网站制作关键词推广江苏省和住房城乡建设厅网站
  • 电子商务网站的主要功能wordpress该怎么教
  • 音乐类网站模板连云港专业网站制作公司
  • 网站建设整个过程谷歌 网站做推广
  • 中邮保险网站wordpress 网页
  • 单页面网站 万网x3大理网站建设公司
  • 装饰工程设计东莞网站建设wordpress最新列表页
  • 北京建设专职查询网站企业培训课程开发
  • ps如何做游戏模板下载网站娱乐网站开发spspwk
  • 网站推广攻略海伦网站建设
  • 做培训网站哪家好河南建设人才招聘专业网站
  • 网站开发私单哪里接网站地址怎么做超链接
  • 学院网站建设成效网页制作代码简单
  • 合肥建设学校官网网站建网站哪家好新闻
  • 做优惠卷网站做app和做网站哪个容易
  • js 网站测速小程序代理哪家好
  • 中国做网站怎么网站