import numpy as np
import matplotlib.pyplot as plt
import matplotlib.image as mpimg
# Make sure that caffe is on the python path:
caffe_root = '../' # this file is expected to be in {caffe_root}/examples
import sys
sys.path.insert(0, caffe_root + 'python')
import caffe
blob = caffe.proto.caffe_pb2.BlobProto()
data = open( sys.argv[1] , 'rb' ).read()
blob.ParseFromString(data)
arr = np.array( caffe.io.blobproto_to_array(blob) )
out = arr[0]
out = np.ascontiguousarray(out.transpose(1,2,0))
out = out.astype(np.uint8)
mpimg.imsave(sys.argv[2], out)
for idx in range(int(math.ceil(len(Inputs)/1000.0))):
in_db_data = lmdb.open(lmdb_data_name, map_size=int(1e12))
with in_db_data.begin(write=True) as in_txn:
for in_idx, in_ in enumerate(Inputs[(1000*idx):(1000*(idx+1))]):
im = caffe.io.load_image(in_)
#plt.imshow(im)
#plt.show()
im_dat = caffe.io.array_to_datum(im.astype(float).transpose((2, 0, 1)))
in_txn.put('{:0>10d}'.format(1000*idx + in_idx), im_dat.SerializeToString())
string_ = str(1000*idx+in_idx+1) + ' / ' + str(len(Inputs))
sys.stdout.write("\r%s" % string_)
sys.stdout.flush()
in_db_data.close()
print('')