tensorflow和CNN中的可变批量

tensorflow和CNN中的可变批量,tensorflow,Tensorflow,我想在一维CNN中输入一个固定长度的序列,并希望它做出预测(回归),但我希望在训练期间有一个可变的批量大小。这些教程并没有真正的帮助 在我的输入层中,我有如下内容: input = tf.placeholder(tf.float32, [None, sequence_length], name="input") y = tf.placeholder(tf.float32, [None, 1], name="y") 因此我假设None维度可以是任意数量的可变批量大小,因此当前input维度是ba

我想在一维CNN中输入一个固定长度的序列,并希望它做出预测(回归),但我希望在训练期间有一个可变的批量大小。这些教程并没有真正的帮助

在我的输入层中,我有如下内容:

input = tf.placeholder(tf.float32, [None, sequence_length], name="input")
y = tf.placeholder(tf.float32, [None, 1], name="y")
因此我假设
None
维度可以是任意数量的可变批量大小,因此当前
input
维度是
batch\u size*sequence\u length
,我应该为网络提供一个2d np数组,其中包含维度
any*sequence\u length

tf.nn.conv1d
需要3-D,因为我的输入是一个单通道,是序列长度为1 np的观察数组,我需要输入到cnn的输入应该是
1*批量大小*序列长度
,另一方面,如果我有两个不同的序列,我组合起来预测一个单一的值,它将是
2*batch\u size*sequence\u length
,我还需要连接两个不同的通道。所以在我的情况下,我需要

input = tf.expand_dims(input, -1)
然后过滤器也遵循相同的步骤:

filter_size = 5
channel_size = 1
num_filters = 10
filter_shape = [filter_size, channel_size, num_filters]
filters = tf.Variable(tf.truncated_normal(filter_shape, stddev=0.1), name="filters")
tf.nn.conv1d(value=input, filters=filters, stride=1)
在这之后,我添加了一个FC层,但是网络无法学习任何东西,即使是一个基本函数,比如sin(x),上面的代码看起来正确吗

还有,我如何进行最大池