代码拉取完成,页面将自动刷新
# coding: utf8
import lmdb
from caffe.proto import caffe_pb2
import caffe
import numpy as np
import matplotlib.pyplot as plt
import os
# import cv2
lmdb_test_path = r'/Users/wang/soft/caffe/examples/mnist/mnist_test_lmdb'
save_dir = r'/Users/wang/work_code/mnist_image'
# 打开lmdb数据库
env = lmdb.open(lmdb_test_path)
# 获得一个连接(暂时可以县这么理解)
conn = env.begin()
# 获得遍历的游标
cur = conn.cursor()
# 获得caffe封装lmdb的结构
datum = caffe_pb2.Datum()
# 遍历游标
for k, v in cur:
print k
# 用caffe的结构加载数据
datum.ParseFromString(v)
# 获取原始数据的label
print datum.label
# 把datum格式的数据转换成为array格式(np的array)
data = caffe.io.datum_to_array(datum)
# 看一下原有的数据的shape(1,28,28)
print np.shape(data)
# 把数据reshape成plt可以展示的shape
data = np.reshape(data, (28, -1))
# 打印
print np.shape(data)
# plt展示
plt.imshow(data)
plt.show()
# plt保存下这个图
plt.imsave(os.path.join(save_dir, '{}.png'.format(k)), data)
cur.close()
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。