Python Conv1D在Keras中的行为(张量的维数)

Python Conv1D在Keras中的行为(张量的维数),python,tensorflow,keras,Python,Tensorflow,Keras,我的问题涉及Keras中Conv1D层中张量的维数。输入形状应为(批次、步骤、通道)。例如,我有加速计数据,其中我得到每个轴的时间信号。我想在长度为50的时间窗口上进行推断,因此推断的一个示例具有形状(50,3) 现在,如果我使用Conv1D层作为该数据的第一层,内核_size=10,过滤器=64,那么在一个数据窗口上的第一层的结果具有形状(41,64)。我完全理解会弹出41,因为它是长度为50的信号与长度为10的内核卷积产生的样本数。然而,我不能完全确定加速度计的三个轴在这些数据中的位置。我更

我的问题涉及Keras中Conv1D层中张量的维数。输入形状应为(批次、步骤、通道)。例如,我有加速计数据,其中我得到每个轴的时间信号。我想在长度为50的时间窗口上进行推断,因此推断的一个示例具有形状(50,3)

现在,如果我使用Conv1D层作为该数据的第一层,内核_size=10,过滤器=64,那么在一个数据窗口上的第一层的结果具有形状(41,64)。我完全理解会弹出41,因为它是长度为50的信号与长度为10的内核卷积产生的样本数。然而,我不能完全确定加速度计的三个轴在这些数据中的位置。我更期待以下行为:

输入_形状=(批次、步骤、通道), 输出形状=(批处理、转换后的步骤、通道、过滤器)

有人能解释一下凯拉斯的行为吗?我没有从文档中完全理解它。

如上面给出的图像所示(图像提供:),在
CNN
中的
卷积
操作中,每个滤波器在所有通道上卷积(在RGB图像的情况下为三个通道)以计算输出值。因此,在64个过滤器的情况下,每个过滤器将从其接收区域的所有输入通道中获取值。因此,无论您的输入中有多少个通道,您的输出都将有来自64个过滤器的输出


对于一批图像
(批大小、数量通道、高度、宽度)
,输出的形状将
(批大小、数量过滤器、转换后高度、转换后宽度)
。。。这意味着每个滤波器实际上都包含一个完全独立的滤波器用于每个通道,应用于各自通道的这些单独滤波器的结果在计算结束时相加,以弥补该特定滤波器的结果。@Chris yeah。。这是另一种看待它的方式。