当前位置: 首页 > 编程日记 > 正文

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>课程地址&#xff1a;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)重新获取&#xff0c;导致值一直不变var id $(this).attr(data-id);//var id $(.refund-btn).attr(data-id);错误&#xff0c;这样会导致一直…

标准功能模块组件 -- 内部联络单组件,内部邮件组件,提高多人异地协同办公效率...

为什么80%的码农都做不了架构师&#xff1f;>>> 未必什么功能都需要自己开发&#xff0c;我们不会自己开发一个数据库系统&#xff0c;也不会自己开发一个操作系统&#xff0c;同样我们每个功能模块都未必需要自己开发&#xff0c;自己开发最核心的模块&#xff0c…

Microsoft patterns practices Enterprise Library released

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

图论之拓扑排序 poj 2367 Genealogical tree

题目链接 http://poj.org/problem?id2367 题意就是给定一系列关系&#xff0c;按这些关系拓扑排序。 #include<cstdio> #include<cstring> #include<queue> #include<vector> #include<algorithm> using namespace std; const int maxn200; int…

算法基础知识科普:8大搜索算法之顺序搜索

基本概念和术语 搜索表&#xff08;Search Table&#xff09;&#xff1a;是由同一类型的数据元素&#xff08;或记录&#xff09;构成的集合。 关键字&#xff08;Key&#xff09;&#xff1a;是数据元素中某个数据项的值&#xff0c;用它可以标识一个数据元素。若此关键字…

foj2024

为什么80%的码农都做不了架构师&#xff1f;>>> 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年新年快乐!

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

Win10系列:JavaScript访问文件和文件夹

在实际开发中经常会遇到访问文件的情况&#xff0c;因此学习与文件有关的操作对程序开发很有帮助&#xff0c;关于文件操作的一些基本技术&#xff0c;在前面章节中有专门基于C#语言的详细讲解&#xff0c;本节主要介绍如何使用HTML5和JavaScript开发具有文件操作功能的Windows…

算法基础知识科普:8大搜索算法之二分搜索

昨天介绍了对无序搜素表的顺序搜索方法&#xff0c;今天介绍对有序搜索表的二分搜索方法&#xff0c;“二分”在算法设计中是非常常用的一种思想&#xff0c;除了处理如下普通的搜索外&#xff0c;还用于搜索方程的解等工程领域。但二分法仍然有缺陷&#xff0c;待后面慢慢介绍…

linux之shell脚本学习篇一

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

Win10系列:JavaScript动画2

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

[转载]李开复先生给中国学生的第四封信:大学四年应是这样度过

今天&#xff0c;我回复了“开复学生网”开通以来的第1000个问题。关掉电脑后&#xff0c;始终有一封学生来信萦绕在我的脑海里&#xff0c;挥之不去&#xff1a; 开复老师&#xff1a; 就要毕业了。 回头看自己所谓的大学生活&#xff0c; 我想哭&#xff0c;不是因为离别&…

算法基础知识科普:8大搜索算法之插补搜索

二分法的不足在于&#xff0c;对于均匀分布的数据&#xff0c;缩小搜索范围的速度太慢&#xff0c;每次只能缩小原长度的1/2&#xff0c;我们希望缩小范围尽可能的快&#xff0c;即搜索的数据若离左端点近&#xff0c;搜索的区间尽量的靠近左端点&#xff0c;同理搜索的数据若离…

hdu(1596)

为什么80%的码农都做不了架构师&#xff1f;>>> 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)

数据访问&#xff1a;使用 ADO.NET 的最佳实践&#xff08;ADO.NET 技术文档&#xff09; 发布日期&#xff1a; 4/1/2004| 更新日期&#xff1a; 4/1/2004 摘要&#xff1a;编写 Microsoft ADO.NET 代码的最佳实践&#xff0c;以及对使用 ADO.NET 中可用对象的开发人员的建议。…

算法基础知识科普:8大搜索算法之二叉搜索树(上)

前几天&#xff0c;我们介绍了在顺序存储结构上构建的搜索算法&#xff0c;如二分搜素&#xff0c;插补搜索等&#xff0c;这种结构适合于静态搜索&#xff0c;但对于动态搜索会涉及到大量记录的移动导致效率的降低。这样我们自然会想是否能够利用链式的存储结构&#xff0c;这…

如何查看 oracle 官方文档

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

php开发面试题---攻击网站的常用手段有哪些,及如何预防(整理)

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

利用Event和MapFile进程共享信息

工作过程: 进程一, 建立映射文件,填写数据,并发出Event的信号; 进程二,打开映射文件,收到Event的信号时读取数据. #include <windows.h>#include <string.h>#include <iostream>usingnamespacestd; #defineFILE_SIZE 1024staticHANDLE hMapFile; staticLPVOI…

算法基础知识科普:8大搜索算法之二叉搜索树(中)

昨天图文介绍了二叉搜索树的基本概念&#xff0c;本篇图文介绍二叉搜索树的具体实现。既然二叉搜索树是二叉树的特殊应用&#xff0c;所以我们首先封装二叉树的结点&#xff0c;即数据-左子树-右子树&#xff0c;然后实现ISymbolTalbe接口中的方法&#xff0c;我们知道二叉搜索…

PropertiesFactoryBean PropertyPlaceholderConfigurer 区别

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

MySQL索引背后的数据结构及算法原理【转】

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

各种播放器代码

各种播放器代码1.avi格式代码片断如下&#xff1a;<object id"video"width"400"height"200"border"0"classid"clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA"><param name"ShowDisplay"value"0"…

算法基础知识科普:8大搜索算法之二叉搜索树(下)

由于微信发代码以及数学符号很吃力&#xff0c;所以我们做知识科普只能利用图片来做&#xff0c;本算法代码较多&#xff0c;所以分为三个部分来介绍。本篇把剩余的部分补齐。当然二叉搜索树也有自己的缺陷&#xff0c;即构造的二叉树跟数据的初始状态以及删除的方法有很大的关…

SpringMvc4中获取request、response对象的方法

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

JAVA增删改查XML文件

2019独角兽企业重金招聘Python工程师标准>>> 最近总是需要进行xml的相关操作。 不免的要进行xml的读取修改等&#xff0c;于是上网搜索&#xff0c;加上自己的小改动&#xff0c;整合了下xml的常用操作。 读取XML配置文件 首先我们需要通过DocumentBuilderFactory获…

测试一下,你能小学毕业吗?

昨天在群里大家讨论了上面那道小学六年级的五星题&#xff0c;不知道有没有同学能够不用三角函数&#xff0c;不用积分做出来的&#xff1f;先别往后看&#xff0c;测试一下吧&#xff01;看看是不是要跟小编一起重新背起小书包返回小学&#xff0c;重新学习了。 现在小学生的…