将数据保存至lmdb格式的文件时,每次进来的数据大小都不同,我该修改哪些地方呢?

#define MDB_REVERSEKEY 0x02
/** use sorted duplicates */
#define MDB_DUPSORT 0x04
/** numeric keys in native byte order.
* The keys must all be of the same size. */
#define MDB_INTEGERKEY 0x08
/** with #MDB_DUPSORT, sorted dup items have fixed size */
#define MDB_DUPFIXED 0x10
/** with #MDB_DUPSORT, dups are numeric in native byte order */
#define MDB_INTEGERDUP 0x20
/** with #MDB_DUPSORT, use reverse string dups */
#define MDB_REVERSEDUP 0x40
/** create DB if not already existing */
#define MDB_CREATE 0x40000
已邀请:

Machine

赞同来自:

并且我的是多label任务

YulongWang

赞同来自:

这种情况,我基本已经放弃Caffe了,改用lasagne/theano大法。
 
比如Lasagne里
from lasagne.layers import InputLayer
import theano.tensor as T

h = 10
w = 20
x = T.tensor4()
inp = InputLayer(shape=(None, None, h, w), input_var=x)
其中输入的前两维(batch size和channel)都是可变的,只要最后连接权值的时候reshape/upsample/padding/等等变维度方式使得对的上,就ok。
 
实在不行,不要改C++了,用个python做预处理吧,人生苦短啊

要回复问题请先登录注册