import sys, os

sys.path.append('F:\ml\DL\source-code')

from dataset.mnist import load_mnist

from PIL import Image

import numpy as np

#pickle提供了一个简单的持久化功能。可以将对象以文件的形式存放在磁盘上。
#pickle模块只能在python中使用,python中几乎所有的数据类型(列表,字典,集合,类等)都可以用pickle来序列化,
#pickle序列化后的数据,可读性差,人一般无法识别。
import pickle def sigmoid(x): return 1 / (1 + np.exp(-x)) def softmax(x):
m = np.max(x) return np.exp(x- m) / np.sum(np.exp(x - m)) def get_data():
(x_train, t_train), (x_test, t_test) = load_mnist(normalize = True, flatten = True, one_hot_label = False) return x_test, t_test def init_network():
with open("F:\\ml\DL\\source-code\\ch03\\sample_weight.pkl", 'rb') as f:
network = pickle.load(f) return network def predict(network, x):
W1, W2, W3 = network['W1'], network['W2'], network['W3'] b1, b2, b3 = network['b1'], network['b2'], network['b3'] a1 = np.dot(x, W1) + b1 z1 = sigmoid(a1) a2 = np.dot(a1, W2) + b2 z2 = sigmoid(a2) a3 = np.dot(z2, W3) + b3 y = softmax(a3) return y x, t = get_data() network = init_network() accuracy_cnt = 0 for i in range(len(x)):
y = predict(network, x[i]) p = np.argmax(y) if p == t[i]:
accuracy_cnt += 1 print("Accuracy:" + str(float(accuracy_cnt) / len(x)))
Accuracy:0.8453

#批处理显示
x, t = get_data() network = init_network() batch_size = 100
accuracy_cnt = 0 for i in range(0, len(x), batch_size):
x_batch = x[i:i+batch_size] y_batch = predict(network, x_batch) p = np.argmax(y_batch, axis = 1) accuracy_cnt += np.sum(p == t[i : i+batch_size]) print("Accuracy:" + str(float(accuracy_cnt) / len(x)))
Accuracy:0.8453
 

mnist数据的预测结果以及批量处理的更多相关文章

  1. tensorflow学习笔记——使用TensorFlow操作MNIST数据(2)

    tensorflow学习笔记——使用TensorFlow操作MNIST数据(1) 一:神经网络知识点整理 1.1,多层:使用多层权重,例如多层全连接方式 以下定义了三个隐藏层的全连接方式的神经网络样例 ...

  2. tensorflow学习笔记——使用TensorFlow操作MNIST数据(1)

    续集请点击我:tensorflow学习笔记——使用TensorFlow操作MNIST数据(2) 本节开始学习使用tensorflow教程,当然从最简单的MNIST开始.这怎么说呢,就好比编程入门有He ...

  3. GAN生成式对抗网络(三)——mnist数据生成

    通过GAN生成式对抗网络,产生mnist数据 引入包,数据约定等 import numpy as np import matplotlib.pyplot as plt import input_dat ...

  4. 如何使用Pytorch迅速实现Mnist数据及分类器

    一段时间没有更新博文,想着也该写两篇文章玩玩了.而从一个简单的例子作为开端是一个比较不错的选择.本文章会手把手地教读者构建一个简单的Mnist(Fashion-Mnist同理)的分类器,并且会使用相对 ...

  5. TensorFlow笔记——关于MNIST数据的一个简单的例子

    这个程序参考自极客学院. from tensorflow.examples.tutorials.mnist import input_data import tensorflow as tf # MN ...

  6. 使用Tensorflow操作MNIST数据

    MNIST是一个非常有名的手写体数字识别数据集,在很多资料中,这个数据集都会被用作深度学习的入门样例.而TensorFlow的封装让使用MNIST数据集变得更加方便.MNIST数据集是NIST数据集的 ...

  7. MNIST数据集和IDX文件格式

    MNIST数据集 MNIST数据集是Yan Lecun整理出来的. NIST是美国国家标准与技术研究院(National Institute of Standards and Technology)的 ...

  8. 基于MNIST数据的卷积神经网络CNN

    基于tensorflow使用CNN识别MNIST 参数数量:第一个卷积层5x5x1x32=800个参数,第二个卷积层5x5x32x64=51200个参数,第三个全连接层7x7x64x1024=3211 ...

  9. 机器学习预测时label错位对未来数据做预测

    前言 这篇文章时承继上一篇机器学习经典模型使用归一化的影响.这次又有了新的任务,通过将label错位来对未来数据做预测. 实验过程 使用不同的归一化方法,不同得模型将测试集label错位,计算出MSE ...

随机推荐

  1. C++用于类型转换的4个操作符

    Dynamic_cast,   const_cast,  static_cast,  reinterpret_cast. (1)reinterpret_cast 用于基本的类型转换.如 in *ip; ...

  2. springboot集成kaptcha验证码

    在pom.xml引入依赖 <!-- 验证码 --> <!-- https://mvnrepository.com/artifact/com.github.penggle/kaptch ...

  3. svn安装没有svn.exe问题

    当时安装svn时没有注意,直接是下一步下一步. 现在idea找svn.exe时找不到. 原来是安装的时候没有选上 解决:重新安装,不用卸载,再次安装就可以 然后安装就可以了

  4. JDK1.8 的 HashMap 源码之注意事项

    文章目录 链表变树 树形结构与Comparable,性能极致与降低 链表与树之间转换的阈值 英语渣靠着翻译插件,大概翻译的,难免有错误之处,注意甄别: 链表变树 This map usually ac ...

  5. 剑指offer27:按字典序打印出该字符串中字符的所有排列

    1 题目描述 输入一个字符串,按字典序打印出该字符串中字符的所有排列.例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba. 输入描述: ...

  6. Django项目配置参数大全

    数据库的配置 配置文件: settings.pyDATABASES = { # 'default': { # 'ENGINE': 'django.db.backends.sqlite3', # 'NA ...

  7. hadoop 节点退役和服役

    节点的服役和退役(hdfs)---------------------- 黑白名单的组合情况-------------------------include //dfs.includeexclude ...

  8. 案例(2)-- 线程不安全对象(SimpleDateFormat)

    问题描述: 1.系统偶发性抛出异常:java.lang.NumberFormatException: multiple points ,追溯源头抛出的类为:SimpleDateFormat 问题的定位 ...

  9. 滤波器算法(2)-最小均方(LMS)

    2018.09.09 写的版本 ①残差平方和 ②平方损失函数: ③函数的极值点为偏导数为0的点:(将问题变成一个求极值的问题) ④求解得: matlab代码: ① y=ax+b+e方程 functio ...

  10. ajax实现文件上传,多文件上传,追加参数

    1.html部分实现代码: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> ...