写在前面 由于MLP的实现框架已经非常完善,网上搜到的代码大都大同小异,而且MLP的实现是deeplearning学习过程中较为基础的一个实验.因此完全可以找一份源码以参考,重点在于照着源码手敲一遍,以熟悉pytorch的基本操作. 实验要求 熟悉pytorch的基本操作:用pytorch实现MLP,并在MNIST数据集上进行训练 环境配置 实验环境如下: Win10 python3.8 Anaconda3 Cuda10.2 + cudnn v7 GPU : NVIDIA GeForce MX2…
设计的CNN模型包括一个输入层,输入的是MNIST数据集中28*28*1的灰度图 两个卷积层, 第一层卷积层使用6个3*3的kernel进行filter,步长为1,填充1.这样得到的尺寸是(28+1*2-3)/1+1=28,即6个28*28的feature map 在后面进行池化,尺寸变为14*14 第二层卷积层使用16个5*5的kernel,步长为1,无填充,得到(14-5)/1+1=10,即16个10*10的feature map 池化后尺寸为5*5 后面加两层全连接层,第一层将16*5*5…
caffe在windows上的配置和编译能够參考例如以下的博客: http://blog.csdn.net/joshua_1988/article/details/45036993 http://blog.csdn.net/joshua_1988/article/details/45048871 http://blog.csdn.net/dongb5lz/article/details/45171187 http://m.blog.csdn.net/blog/thesby/43535619 依照…
MNIST数据集上简单CNN实现 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考文献 Tensorflow机器学习实战指南 源代码请点击下方链接欢迎加星 Tesorflow实现基于MNIST数据集上简单CNN 少说废话多写代码 下载并读取MNIST数据集 import matplotlib.pyplot as plt import numpy as np import tensorflow as tf from tensorflow.contrib.learn.python.lea…
原帖地址:https://www.jiqizhixin.com/articles/2018-04-03-5 K 近邻算法,简称 K-NN.在如今深度学习盛行的时代,这个经典的机器学习算法经常被轻视.本篇教程将带你使用 Scikit-Learn 构建 K 近邻算法,并应用于 MNIST 数据集.然后,作者将带你构建自己的 K-NN 算法,开发出比 Scikit-Learn K-NN 更准更快的算法. 1. K 近邻分类模型 K 近邻算法是一种容易实现的监督机器学习算法,并且其分类性能的鲁棒性还不错…
利用pytorch加载mnist数据集的代码如下 import torchvision import torchvision.transforms as transforms from torch.utils.data import DataLoader train_data = torchvision.datasets.MNIST( root='./mnist/', train=True, # this is training data transform=torchvision.transf…
迁移学习的两个主要场景 微调CNN:使用预训练的网络来初始化自己的网络,而不是随机初始化,然后训练即可 将CNN看成固定的特征提取器:固定前面的层,重写最后的全连接层,只有这个新的层会被训练 下面修改预训练好的resnet18网络在私人数据集上进行训练来分类蚂蚁和蜜蜂 数据集下载 这里使用的数据集包含ants和bees训练图片各约120张,验证图片各75张.由于数据样本非常少,如果从0初始化一个网络进行训练很难有令人满意的结果,这时候迁移学习就派上了用场.数据集下载地址,下载后解压到项目目录 导…
这段话放在前面:之前一种用的Pytorch,用着还挺爽,感觉挺方便的,但是在最近文献的时候,很多实验都是基于Google 的Keras的,所以抽空学了下Keras,学了之后才发现Keras相比Pytorch而言,基于keras来写神经网络的话太方便,因为Keras高度的封装性,所以基于Keras来搭建神经网络很简单,在Keras下,可以用两种两种方法来搭建网络模型,分别是Sequential()与Model(),对于网络结构简单,层次较少的模型使用sequential方法较好,只需不断地mode…
几种常见的优化函数比较:https://blog.csdn.net/w113691/article/details/82631097 ''' 基于Adam识别MNIST数据集 ''' import torch import torchvision import torchvision.transforms as transform import torch.nn from torch.autograd import Variable ''' 神经网络层级结构: 卷积层Conv1,Conv2()…
一个门外汉写的MXNET跑MNIST的例子,三层全连接层最后验证率是97%左右,毕竟是第一个例子,主要就是用来理解MXNet怎么使用. #导入需要的模块 import numpy as np #numpy只保存数值,用于数值运算,解决Python标准库中的list只能保存对象的指针的问题 import os #本例子中没有使用到 import gzip #使用zlib来压缩和解压缩数据文件,读写gzip文件 import struct #通过引入struct模块来处理图片中的二进制数据 impo…
任务目标 对MNIST手写数字数据集进行训练和评估,最终使得模型能够在测试集上达到\(98\%\)的正确率.(最终本文达到了\(99.36\%\)) 使用的库的版本: python:3.8.12 pytorch:1.5.1 代码地址GitHub:https://github.com/xiaohuiduan/deeplearning-study/tree/main/手写数字识别 数据集介绍 MNIST数字数据集来自MNIST handwritten digit database, Yann LeC…
一.mnist数据集 mnist是一个手写数字数据库,由Google实验室的Corinna Cortes和纽约大学柯朗研究院的Yann LeCun等人建立,它有60000个训练样本集和10000个测试样本集.mnist数据库官方网址为:http://yann.lecun.com/exdb/mnist/ .可直接下载四个解压文件,分别对应:训练集样本.训练集标签.测试集样本和测试集标签.解压缩之后发现,其是在一个文件中包含了所有图像. 二.caffe支持的数据格式:Lmdb和Leveldb 它们都…
一.前言 本文会详细地阐述caffe-windows的配置教程.由于博主自己也只是个在校学生,目前也写不了太深入的东西,所以准备从最基础的开始一步步来.个人的计划是分成配置和运行官方教程,利用自己的数据集进行训练和利用caffe来实现别人论文中的模型(目前在尝试的是轻量级的SqueezeNet)三步走.不求深度,但求详细.因为说实话caffe-windows的配置当初花了挺多时间的,目前貌似还真没有从头开始一步步讲起的教程,所以博主就争取试着每一步都讲清楚吧. 这里说些题外话:之所以选择Sque…
使用libsvm对MNIST数据集进行实验 在学SVM中的实验环节,老师介绍了libsvm的使用.当时看完之后感觉简单的说不出话来. 1. libsvm介绍 虽然原理要求很高的数学知识等,但是libsvm中,完全就是一个工具包,拿来就能用.当时问了好几遍老师,公司里做svm就是这么简单的?敲几个命令行就可以了...貌似是这样的.当然,在大数据化的背景下,还会有比如:并行SVM.多核函数SVM等情况的研究和应用. 实验环节老师给的数据很简单,也就1000个数据点,使用svm进行分类.没有太多好说的…
上一篇记录的是学习caffe前的环境准备以及如何创建好自己需要的caffe版本.这一篇记录的是如何使用编译好的caffe做训练mnist数据集,步骤编号延用上一篇 <实践详细篇-Windows下使用VS2015编译安装Caffe环境(CPU ONLY) >的顺序. 二:使用caffe做图像分类识别训练测试mnist数据集 1.下载MNIST数据集,MNIST数据集包含四个文件信息,见表格: 文件 内容 train-images-idx3-ubyte.gz 训练集图片 - 55000 张 训练图…
如果说"Hello Word!"是程序员的第一个程序,那么MNIST数据集,毫无疑问是机器学习者第一个训练的数据集,本文将使用Google公布的TensorFLow来学习训练MNIST数据集. 本文结构分为三个部分,一是如何使用TensorFLow来学习训练MNIST数据集,二是运行结果,三是问题小结. 一. TensorFLow来学习训练MNIST 在github上下载数据:https://github.com/tensorflow/tensorflow/tree/master/te…
有一个关于mnist的一个事例可以参考,我觉得写的很好:http://www.cnblogs.com/x1957/archive/2012/06/02/2531503.html #!/usr/bin/env python # -*- coding: UTF-8 -*- import struct # from bp import * from datetime import datetime # 数据加载器基类 class Loader(object):     def __init__(sel…
RNN介绍   在读本文之前,读者应该对全连接神经网络(Fully Connected Neural Network, FCNN)和卷积神经网络( Convolutional Neural Network, CNN)有一定的了解.对于FCNN和CNN来说,他们能解决很多实际问题,但是它们都只能单独的取处理一个个的输入,前一个输入和后一个输入是完全没有关系的 .而在现实生活中,我们输入的向量往往存在着前后联系,即前一个输入和后一个输入是有关联的,比如文本,语音,视频等,因此,我们需要了解深度学习中…
一.MNIST实验内容 MNIST的实验比较简单,可以直接通过下面的程序加上程序上的部分注释就能很好的理解了,后面在完善具体的相关的数学理论知识,先记录在这里: 代码如下所示: import tensorflow as tf from tensorflow.examples.tutorials.mnist import input_data import matplotlib.pyplot as plt import numpy as np %matplotlib inline mnist =…
基础 在参考①中我们详细介绍了没有隐含层的神经网络结构,该神经网络只有输入层和输出层,并且输入层和输出层是通过全连接方式进行连接的.具体结构如下: 我们用此网络结构基于MNIST数据集(参考②)进行训练,在MNIST数据集中每张图像的分辨率为28*28,即784维,对应于上图中的x; 而输出为数字类别,即0~9,因此上图中的y的维度维10.因此权重w的维度为[784, 10],wi,j代表第j维的特征对应的第i类的权重值,主要是为了矩阵相乘时计算的方便,具体见下面代码. 训练过程 1.训练过程中…
1. tf.matmul(X, w) # 进行点乘操作 参数说明:X,w都表示输入的数据, 2.tf.equal(x, y) # 比较两个数据对应位置的数是否相等,返回值为True,或者False 参数说明:x,y表示需要比较的两组数 3.tf.cast(y, 'float') # 将布尔类型转换为数字类型 参数说明:y表示输入的数据,‘float’表示转换的数据类型 4.tf.argmax(y, 1) # 返回每一行的最大值的索引 参数说明:y表示输入数据,1表示每一行的最大值的索引,0表示每…
一.二次代价函数 1. 形式: 其中,C为代价函数,X表示样本,Y表示实际值,a表示输出值,n为样本总数 2. 利用梯度下降法调整权值参数大小,推导过程如下图所示: 根据结果可得,权重w和偏置b的梯度跟激活函数的梯度成正比(即激活函数的梯度越大,w和b的大小调整的越快,训练速度也越快) 3. 激活函数是sigmoid函数时,二次代价函数调整参数过程分析 理想调整参数状态:距离目标点远时,梯度大,参数调整较快:距离目标点近时,梯度小,参数调整较慢.如果我的目标点是调整到M点,从A点==>B点的调整…
在我的上一篇随笔中,采用了单层神经网络来对MNIST进行训练,在测试集中只有约90%的正确率.这次换一种神经网络(多层神经网络)来进行训练和测试. 1.获取MNIST数据 MNIST数据集只要一行代码就可以获取的到,非常方便.关于MNIST的基本信息可以参考我的上一篇随笔. mnist = input_data.read_data_sets('./data/mnist', one_hot=True) 2.模型基本结构 本次采用的训练模型为三层神经网络结构,输入层节点数与MNIST一行数据的长度一…
1.MNIST数据集简介 首先通过下面两行代码获取到TensorFlow内置的MNIST数据集: from tensorflow.examples.tutorials.mnist import input_data mnist = input_data.read_data_sets('./data/mnist', one_hot=True) MNIST数据集共有55000(mnist.train.num_examples)张用于训练的数据,对应的有55000个标签:共有10000(mnist.t…
简单的训练MNIST数据集 (0-9的数字图片) 详细地址(包括下载地址):http://www.tensorfly.cn/tfdoc/tutorials/mnist_beginners.html # -*- coding: utf-8 -*- import tensorflow as tf import numpy as np import input_data # 需要下载数据集(包括了input_data)# 加载数据集 mnist = input_data.read_data_sets(…
转自:https://blog.csdn.net/simple_the_best/article/details/75267863 MNIST 数据集已经是一个被”嚼烂”了的数据集, 很多教程都会对它”下手”, 几乎成为一个 “典范”. 不过有些人可能对它还不是很了解, 下面来介绍一下. MNIST 数据集可在 http://yann.lecun.com/exdb/mnist/ 获取, 它包含了四个部分: Training set images: train-images-idx3-ubyte.…
一. Tensorflow环境的安装 这里我们只讲CPU版本,使用 Anaconda 进行安装 a.首先我们要安装 Anaconda 链接:https://pan.baidu.com/s/1AxdGi93oN9kXCLdyxOMnRA 密码:79ig 过程如下: 第一步:点击next 第二步:I Agree 第三步:Just ME 第四步:自己选择一个恰当位置放它就好 第五步:建议只选择第二个 第六步:就直接install啦啦啦啦,然后你就可以上手万能库了 b.找到Anaconda prompt…
原文:http://blog.csdn.net/arthur503/article/details/19974057 在学SVM中的实验环节,老师介绍了libsvm的使用.当时看完之后感觉简单的说不出话来. 1. libsvm介绍 虽然原理要求很高的数学知识等,但是libsvm中,完全就是一个工具包,拿来就能用.当时问了好几遍老师,公司里做svm就是这么简单的?敲几个命令行就可以了...貌似是这样的.当然,在大数据化的背景下,还会有比如:并行SVM.多核函数SVM等情况的研究和应用. 实验环节老…
Ubuntu14.04+caffe+cuda 环境搭建以及MNIST数据集的训练与测试 一.ubuntu14.04的安装: ubuntu的安装是一件十分简单的事情,这里给出一个参考教程: http://jingyan.baidu.com/article/76a7e409bea83efc3b6e1507.html 二.cuda的安装: 1.首先下载nvidia cuda的仓库安装包(我的是ubuntu 14.04 64位,所以下载的是ubuntu14.04的安装包,如果你是32位的可以参看具体的地…
初学tensorflow,参考了以下几篇博客: soft模型 tensorflow构建全连接神经网络 tensorflow构建卷积神经网络 tensorflow构建卷积神经网络 tensorflow构建CNN[待学习] 全连接+各种优化[待学习] BN层[待学习] 先解释以下MNIST数据集,训练数据集有55,000 条,即X为55,000 * 784的矩阵,那么Y为55,000 * 10的矩阵,每个图片是28像素*28像素,带有标签,Y为该图片的真实数字,即标签,每个图片10个数字,1所在位置…