mnist数据集保存为图片
#coding: utf-8
from tensorflow.examples.tutorials.mnist import input_data
import scipy.misc
import os
import numpy as np# 读取MNIST数据集。如果不存在会事先下载。
mnist = input_data.read_data_sets("MNIST_data/", one_hot=True)# 我们把原始图片保存在MNIST_data/raw/文件夹下
# 如果没有这个文件夹会自动创建
train_set_save_dir = 'MNIST_data/raw/train/'
test_set_save_dir = 'MNIST_data/raw/test/' if os.path.exists(train_set_save_dir) is False:os.makedirs(train_set_save_dir)if os.path.exists(test_set_save_dir) is False:os.makedirs(test_set_save_dir)n_classes = 10
train_set_dirs = []
test_set_dirs = []
train_file = []
test_file = []for i in range(0, n_classes):train_dir = train_set_save_dir + str(i) + "/"train_set_dirs.append(train_dir)test_dir = test_set_save_dir + str(i) + "/"test_set_dirs.append(test_dir)train_file.append([])test_file.append([])if os.path.exists(train_dir) is False:os.makedirs(train_dir)if os.path.exists(test_dir) is False:os.makedirs(test_dir)print(mnist.train.images.shape)
print(mnist.test.images.shape)
print(mnist.train.labels.shape)
print(mnist.test.labels.shape)print(mnist.train.labels[0:10])
print(np.argmax(mnist.train.labels[0:10,:], axis=1))trainImageCounts = mnist.train.images.shape[0]
testImageCounts = mnist.test.images.shape[0]#exit()# 保存训练集图片
for i in range(0, trainImageCounts):# classIndex = np.argmax(mnist.train.labels[i], axis=0)train_file[classIndex].append('mnist_train_%d.jpg' % i)#continue# 保存文件的格式为 mnist_train_0.jpg, mnist_train_1.jpg, ... ,mnist_train_19.jpg#filename = train_set_save_dir + 'mnist_train_%d.jpg' % ifilename = train_set_dirs[classIndex] + 'mnist_train_%d.jpg' % i# 请注意,mnist.train.images[i, :]就表示第i张图片(序号从0开始)image_array = mnist.train.images[i, :]# TensorFlow中的MNIST图片是一个784维的向量,我们重新把它还原为28x28维的图像。image_array = image_array.reshape(28, 28)# 将image_array保存为图片# 先用scipy.misc.toimage转换为图像,再调用save直接保存。scipy.misc.toimage(image_array, cmin=0.0, cmax=1.0).save(filename)# 保存测试集图片
for i in range(0, testImageCounts):# classIndex = np.argmax(mnist.test.labels[i], axis=0)test_file[classIndex].append('mnist_test_%d.jpg' % i)#continue# 保存文件的格式为 mnist_train_0.jpg, mnist_train_1.jpg, ... ,mnist_train_19.jpg#filename = test_set_save_dir + 'mnist_test_%d.jpg' % ifilename = test_set_dirs[classIndex] + 'mnist_test_%d.jpg' % i# 请注意,mnist.test.images[i, :]就表示第i张图片(序号从0开始)image_array = mnist.test.images[i, :]# TensorFlow中的MNIST图片是一个784维的向量,我们重新把它还原为28x28维的图像。image_array = image_array.reshape(28, 28)# 将image_array保存为图片# 先用scipy.misc.toimage转换为图像,再调用save直接保存。scipy.misc.toimage(image_array, cmin=0.0, cmax=1.0).save(filename)for i in range(0, n_classes):trainLabelFile = open(train_set_dirs[i] + "list.txt", "w")for picFlie in train_file[i]:trainLabelFile.write(picFlie + "\n")trainLabelFile.close()testLabelFile = open(test_set_dirs[i] + "list.txt", "w")for picFlie in test_file[i]:testLabelFile.write(picFlie + "\n")testLabelFile.close()print('Please check: %s ' % train_set_save_dir)
print('Please check: %s ' % test_set_save_dir)
相关文章:

Python3数据分析与挖掘建模实战
<div>课程地址:http://icourse8.com/Python3_shujufenxi.html</div>复制代码第1章 课程介绍【赠送相关电子书随堂代码】 第2章 数据获取 第3章 单因子探索分析与数据可视化 第4章 多因子探索分析 第5章 预处理理论 第6章 挖掘建模 第7章 模型评估 第8章…

tensorflow生成对抗网络
import tensorflow as tf import numpy as np import os from tensorflow.examples.tutorials.mnist import input_data from matplotlib import pyplot as pltBATCH_SIZE 64 UNITS_SIZE 128 LEARNING_RATE 0.001 EPOCH 300 SMOOTH 0.1print("mnist手写体生成对抗网络…

博客园今天早上是不是出现什么问题了?
下面是我进我的blog后台管理和浏览博客园给出的提示。大约几分钟后恢复正常。转载于:https://www.cnblogs.com/freeyzh/archive/2004/12/01/71269.html

模态框获取id一直不变,都是同一个id值
2019独角兽企业重金招聘Python工程师标准>>> $(.refund-btn).click(function(){//此处必须是$(this),否则$(.refund-btn)重新获取,导致值一直不变var id $(this).attr(data-id);//var id $(.refund-btn).attr(data-id);错误,这样会导致一直…

标准功能模块组件 -- 内部联络单组件,内部邮件组件,提高多人异地协同办公效率...
为什么80%的码农都做不了架构师?>>> 未必什么功能都需要自己开发,我们不会自己开发一个数据库系统,也不会自己开发一个操作系统,同样我们每个功能模块都未必需要自己开发,自己开发最核心的模块,…

Microsoft patterns practices Enterprise Library released
一直关注这个东西,本来订阅了RSS,没想到GotDotNet上面的发布信息给清空了。 上周末发布的,今天才看到,刚刚下载了一个,下载还要求注册,真麻烦,现把地址共享,方便大家。 http://down…

图论之拓扑排序 poj 2367 Genealogical tree
题目链接 http://poj.org/problem?id2367 题意就是给定一系列关系,按这些关系拓扑排序。 #include<cstdio> #include<cstring> #include<queue> #include<vector> #include<algorithm> using namespace std; const int maxn200; int…
算法基础知识科普:8大搜索算法之顺序搜索
基本概念和术语 搜索表(Search Table):是由同一类型的数据元素(或记录)构成的集合。 关键字(Key):是数据元素中某个数据项的值,用它可以标识一个数据元素。若此关键字…

foj2024
为什么80%的码农都做不了架构师?>>> http://acm.fzu.edu.cn/problem.php?pid2024 View Code #include < stdio.h > #include < string .h > #define M 1010 int c[M][M]; int f[M][M]; int min( int a, int b, int c){ int z …

4701年新年快乐!
中华民族传统历法夏历(农历)采用的是干支纪年法,是世界上最古老的历法之一。干支即“六十甲子”,以60年为一循环。它的纪元开始相传可追溯到黄帝轩辕氏时代,按公元计算,第一个“甲子年”应是在公元前2697年…

Win10系列:JavaScript访问文件和文件夹
在实际开发中经常会遇到访问文件的情况,因此学习与文件有关的操作对程序开发很有帮助,关于文件操作的一些基本技术,在前面章节中有专门基于C#语言的详细讲解,本节主要介绍如何使用HTML5和JavaScript开发具有文件操作功能的Windows…
算法基础知识科普:8大搜索算法之二分搜索
昨天介绍了对无序搜素表的顺序搜索方法,今天介绍对有序搜索表的二分搜索方法,“二分”在算法设计中是非常常用的一种思想,除了处理如下普通的搜索外,还用于搜索方程的解等工程领域。但二分法仍然有缺陷,待后面慢慢介绍…

linux之shell脚本学习篇一
为什么80%的码农都做不了架构师?>>> 此文包含脚本服务请求,字符串截取,文件读写内容,打印内容换行。 #!/bin/bash retMsg""; while read LINE do echo "this is text: $LINE"; retMsg/usr/bin/cu…

Win10系列:JavaScript动画2
"重新定位"动画也是Windows动画库中的动画效果。"重新定位"动画的动画效果是指一个或一组元素移动到新的位置时,这些元素不是突然出现在新的位置,而是从一个位置移动到另一个位置。 创建"重新定位"动画可以使用WinJS.UI.A…

[转载]李开复先生给中国学生的第四封信:大学四年应是这样度过
今天,我回复了“开复学生网”开通以来的第1000个问题。关掉电脑后,始终有一封学生来信萦绕在我的脑海里,挥之不去: 开复老师: 就要毕业了。 回头看自己所谓的大学生活, 我想哭,不是因为离别&…
算法基础知识科普:8大搜索算法之插补搜索
二分法的不足在于,对于均匀分布的数据,缩小搜索范围的速度太慢,每次只能缩小原长度的1/2,我们希望缩小范围尽可能的快,即搜索的数据若离左端点近,搜索的区间尽量的靠近左端点,同理搜索的数据若离…

hdu(1596)
为什么80%的码农都做不了架构师?>>> dijkstra 1 #include " iostream " 2 using namespace std; 3 double map[ 1010 ][ 1010 ]; 4 int visit[ 1010 ]; 5 double used[ 1010 ]; 6 int k; 7 double _max 0 ; 8 int i…

使用ADO.NET 的最佳实践(zz)
数据访问:使用 ADO.NET 的最佳实践(ADO.NET 技术文档) 发布日期: 4/1/2004| 更新日期: 4/1/2004 摘要:编写 Microsoft ADO.NET 代码的最佳实践,以及对使用 ADO.NET 中可用对象的开发人员的建议。…
算法基础知识科普:8大搜索算法之二叉搜索树(上)
前几天,我们介绍了在顺序存储结构上构建的搜索算法,如二分搜素,插补搜索等,这种结构适合于静态搜索,但对于动态搜索会涉及到大量记录的移动导致效率的降低。这样我们自然会想是否能够利用链式的存储结构,这…

如何查看 oracle 官方文档
Concept 包含了 oracle 数据库里面的一些基本概念和原理, 比如 数据库逻辑结构, 物理结构, 实例结构, 优化器, 事务等. PDF 460页 Reference 包含了动态性能视图, 数据字典, 初始化参数等, 如果有参数不知道意思, 或者 v$视图字段信息模糊, 都可以从这里找到描述, 使用 html版的…

php开发面试题---攻击网站的常用手段有哪些,及如何预防(整理)
php开发面试题---攻击网站的常用手段有哪些,及如何预防(整理) 一、总结 一句话总结: 比较记忆:注意比较各种攻击的区别,比如csrf和xss,以及xss和sql,这样才能记住 1、Sql注入是什么&…

利用Event和MapFile进程共享信息
工作过程: 进程一, 建立映射文件,填写数据,并发出Event的信号; 进程二,打开映射文件,收到Event的信号时读取数据. #include <windows.h>#include <string.h>#include <iostream>usingnamespacestd; #defineFILE_SIZE 1024staticHANDLE hMapFile; staticLPVOI…
算法基础知识科普:8大搜索算法之二叉搜索树(中)
昨天图文介绍了二叉搜索树的基本概念,本篇图文介绍二叉搜索树的具体实现。既然二叉搜索树是二叉树的特殊应用,所以我们首先封装二叉树的结点,即数据-左子树-右子树,然后实现ISymbolTalbe接口中的方法,我们知道二叉搜索…

PropertiesFactoryBean PropertyPlaceholderConfigurer 区别
为什么80%的码农都做不了架构师?>>> 1.PropertiesFactoryBean is a FactoryBean implementation which reads a properties file and exposes that as an Properties object in the applicationcontext. 加载配置文件后,可以在代码中通过注…

MySQL索引背后的数据结构及算法原理【转】
http://blog.codinglabs.org/articles/theory-of-mysql-index.htmlMySQL索引背后的数据结构及算法原理【转】摘要本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题。特别需要说明的是,MySQL支持诸多存储引擎,而各种存储引擎对索引…

各种播放器代码
各种播放器代码1.avi格式代码片断如下:<object id"video"width"400"height"200"border"0"classid"clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA"><param name"ShowDisplay"value"0"…
算法基础知识科普:8大搜索算法之二叉搜索树(下)
由于微信发代码以及数学符号很吃力,所以我们做知识科普只能利用图片来做,本算法代码较多,所以分为三个部分来介绍。本篇把剩余的部分补齐。当然二叉搜索树也有自己的缺陷,即构造的二叉树跟数据的初始状态以及删除的方法有很大的关…

SpringMvc4中获取request、response对象的方法
springMVC4中获取request和response对象有以下两种简单易用的方法: 1、在control层获取 在control层中获取HttpServletRequest和HttpServletResponse对象有以下两种简单方式: 1)通过方法参数直接在action类中获取 Controller class Action{ R…

JAVA增删改查XML文件
2019独角兽企业重金招聘Python工程师标准>>> 最近总是需要进行xml的相关操作。 不免的要进行xml的读取修改等,于是上网搜索,加上自己的小改动,整合了下xml的常用操作。 读取XML配置文件 首先我们需要通过DocumentBuilderFactory获…
测试一下,你能小学毕业吗?
昨天在群里大家讨论了上面那道小学六年级的五星题,不知道有没有同学能够不用三角函数,不用积分做出来的?先别往后看,测试一下吧!看看是不是要跟小编一起重新背起小书包返回小学,重新学习了。 现在小学生的…