【发布时间】:2015-06-18 22:35:37
【问题描述】:
我正在开展一个项目,其中有一组手势识别示例(ChaLearn 数据集)。
输入是一个 (10000,6,32,64,64) 数组。我有 10000 个示例,6 个特征图(身体、左手、右手深度和 rgb 图像),32 帧 64 x 64。
我必须只选择深度图像(索引 1、3 和 5)和 32 帧中的 4 帧(索引 8、13、18、25)
我对 python 不是很熟悉,所以我在搞乱,我认为我的解决方案很好,但它真的很慢。大多数情况下,这两个选择会占用大量时间(这一点需要 70-80 秒)。
samples.shape 一开始就给了我 (10000,6,32,64,64)
samples = samples[0:samples.shape[0],0:samples.shape[1],(7,13,18,25)]
samples = samples[0:samples.shape[0],(1,3,5)]
samples = floatX(samples.reshape((samples.shape[0],12,64,64)))/255.
samples.shape 最后给了我 (10000,12,64,64)。
有没有更有效的方法来实现我的目标?还是我完全错了?
暂时忽略 floatx 部分 :)
【问题讨论】:
标签: python arrays numpy merge concatenation