我想知道如何对实例进行分类并将其提供给Berkeley Caffe的神经网络。
假设我创建了一个lmbd数据库并保存了10个图像 - 图像1到10.我们假设这是我用来创建lmbd数据库的python代码。
import lmbd
imgs = [img_1,img_2,img_3,img_4, img_5,img_6,img_7,img_8,img_9,img_10]
def make_datum(img, label):
#image is numpy.ndarray format. BGR instead of RGB
return caffe_pb2.Datum(
channels=3,
width=224,
height=224,
data=np.rollaxis(img, 2).tostring())
train_lmdb = '../train_lmdb/'
in_db = lmdb.open(train_lmdb, map_size=int(1e12))
k = 0
with in_db.begin(write=True) as in_txn:
for idx, img_path in enumerate(imgs):
if idx % 10 == 0:
continue
img = cv2.imread(img_path, cv2.IMREAD_COLOR)
datum = make_datum(img)
in_txn.put('{:0>8d}'.format(idx), datum.SerializeToString())
in_db.close()
假设批量大小为5(数据库大小为10)。
我可以安全地假设第一批将包含图像1至5(按此顺序)和第二批图像6至10(按此顺序)吗?