【发布时间】:2016-04-13 16:49:59
【问题描述】:
我想在 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
但我得到了这个错误TypeError: only length-1 arrays can be converted to Python scalars 其中y[i] 是如上所述的一个 numpy (1,k) 向量。
我也想知道 caffe 是否会接受这种格式的标签。
任何帮助将不胜感激
【问题讨论】: