cifar10图片可视化(Win7+python3.5)
来源:互联网 发布:java socket心跳检测 编辑:程序博客网 时间:2024/05/12 05:34
- 将%caffe_root%\data\cifar10\get_cifar10.sh转换成linux格式,并用cygwin运行(事先装好wget)。自动下载并解压,得到batches.meta.txt,data_batch_1.bin,data_batch_2.bin,data_batch_3.bin,data_batch_4.bin,data_batch_5.bin,test_batch.bin。batches为标签对应的类别名;data_batch_x.bin为第x批10000张的训练图片,共5批;test_batch.bin为10000张测试图片。
- 创建%caffe_root%\data\cifar10\cifar10_images\test\data_batch_x(x为1-5共5个文件夹)及%caffe_root%\data\mnist\mnist_images\test_batch文件夹,以保存转换后的图片
- 编写如下python脚本,并运行。在对应文件夹下得到图片文件。
cifar10_data_root = r'd:/caffe/data/cifar10/'import structimport numpy as npfrom PIL import Imagedef load_CIFAR_Labels(filename): with open(filename, 'r') as f: lines = [] for line in f.readlines(): lines.append(line.strip('\n')) return linesdef load_CIFAR_batch(filename, label, Pic): index = 0 bin_file = open(filename, 'rb') buf = bin_file.read() for i in range(10000): (l,) = struct.unpack_from('>b', buf, index) label.append(l) index += struct.calcsize('>b') Pic.append(struct.unpack_from('>3072B', buf, index)) index += struct.calcsize('>3072B')if __name__ == "__main__": lines = load_CIFAR_Labels(cifar10_data_root + "batches.meta.txt") print(lines) NUM_DATA = 10000 ##### TEST DATA SHOW ##### dataPath = cifar10_data_root + r"test_batch.bin" print("### " + dataPath + " is loading... ###") label = [] Pic = [] count = [0] * 10 load_CIFAR_batch(dataPath, label, Pic) for i in range(NUM_DATA): im = np.array(Pic[i]).reshape(3, 32, 32) image = Image.new("RGB", (32, 32)) for channel in range(3): for a in range(32): for b in range(32): image.putpixel((a, b), (im[0][b][a], im[1][b][a], im[2][b][a])) picName = cifar10_data_root + "cifar10_images/test_batch/test_" + str(i) + "_" + lines[label[i]] + "_" + str(count[label[i]]) + ".png" count[label[i]] += 1 image.save(picName, "png") if i % 500 == 0: print("testSet processed:%d" % i) ##### TRAIN DATA ##### for j in range(1, 6): dataPath = cifar10_data_root + r"data_batch_%d.bin"%1 print("### " + dataPath + " is loading... ###") label = [] Pic = [] count = [0] * 10 load_CIFAR_batch(dataPath, label, Pic) for i in range(NUM_DATA): im = np.array(Pic[i]).reshape(3, 32, 32) image = Image.new("RGB", (32, 32)) for channel in range(3): for a in range(32): for b in range(32): image.putpixel((a, b), (im[0][b][a], im[1][b][a], im[2][b][a])) picName = cifar10_data_root + "cifar10_images/data_batch_%d/train[%d]_"%(j,j) + str(i) + "_" + lines[label[i]] + "_" + str(count[label[i]]) + ".png" count[label[i]] += 1 image.save(picName, "png") if i % 500 == 0: print("trainSet processed:patch(%d) %d" % (j,i))
最后生成文件总占用空间234M。
阅读全文
0 0
- cifar10图片可视化(Win7+python3.5)
- win7 Python3.5 显示cifar10图片
- MNIST图片可视化(Win7+python3.5)
- Caffe:可视化Cifar10 网络模型
- Win7 安装Python3.5
- Caffe的Python接口进行Cifar10可视化
- python实现cifar10数据集的可视化
- CIFAR10数据集 matlab可视化及理解
- python实现cifar10数据集的可视化
- win7 python3.5用pip
- win7+tensorflow+python3.5+gpu
- win7 python3.5 启动tensorboard
- win7-64bit 安装Python3.5
- win7 32位安装Python3.5问题
- win7安装python3.5、numpy、scipy、matplotlib。
- 安装教程:python3.5+win7+Scrapy
- win7-64位Python3.5安装numpy
- caffe中 cifar10案例(三)模型可视化
- 一文读懂无线充电技术(附方案选型分析)
- C++的bitset(位操作使用)
- 启动Eclipse时发生An internal error occurred during: "Initializing Java Tooling"错误
- Python3.5——字符编码转换(transcoding)详解
- 密码验证
- cifar10图片可视化(Win7+python3.5)
- hashmap与分库分表技术
- [Machine Learning][Octave]Multi-class Classification
- NOIP2011提高组-Mayan游戏
- 遍历Map的四种方式
- 算法题-大数相乘问题
- js追加元素
- 浅谈安卓系统内存运行机制
- 洛谷3390 矩阵快速幂