写在前面 走走停停,我自己做的第一个机器学习的项目:MNIST手写字符集的识别,终于结束了,一路走来也算是踩了大大小小的坑,在这篇文章里做一个总结。 模型配置 模型总共有4层,输入层有784个神经元,分别对应28X28个像素的MNIST手写字符集图像(预先进行归一化),隐藏层有2个,每层16个神经元,输出层有10个神经元,分别对应数字0~9。 模型结构如图所示: pytorch环境版本:1.8.
知识点 1:nn.MSELoss(x,y) 均方根值函数 如果输入的x和y参数的维度不同,维度低的tensor会进行扩张填充,扩充形式如下图所示: 因此之后在训练模型的时候要保持输入变量参数一致,养成良好的编程习惯。 2:这里对昨天一个函数的纠正: torch.max()用法: parameter,index = torch.max(data,0), 返回列最大值以及对应索引,索引在后,数值在前
写在前面 今天调通了pytorch模型,同时进行了简单的模型测试 知识点总结 1:python忽略某些特定语句的warning: import warnings with warnings.catch_warnings():#ignore some warnings warnings.simplefilter("ignore") lo
写在前面 pytorch包含了很多包括mnist在内的开源数据集,但是如果要建立自己的神经网络的话肯定需要训练自己的数据集,那么如何利用pytorch加载用户自己的数据集呢?今天就来解决这个问题。 今天的工作 需要加载用户自己的数据需要继承pytorch的Dataset类,并且重载其中的getitem方法和len方法,前者是告诉pytorch如何根据索引来获取对应的样例,后者是告诉pytorch数
写在前面 前面我曾尝试在无框架的情况下进行神经网络的构建和调参,我发现虽然网络构建起来和运行起来都问题不大,但是在调参时就会显现无框架的弊端。经过初步的调参之后,我建立的网络识别准确率只能达到45%,但是我反复演算和查看公式、代码,都没有发现问题,因此调试就十分的困难了。 所以在经过思索和衡量之后,我决定还是采用一个轻量级的工具来帮助我调试神经网络。经过我的对比搜索之后,我决定使用pytorch,
写在前面 我新开了一个系列的文章,主要是有个原因,1:神经网络的结构发生了较大的变化,2:系列文章的更新方式我也有了新的想法。 那么在这个系列里面我就打算以MNIST为例实现基础以及当下流行的神经网络模型,而且文章的结构上,首先我会解决昨天的未解决的问题,接着放出今天的进展,最后再给出第二天亟待解决的问题。 那么今天这篇文章中我主要分享最新的神经网络结构以及正向传递,权重和阈值公式的推导结果。 昨
写在前面 学了挺长一段时间的机器学习了,但是都是在学习理论知识,并没有进行过实践,因此我就想着做一个项目实践一下。现在深度学习这么火,所以我的第一个项目就打算写一个双隐层的BP神经网络识别MNIST数据集,特此写这一系列文章分享我的项目实现过程,包括环境配置。 那么这博客主要分享python的开发环境conda的安装和conda在pycharm里的配置。 conda 为什么要安装conda呢?它是
写在前面 前篇回顾: 【机器学习】模型的过拟合,欠拟合以及评估方法 【机器学习】性能度量:错误率与精度&&查准率、查全率与Fβ 在这片博客里我将记录模型评价的ROC曲线以及AUC面积的概念以及作用,并且同样以二分类任务为例介绍一个新的犯错成本不均衡的模型评价工具,那就是代价曲线 ROC于AUC 在这里我们要引入2个新的概念,那就是真正例率(True Positi
基于Pytorch的机器学习算法实现
博客
泡泡
积分
勋章
[基于Pytorch的MNIST识别05]总结
[基于Pytorch的MNIST识别04]模型调试
[基于Pytorch的MNIST识别03]运行模型
[基于Pytorch的MNIST识别02]用户数据集的读取
[基于Pytorch的MNIST识别01]神经网络建立
[MNIST01]神经网络的建立
[BPnet识别MNIST01]利用conda建立python工程
【机器学习】ROC以及代价曲线
第三方账号登入
看不清?点击更换
第三方账号登入
QQ 微博 微信