我想在 python 中创建一个 lmdb 数据,其中标签不是标量,但每个标签都是 (1,K) 向量,K 是类数。更具体地说,标签向量除对应的类索引为 1 外,处处为零。
我在python中测试了以下代码:
with env.begin(write=True) as txn:
for i in range(N):
datum = caffe.proto.caffe_pb2.Datum()
datum.channels = X.shape[1]
datum.height = X.shape[2]
datum.width = X.shape[3]
datum.data = X[i].tobytes() # or .tostring() if numpy < 1.9
datum.label = int(y[i])
str_id = '{:08}'.format(i)
txn.put(str_id.encode('ascii'), datum.SerializeToString())
print i+1
但是我得到了这个错误,如上所述,numpy (1,k) 向量TypeError: only length-1 arrays can be converted to Python scalars
在哪里。y[i]
我也想知道 caffe 是否会接受这种格式的标签。
任何帮助将不胜感激