CASIA-WebFace 4 个 g 的人脸数据,在我生成普通的分类数据集之后,生成的 lmdb 文件有 70 个 g,这是不是很不正常?
另外是,cv2.resize 之后的图片,只有 lmdb,为什么不会收敛呢,而我如果用自带的 tool 是可以的?
放几行关键代码,希望各位可以指点一二:
def generate_ordinary_lmdb(source, target, IMAGE_SIZE=227):
env = lmdb.Environment(target, map_size=int(1e12))
with env.begin(write=True) as txn:
for label, person in enumerate(os.listdir(source)):
person_dir = os.path.join(source, person)
one_person_samples = os.listdir(person_dir)
for im_files in one_person_samples:
s = os.path.join(person_dir, im_files)
datum = caffe.proto.caffe_pb2.Datum()
datum.channels = 3
datum.height = IMAGE_SIZE
datum.width = IMAGE_SIZE
sample = preprocess.process(s, IMAGE_SIZE)
datum.data = sample.tobytes()
datum.label = label
str_id = "%s" % s
print str_id
txn.put(str_id, datum.SerializeToString())
print "--------"
def process(source, IMAGE_SIZE=227):
im = cv2.imread(source)
im = cv2.resize(im, (IMAGE_SIZE, IMAGE_SIZE))
# plt.imshow(im)
# plt.show()
im = im[:, :, ::-1] # RGB TO BGR
im = im.transpose((2, 0, 1)) # X1*X2*3 TO 3*X1*X2
return im
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.