我正在尝试建立一个定制的卷积神经网络以进行时间序列分析。因此,对于每个样本,我都具有[L,10]的形状,其中L代表时间窗口,而10是要分析的元素数。对这10个元素分别进行了1D卷积。当我尝试向cnn模型提供批处理数据时,似乎无法获得与批处理大小匹配的输出大小。
我已经打印了如下输入数据的形状,并得到了奇怪的结果。是否有可能利用批处理数据的切片,或者只能将它们整批放入函数中?
def cnn_classifier(x, n_class, dropout):
print("x shape:", x.get_shape())
print("x[-1,:,0] shape:", x[-1,:,0].get_shape())
print("x[-1,:,:] shape:", x[-1,:,:].get_shape())
print("x[-1,:] shape:", x[-1,:].get_shape())
conv10 = conv1d(tf.reshape(x[-1, :, 0], [-1, L, 1]), weights['conv1_filter'][0], biases['bc1'][0],1,'SAME')
x shape: (?, 100, 10)
x[-1,:,0] shape: (100,)
x[-1,:,:] shape: (100, 10)
x[-1,:] shape: (100, 10)