从numpy矩阵中提取一行
问题描述:
我目前正在测试一个NN实现,其中列车数据存储在numpy矩阵中。从numpy矩阵中提取一行
print train_set_data_vstacked_normalized.shape
(219970,400)
输入数据目前看起来是这样的,我必须每行喂到我的神经网络..
它发生在(无,400)形状的输入。
我如何取出一行,使我从矩阵中取出的数组有400个条目,或400列和一行?
我已经试过
print train_set_data_vstacked_normalized[:,0].shape
(219970,)
print train_set_data_vstacked_normalized[0,:].shape
(400,)
答
你需要一个简单的for
循环来遍历数组中的所有行。
nrows = train_set_data_vstacked_normalized.shape
for i in range(nrows[0]):
row = train_set_data_vstacked_normalized[i, :]
# now change shape to (1, 400)
resized_row = row[np.newaxis]
# now, "resized_row" shape is (1, 400)
# pass "resized_row" to NN input layer.
# ...
PS:作为一个方面说明,只是想提醒你,在内存中〜220K x 400
阵列发生在我的机器周围670 MB。考虑将它作为HDF5文件。
'train_set_data_vstacked_normalized [0,:]。reshape(1,400)'是怎么样的? – Abdou
尝试类似'x [None,:,0]'或'x [:,0] [None,:]'或'x [:,0] .reshape(1,-1)'。 – hpaulj
...?我不知道我明白那会做什么..数据已经正确结构化了,我想传递恰好符合形状的数据。 我想通过正确的数据.. –