如何使用python将传感器数据(1,200,9)转换为(9,200,1)?

时间:2018-04-23 09:39:13

标签: python deep-learning keras

传感器数据的形状为(1,200,9),通道数为9,但我想将其转换为通道为1的2-D数据,最终形状为(9,200,1) 。我测试了keras.layers.core.Reshape((9,200,1)),但是有错误。所以我不知道该怎么做,我希望有人可以帮助我,非常感谢你。

1 个答案:

答案 0 :(得分:1)

如果您在处理数据时这样做。你可以使用numpy swapaxes。文档示例:

WITH ignoreDuplicate AS (
     SELECT SerialNumber, 
           COUNT(SerialNumber) OVER (PARTITION BY SerialNumber) tot 
     FROM electronic_list
)
SELECT SerialNumber FROM ignoreDuplicate WHERE tot = 1;

但是,如果您使用它来转换其中一个训练图层,则必须在深度学习框架中使用tensorflow transpose函数或模拟函数。

>>> x = np.array([[[0,1],[2,3]],[[4,5],[6,7]]])
>>> x
array([[[0, 1],
        [2, 3]],
       [[4, 5],
        [6, 7]]])

>>> np.swapaxes(x,0,2)
array([[[0, 4],
        [2, 6]],
       [[1, 5],
        [3, 7]]])

在您的情况下,由于我们讨论的是您的系统输入,因此您应该使用x = tf.constant([[[ 1, 2, 3], [ 4, 5, 6]], [[ 7, 8, 9], [10, 11, 12]]]) tf.transpose(x, perm=[0, 2, 1]) # [[[1, 4], # [2, 5], # [3, 6]], # [[7, 10], # [8, 11], # [9, 12]]] 进行预处理。