用python将cifar-10二进制数据集转成图片格式《菜鸟教程》
来源:互联网 发布:怎么做好网络免费推广 编辑:程序博客网 时间:2024/06/05 06:06
找遍了网上都没有都没有直接用python将cifar-10转换成图片格式的方法,因此特开一个教程,供大家一起交流学习。本人致力于打造菜鸟教程。
0.已经转好的图片格式供大家下载。
[百度盘](https://pan.baidu.com/s/1skN4jW5)密码z6i3
从上到下依次为图片的0-9类,共10类,其中训练集5W张图片,每类5K张;验证集1W张图片,每类1K张。共计6W张图片。
1.准备工具
- cifar10数据集,需要自行下载,并解压到与转换脚本同一文件夹内。keras官方下载路径为keras的cifar-10官方下载路径
- python依赖库:numpy、等等。(如果运行过程中报错,请自行根据错误提示装上依赖的库)
2.代码
#encoding:utf-8#author:guohuifeng#email:309884616@qq.comfrom scipy.misc import imsaveimport numpy as np# 解压缩,返回解压后的字典def unpickle(file): import cPickle fo = open(file, 'rb') dict = cPickle.load(fo) fo.close() return dict# 生成训练集图片,如果需要png格式,只需要改图片后缀名即可。for j in range(1, 6): dataName = "data_batch_" + str(j) # 读取当前目录下的data_batch12345文件,dataName其实也是data_batch文件的路径,本文和脚本文件在同一目录下。 Xtr = unpickle(dataName) print dataName + " is loading..." for i in range(0, 10000): img = np.reshape(Xtr['data'][i], (3, 32, 32)) # Xtr['data']为图片二进制数据 img = img.transpose(1, 2, 0) # 读取image picName = 'train/' + str(Xtr['labels'][i]) + '_' + str(i + (j - 1)*10000) + '.jpg' # Xtr['labels']为图片的标签,值范围0-9,本文中,train文件夹需要存在,并与脚本文件在同一目录下。 imsave(picName, img) print dataName + " loaded."print "test_batch is loading..."# 生成测试集图片testXtr = unpickle("test_batch")for i in range(0, 10000): img = np.reshape(testXtr['data'][i], (3, 32, 32)) img = img.transpose(1, 2, 0) picName = 'test/' + str(testXtr['labels'][i]) + '_' + str(i) + '.jpg' imsave(picName, img)print "test_batch loaded."
3.检验
根据本文的图片命名方式,采用"标签_当前batch中图片序号"的方式,可以解决图片名重复带来的问题。下面根据前文中第0章的大类展示来做下测试:
- 第0类,飞机,正确
- 第6类,青蛙,正确
4.对未来工作的展望
cifar-100的图片转换类似,有兴趣的话请自行转换。
5.GitHub地址
当然,必须给出git地址。
好用的话记得给我star。
3 0
- 用python将cifar-10二进制数据集转成图片格式《菜鸟教程》
- CIFAR-10数据集可视化二进制版本
- 用python读取cifar-10与cifar-100图像数据
- 用python读取cifar-10与cifar-100图像数据
- python实现CIFAR-10数据集可视化
- CIFAR-10数据集可视化Python版本
- 怎么用python查看cifar数据集
- 将MNIST手写数字数据集二进制格式转化为.jpg图片格式
- TensorFlow CIFAR-10数据集
- BWN-XNOR-caffe-master训练二进制cifar数据集
- CIFAR-10和CIFAR-100数据集读取显示
- 用递归将十进制转成二进制
- 用数组将十进制转成二进制
- java将二进制字符串转成int类型数据
- TensorFlow深度学习进阶教程:TensorFlow实现CIFAR-10数据集测试的卷积神经网络
- TensorFlow CNN 测试CIFAR-10数据集
- The CIFAR-10 dataset 数据集
- simpleCNN 训练 cifar-10 数据集
- lucene6之TextField与StringField对比
- IR-CUT选择须知
- Java 判断某个时间是否在条件时间之内
- Markdown官方文档[翻译]
- 数据类型/强制类型转换 和运算符---标识符规则/关键字 a++和++a区别
- 用python将cifar-10二进制数据集转成图片格式《菜鸟教程》
- Uploadify在IE,fireFox下上传报406HTTP错误
- 91-互斥量的鲁棒属性
- 30个php操作redis常用方法代码例子
- 【SysML】模块定义图(BDD, Block Definition Diagram)
- 对 MVC、MTV 和 MVVM的理解总结
- Android Studio Eclipse 快捷键英文未翻中文版
- 流程控制与数组——Java疯狂讲义
- 学习Python类之迭代器