【PyTorch】提高mnist模型精确度
问题
在学习深度学习这门课程中,各种模型指标有一个叫精确度,精确度的意思就是说在模型完成后,测试集的结果与真实值之间的占比程度。那么我们应该如何提高整个模型的精确度呢?我们都知道深度学习模型的建立在经过一些简单的配置,默认的参数,模型在一次训练只有较低的准确率,往往在多次训练后最高也不到85%。所以我们需要一些方式来提高精确度。
方法
通过学习和网上查找资料,我总结出了以下几个提高准确度的技巧:网络的层数以及每一层神经元的个数,学习率的更新:随着迭代次的增加,指数下降,学习轮数的设定,参数优化,数据处理,或者新增一些优化方法,还有比较复杂的一种方法,那便是使用更加复杂的模型以达到更高的准确度,以下是代码呈现:
1.lr = tf.Variable(0.001, dtype = tf.float32)#使用变量方式,定义学习率,初始值为0.001,类型是float32
2.sess.run(tf.assign(lr,0.001*(0.95**epoch)))
每批次迭代,学习率以初始值为0.001,指数下降,利用tf.assign()的方法赋值更新
结语
对于提高准确度的问题,在经过多次尝试和多种方法后得出了一些结论,证明了本方法确实是有效的,虽然不能算是效果最好的一种方式,但是在后续的学习中一定能找到更好的方法来解决类似的问题,还应该不断的尝试,不断的实验寻找更优秀的方法,才能更好的提高准确度。
【PyTorch】提高mnist模型精确度相关推荐
- python与机器学习(七)上——PyTorch搭建LeNet模型进行MNIST分类
任务要求:利用PyTorch框架搭建一个LeNet模型,并针对MNIST数据集进行训练和测试. 数据集:MNIST 导入: import torch from torch import nn, opt ...
- 基于pytorch的MNIST数据集的四层CNN,测试准确率99.77%
基于pytorch的MNIST数据集的四层CNN,测试准确率99.77% MNIST数据集 环境配置 文件存储结构 代码 引入库 调用GPU 初始化变量 导入数据集并进行数据增强 导入测试集 加载测试 ...
- 用PyTorch实现MNIST手写数字识别(非常详细)
Keras版本: Keras入门级MNIST手写数字识别超级详细教程 2022/4/17 更新修复下代码.完善优化下文章结构,文末提供一个完整版代码. 可以在这里下载源码文件(免积分): 用 ...
- 【pytorch速成】Pytorch图像分类从模型自定义到测试
文章首发于微信公众号<与有三学AI> [pytorch速成]Pytorch图像分类从模型自定义到测试 前面已跟大家介绍了Caffe和TensorFlow,链接如下. [caffe速成]ca ...
- 第18课:项目实战——利用 PyTorch 构建 RNN 模型
上一篇,我们主要介绍了基本的 RNN 模型和 LSTM.本文将通过一个实战项目带大家使用 PyTorch 搭建 RNN 模型. 本项目将构建一个 RNN 模型,来对 MNIST 手写数据集进行分类.可 ...
- 【炼丹技巧】指数移动平均(EMA)【在一定程度上提高最终模型在测试数据上的表现(例如accuracy、FID、泛化能力...)】
本文中心: 1.指数移动平均(Exponential Moving Average)EMA作用: ema不参与实际的训练过程,是用在测试过程的,相比对变量直接赋值而言,移动平均得到的值在图像上更加平缓 ...
- 深度学习【使用pytorch实现基础模型、优化算法介绍、数据集的加载】
文章目录 一 Pytorch完成基础模型 1. Pytorch完成模型常用API 1.1 `nn.Module` 1.2 优化器类 1.3 损失函数 1.4 线性回归完整代码 2. 在GPU上运行代码 ...
- 【阅读笔记】针对PyTorch提高神经网络训练速度的方法—《Here are 17 ways of making PyTorch training faster – what did I miss?》
原文连接:https://efficientdl.com/faster-deep-learning-in-pytorch-a-guide/ 目录 写在开头 1. 考虑使用不同的学习率变化策略(Cons ...
- ibeacon硬件实现室内定位,应当如何提高定位的精确度?
ibeacon硬件实现室内定位,应当如何提高定位的精确度? 以下几点仅供参考,具体还是得根据自身项目需求 1.增加信标密度 2.优化信标布局 3.校准信标参数 4.使用多路径校正算法 5.结合其他传感 ...
最新文章
- 某都计算机考研计算机组成原理,东北大学2000年考研真题-计算机组成原理
- android 格式格式:YYYYMMDDHH24MISS 的时间戳timestamp
- 心得9--jsp设计模版
- dubbo源码解析-zookeeper创建节点
- pip修改下载源为国内源 linux系统
- mysql中limit后面不能使用运算符
- [书目20170308]卓有成效的管理者
- linux(Centos7)安装elasticsearch6.2.2
- Windows性能计数器分析
- codeforces #309 div1 D
- 在el-table中使用el-popover,没法点击确定或取消来关闭添加 多个按钮
- CAD2008中常用快捷命令
- 想问一下一阶电路的开路怎么画仿真电路图,用multisim操作
- wps云盘和zotero的结合(一)
- java nio oio_Java NIO框架Netty教程(十四)-Netty中OIO模型(对比NIO)
- Matlab 4. Matlab2016 不能保存数据(变量)的解决方法(中文版)-v7.3 switch
- 一个合格的程序员所具备的素质和修养
- 【Win10】电脑麦克风录音:设备调测
- 计算机核心基础、计算机硬件组成原理、计算机硬件组成详解、硬盘接口及操作系统、计算机网络简述、OSI七层协议、子网划分、 VLAN简述
- 利用预测分析改进欠款催收策略,控制欺诈风险和信贷风险
热门文章
- Ubuntu安装Matlab其Simulink没有菜单栏的解决方案
- 一、多媒体技术的基础本章小结
- vcs 覆盖率收集2——覆盖率选项 + 合并覆盖率
- javascript instaceof
- 关于css设置第n个元素
- database “template0“ is not currently accepting connections
- 理解实时频谱分析仪的频域电平触发
- 【开源电机驱动】符号-幅值驱动方式
- jsplumb使用过程中可能碰见的一些问题
- 有一个函数 x , x大于1 ,y等于 { 2x-1 1大于等于x小于10 3x-11 x大于等于10 写一段程序,输入x,输出y。