mnist

TensorFlow2.0 实现MNIST

谁说胖子不能爱 提交于 2020-01-22 22:48:28
TensorFlow2.0 实现MNIST 参考了这篇: https://geektutu.com/post/tensorflow2-mnist-cnn.html 但是其中有个小问题,这里做出纠正; MNIST采用LeNet5的网络模型,输入一个矩阵或图像,大小为 32 ∗ 32 32*32 3 2 ∗ 3 2 。 不计输入层,有3个卷积层,2个下采样(pooling)层,1个全连接层和1个输出层 LeNet论文: 论文地址 输入包 import os import tensorflow as tf import numpy as np from tensorflow.keras import datasets, layers, models from PIL import Image import matplotlib.pyplot as plt import scipy.misc np.set_printoptions(suppress=True) # 不用科学计数法输出 定义模型 class LeNet(object): def __init__(self): model = models.Sequential() # 第1层卷积,卷积核大小为3*3,32个,28*28为待训练图片的大小 model.add(layers.Conv2D(32, (3, 3),

PyTorch图像分类

a 夏天 提交于 2020-01-19 07:11:12
目录 一、torch和torchvision 1、torchvision.datasets 2、torchvision.models 3、torchvision.transforms 4、torchvision.utils 二、MNIST手写数字识别 1、获取MNIST训练集和测试集 2、数据装载 3、数据预览 4、构建卷积神经网络模型 5、对模型进行训练和参数优化 6、对训练模型进行保存和加载 7、MNIST手写数字识别完整代码 三、CIFAR10图像分类 1、CIFAR10数据集介绍 2、CIFAR10图像分类实现 3、在GPU上跑神经网络 一、torch和torchvision PyTorch 中有两个核心的包,分别是 torch 和 torchvision 。 torch.nn 包提供了很多与实现神经网络中的具体功能相关的类,torch.optim包中提供了非常多的可实现参数自动优化的类,torch.autograd实现自动梯度的功能等。 torchvision 包含了目前流行的数据集,模型结构和常用的图片转换工具,它的主要功能是实现数据的处理、导入和预览等,所以如果需要对计算机视觉的相关问题进行处理,就可以借用在torchvision包中提供的大量的类来完成相应的工作。 1、torchvision.datasets torchvision.datasets

TensorFlow入门

耗尽温柔 提交于 2020-01-16 04:34:38
TensorFlow计算模型--计算图 计算图的概念 TensorFlow两个重要概念:Tensor和Flow,Tensor就是张量(可以理解为多维数组),Flow就是计算相互转化的过程。TensorFlow的计算方式类似Spark的有向无环图(DAG),在创建Session之后才开始计算(类似Action算子)。 简单示例 import tensorflow as tf a = tf.constant([1.0,2.0],name="a") b = tf.constant([3.0,4.0],name="b") result = a + b sess = tf.Session() print(sess.run(result)) # [ 4. 6.] TensorFlow数据模型--张量 张量的概念 张量可以简单理解为多维数组。 零阶张量表示标量(scalar),也就是一个数。一阶张量表示为向量(vector),也就是一维数组。n阶张量表示为n维数组。但张量在TensorFlow中只是对结算结果的引用,它保存的是如何得到这些数字的计算过程。 import tensorflow as tf a = tf.constant([1.0,2.0],name="a") b = tf.constant([3.0,4.0],name="b") result = a + b print

mnist 数据加载

眉间皱痕 提交于 2020-01-15 20:38:27
先下载数据,自己随便找个。或者梯子加复制原地址到浏览器就可以轻松加载。然后查看源码,你就知道怎么弄了。 """MNIST handwritten digits dataset. """ from __future__ import absolute_import from __future__ import division from __future__ import print_function from ..utils.data_utils import get_file import numpy as np def load_data(path='mnist.npz'): """Loads the MNIST dataset. # Arguments path: path where to cache the dataset locally (relative to ~/.keras/datasets). # Returns Tuple of Numpy arrays: `(x_train, y_train), (x_test, y_test)`. """ path = get_file(path, origin='https://s3.amazonaws.com/img-datasets/mnist.npz', file_hash=

Improve real-life results of neural network trained with mnist dataset

故事扮演 提交于 2020-01-14 10:03:21
问题 I've built a neural network with keras using the mnist dataset and now I'm trying to use it on photos of actual handwritten digits. Of course I don't expect the results to be perfect but the results I currently get have a lot of room for improvement. For starters I test it with some photos of individual digits written in my clearest handwriting. They are square and they have the same dimensions and color as the images in the mnist dataset. They are saved in a folder called individual_test

You must feed a value for placeholder tensor 'Placeholder' with dtype float and shape [?,784] for MNIST dataset

旧街凉风 提交于 2020-01-14 08:21:13
问题 Here is the example I am testing on MNIST dataset for quantization. I am testing my model using below code: import tensorflow as tf from tensorflow.examples.tutorials.mnist import input_data from tensorflow.python.framework import graph_util from tensorflow.core.framework import graph_pb2 import numpy as np def test_model(model_file,x_in): with tf.Session() as sess: with open(model_file, "rb") as f: output_graph_def = graph_pb2.GraphDef() output_graph_def.ParseFromString(f.read()) _ = tf

pytorch_一个简单实例_CNN:MNIST数据集手写数字识别

夙愿已清 提交于 2020-01-13 21:23:45
将MNIST数据集手写数字识别样例作为模板: MNIST 包括6万张28x28的训练样本,1万张测试样本。Pytorch里面包含了MNIST的数据集,直接使用即可。 import torch import torch . nn as nn import torch . nn . functional as F import torch . optim as optim from torchvision import datasets , transforms # 定义参数 BATCH_SIZE = 512 #大概需要2G的显存 EPOCHS = 20 # 总共训练批次 DEVICE = torch . device ( "cuda" if torch . cuda . is_available ( ) else "cpu" ) # 让torch判断是否使用GPU,建议使用GPU环境,因为会快很多 # 读取数据 # 训练集数据 train_loader = torch . utils . data . DataLoader ( datasets . MNIST ( 'data' , train = True , download = True , transform = transforms . Compose ( [ transforms . ToTensor ( ) ,

Tensorflow机器学习入门——MINIST数据集识别

流过昼夜 提交于 2020-01-13 13:54:59
参考网站: http://www.tensorfly.cn/tfdoc/tutorials/mnist_beginners.html #自动下载并加载数据 from tensorflow.examples.tutorials.mnist import input_data mnist = input_data.read_data_sets("MNIST_data/", one_hot=True) #构建计算图 import tensorflow as tf x = tf.placeholder("float", [None, 784]) y_ = tf.placeholder("float", [None,10]) W = tf.Variable(tf.zeros([784,10])) b = tf.Variable(tf.zeros([10])) y = tf.nn.softmax(tf.matmul(x,W) + b) cross_entropy = -tf.reduce_sum(y_*tf.log(y)) train_step = tf.train.GradientDescentOptimizer(0.01).minimize(cross_entropy) #训练1000步 init = tf.initialize_all_variables() sess = tf

Tensorflow学习二_mnist入门

强颜欢笑 提交于 2020-01-13 05:45:54
前两天刚刚装好我的Tensorflow,于是今天通过tensorflow的中文网站(http://www.tensorfly.cn/tfdoc/get_started/introduction.html), 准备开始学习关于tensorflow的入门——mnist手写字母的识别入门。 在此主要记录一下我运行我的第一个代码时,出现的小错误。 一、简单示例 在简介中有一段使用 Python API 撰写的 TensorFlow 示例代码, 直接拿来运行:出现错误 File "D:/tensorflow/python文件/tensorflow1.py", line 37 print step, sess.run(W), sess.run(b) ^ SyntaxError: invalid syntax 后来通过网上搜索发现,是因为在官网上所用的代码是python2.x,而我使用的是python3, 1、改xrange为range 2、修改print格式 运行成功 import tensorflow as tf import numpy as np # 使用 NumPy 生成假数据(phony data), 总共 100 个点. x_data = np.float32(np.random.rand(2, 100)) # 随机输入 y_data = np.dot([0.100, 0.200]

一篇文章让你秒懂如果用tensorflow保存和加载模型

邮差的信 提交于 2020-01-13 04:36:29
废话不多说,直接上代码,模型保存的代码如下: # coding: utf-8 import tensorflow as tf from tensorflow . examples . tutorials . mnist import input_data import os os . environ [ 'TF_CPP_MIN_LOG_LEVEL' ] = '3' def weight_variable ( shape ) : initial = tf . truncated_normal ( shape , stddev = 0.1 ) return tf . Variable ( initial ) def bias_variable ( shape ) : initial = tf . constant ( 0.1 , shape = shape ) return tf . Variable ( initial ) def conv2d ( x , W ) : return tf . nn . conv2d ( x , W , strides = [ 1 , 1 , 1 , 1 ] , padding = 'SAME' ) def max_pool_2x2 ( x ) : return tf . nn . max_pool ( x , ksize = [ 1 , 2 , 2