【发布时间】:2016-07-26 15:24:43
【问题描述】:
我有两个 60 x 80921 矩阵,一个充满数据,一个带有参考。
我想将值作为键/值对存储在两个不同的 LMDB 中,一个用于训练(比如我将在 60000 列标记附近切片),另一个用于测试。这是我的想法;有用吗?
X_train = X[:,:60000]
Y_train = Y[:,:60000]
X_test = X[:,60000:]
Y_test = Y[:,60000:]
X_train = X_train.astype(int)
X_test = X_test.astype(int)
Y_train = Y_train.astype(int)
Y_test = Y_test.astype(int)
map_size = X_train.nbytes * 10
env = lmdb.open('sensormatrix_train_lmdb', map_size=map_size)
with env.begin(write=True) as txn:
for i in range(60):
for j in range(60000):
datum = caffe.proto.caffe_pb2.Datum()
datum.height = X_train.shape[0]
datum.width = X_train.shape[1]
datum.data = X_train[i,j].tobytes()
datum.label= int(Y[i,j])
str_id= '{:08}'.format(i)
我真的不确定代码。最后一行format(i) 指的是什么?
【问题讨论】:
-
你为什么不使用
"HDF5Data"输入层?你有h5py包将 numpy 数组存储为 hdf5 数据文件。看一个例子here(例子使用matlab写数据,但是在python中使用h5py就更简单了)。
标签: python numpy deep-learning caffe lmdb