我是Caffe的新手。文件不清楚我的问题的主题。Caffe训练LMDB中的钥匙
在LMDB中为Caffe创建培训/测试数据库时,数据库中的密钥对它有什么意义?
换句话说,Caffe是否使用来自LMDB密钥的任何信息,还是仅使用关联的值,忽略密钥?
我找到的所有例子都建立了一些枚举数据项,并在数据库中放入了(数字转换为字符串,数据)对。 Example:
# create database,
# open transaction
# ...
for i in range(N):
datum = caffe.proto.caffe_pb2.Datum()
# add other attributes to datum
str_id = '{:08}'.format(i)
txn.put(str_id.encode('ascii'), datum.SerializeToString())
,如果我分配一些其他独特的价值str_id
而非数字转换到字符串,并将其提交给txn.put
什么?
训练结果会改变吗?
事实上,它也可以使用没有键的HDF5格式,表明Caffe忽略它们,但我想确定。
更新我正确地认为LMDB中的这种枚举是为了模拟LMDB中的行索引而建立的,因为LMDB是一个关键值存储,而神经网络需要表格数据?
为什么要改变的钥匙? – Shai
我想添加关于数据集的调试信息。 – wl2776