mnist

pytorch学习(二):mnist手写数字数据集训练和测试(一)mnist数据集分析

安稳与你 提交于 2019-12-05 10:23:04
MNIST 数据集来自美国国家标准与技术研究所, National Institute of Standards and Technology (NIST). 训练集 (training set) 由来自 250 个不同人手写的数字构成, 其中 50% 是高中学生, 50% 来自人口普查局 (the Census Bureau) 的工作人员. 测试集(test set) 也是同样比例的手写数字数据. MNIST 数据集可在 http://yann.lecun.com/exdb/mnist/ 获取,将下载来的数据解压保存到datesets文件下,四个文件分别包括了images和labels,其中labels是images所对应的数字,训练集为50000个样本,测试集为10000个样本。 像素为28x28,单通道 图片是以字节的形式进行存储,需要把它转换成矩阵形式, import os import struct import numpy as np def load_mnist(path, kind='train'): """Load MNta from `path`""" labels_path = os.path.join(path,IST da '%s-labels.idx1-ubyte' % kind) images_path = os.path.join(path, '%s

用pytorch再实现mnist手写识别

守給你的承諾、 提交于 2019-12-05 10:19:24
用pytorch再实现mnist手写识别 mnist作为非常棒的数据集,所以入pytorch的坑就先试试mnist。 数据集下载 http://yann.lecun.com/exdb/mnist/ lecun的网站上可以下载的到,也可以用pytorch的datasets包下载 from torchvision.datasets import mn train_set = mn.MNIST('./data', train=True, download=True) test_set = mn.MNIST('./data', train=False, download=True) 但是注意的是,如果你没有 科学上网 ,是下载不下来的,速度像树懒一样非常非常非常慢。 预处理 预处理可以用transforms.Compose(),先除以255,再通过transforms.Normalize([0.5],[0.5])来将色彩值映射到[-1,1]闭区间里面,假设原色彩值是0,那么映射后就是-1。因为mnist图片都是灰度图,所以只有一个色彩通道。正常的彩色图片是RGB三通道的,transforms.Normalize([r,g,b],[d,e,f])这样对应每个RGB的均值和方差。 也可以自定义函数 def data_tf(x): x = np.array(x, dtype='float32')

基于Pytorch的MNIST数据集的预处理

柔情痞子 提交于 2019-12-05 10:15:50
基于Pytorch的MNIST数据集的预处理 MNIST的准确率达到99.7% 用于MNIST的卷积神经网络(CNN)的实现,具有各种技术,例如数据增强,丢失,伪随机化等。 操作系统 :ubuntu18.04 显卡 :GTX1080ti python版本 :2.7(3.7) QQ群 : 加入深度学习交流群 获取更多环境配置细节和学习资料(147960154) 网络架构 具有4层的CNN具有以下架构。 输入层:784个节点(MNIST图像大小) 第一卷积层:5x5x32 第一个最大池层 第二卷积层:5x5x64 第二个最大池层 第三个完全连接层:1024个节点 输出层:10个节点(MNIST的类数) 用于改善CNN性能的工具 采用以下技术来改善CNN的性能。 1. Data augmentation 通过以下方式将列车数据的数量增加到5倍 随机旋转:每个图像在[-15°,+ 15°]范围内随机旋转。 随机移位:每个图像在两个轴上随机移动一个范围为[-2pix,+ 2pix]的值。 零中心归一化:将像素值减去(PIXEL_DEPTH / 2)并除以PIXEL_DEPTH。 2. Parameter initializers 重量初始化器:xaiver初始化器 偏差初始值设定项:常量(零)初始值设定项 3. Batch normalization 所有卷积/完全连接的层都使用批量标准化。

PyTorch之示例——MNIST

核能气质少年 提交于 2019-12-05 10:09:50
from __future__ import print_function import argparse import torch import torch.nn as nn import torch.nn.functional as F import torch.optim as optim from torchvision import datasets, transforms from torch.autograd import Variable # Training settings parser = argparse.ArgumentParser(description= 'PyTorch MNIST Example' ) parser.add_argument( '--batch-size' , type=int, default= 64 , metavar= 'N' , help= 'input batch size for training (default: 64)' ) parser.add_argument( '--test-batch-size' , type=int, default= 1000 , metavar= 'N' , help= 'input batch size for testing (default: 1000)' ) parser

如何将pytorch中mnist数据集的图像可视化及保存

允我心安 提交于 2019-12-05 10:09:38
如何将pytorch中mnist数据集的图像可视化及保存 导出一些库 import torch import torchvision import torch.utils.data as Data import scipy.misc import os import matplotlib.pyplot as plt BATCH_SIZE = 50 DOWNLOAD_MNIST = True 数据集的准备 #训练集测试集的准备 train_data = torchvision.datasets.MNIST(root='./mnist/', train=True,transform=torchvision.transforms.ToTensor(), download=DOWNLOAD_MNIST, ) test_data = torchvision.datasets.MNIST(root='./mnist/', train=False) 将训练及测试集利用dataloader进行迭代 train_loader = Data.DataLoader(dataset=train_data, batch_size=BATCH_SIZE, shuffle=True) test_x = Variable(torch.unsqueeze(test_data.test_data, dim=1),

DeepLearning&Tensorflow学习笔记4__mnist数据集DCGAN

放肆的年华 提交于 2019-12-05 10:05:44
1.Introduction 利用mnist数据集进行训练DCGAN网络,生成数字图像。 2.Source code #encoding:utf-8 """ Deep Convolutional Generative Adversarial Network (DCGAN). Using deep convolutional generative adversarial networks (DCGAN) to generate digit images from a noise distribution. References: - Unsupervised representation learning with deep convolutional generative adversarial networks. A Radford, L Metz, S Chintala. arXiv:1511.06434. Links: - [DCGAN Paper](https://arxiv.org/abs/1511.06434). - [MNIST Dataset](http://yann.lecun.com/exdb/mnist/). Author: Aymeric Damien Project: https://github.com/aymericdamien/TensorFlow

keras DCGAN mnist数据

[亡魂溺海] 提交于 2019-12-05 09:54:34
1. keras 的 mnist.load_data() 因为网页连接无法使用,数据无法下载 可以从mnist网站上直接下载 nist.pkl.gz 文件,然后再 处理 import pickle import gzip def load_data(): with gzip.open('mnist/mnist.pkl.gz','rb') as fp: training_data, valid_data, test_data = pickle.load(fp,encoding='bytes') return training_data, valid_data, test_data 2. DCGAN网络 generator和d需要维度对应,github下载的有两个代码无法使用, 打印网络结构之后发现两个维度不对应 https://github.com/FacelessManipulator/keras-dcgan/blob/master/dcgan.py 这个测试是可用的 来源: CSDN 作者: nlite827109223 链接: https://blog.csdn.net/nlite827109223/article/details/80207137

mnist识别手写数字以及tensorboard可视化

谁说胖子不能爱 提交于 2019-12-05 09:42:25
reference 基本模型: https://blog.csdn.net/program_developer/article/details/80369989 如果用类实现: https://www.cnblogs.com/Mrzhang3389/p/9790955.html 求精度、tensorboard可视化: https://blog.csdn.net/wwxy1995/article/details/80832283 https://blog.csdn.net/lansetiankong2104/article/details/79981776 这两篇很像,注释和损失函数稍有不同 对数据集的理解: https://blog.csdn.net/qq_41185868/article/details/79094752 minst数据集可视化: https://blog.csdn.net/wc13197389627/article/details/95527289 保存和载入模型: https://blog.csdn.net/thriving_fcl/article/details/71423039 如何识别自己的手写(ps)数字以及mnist数据集是西方手写体等注意事项: https://blog.csdn.net/qq_38269418/article/details

mnist的pytorch版本,简单的迭代可得到97%的概率

荒凉一梦 提交于 2019-12-05 09:40:16
#本文从其他处copy过来,是为了留作参考,比如同样的分类问题,只需要修改几个关键位置,一是模型,二是损失,三是优化器 import torch import torch.nn as nn import torchvision.datasets as dsets import torchvision.transforms as transforms from torch.autograd import Variable import win_unicode_console win_unicode_console.enable() # hyper parameter input_size = 28 * 28 # # image size of MNIST data num_classes = 10 num_epochs = 10 batch_size = 100 learning_rate = 1e-3 # MNIST dataset #train_dataset = dsets.MNIST(root = '../../data_sets/mnist', train = True, transform = transforms.ToTensor(), download = True) train_dataset = dsets.MNIST(root = '../../data

Pytorch使用MNIST数据集实现基础GAN和DCGAN

点点圈 提交于 2019-12-05 09:39:44
原始生成对抗网络Generative Adversarial Networks GAN包含生成器Generator和判别器Discriminator,数据有真实数据groundtruth,还有需要网络生成的“fake”数据,目的是网络生成的fake数据可以“骗过”判别器,让判别器认不出来,就是让判别器分不清进入的数据是真实数据还是fake数据。总的来说是:判别器区分真实数据和fake数据的能力越强越好;生成器生成的数据骗过判别器的能力越强越好,这个是矛盾的,所以只能交替训练网络。 需要搭建生成器网络和判别器网络,训练的时候交替训练。 首先训练判别器的参数,固定生成器的参数,让判别器判断生成器生成的数据,让其和0接近,让判别器判断真实数据,让其和1接近; 接着训练生成器的参数,固定判别器的参数,让生成器生成的数据进入判别器,让判断结果和1接近。生成器生成数据需要给定随机初始值 线性版: import torch from torch.utils.data import DataLoader from torchvision.datasets import MNIST from torchvision import transforms from torch import optim import torch.nn as nn import matplotlib.pyplot as