Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 为什么在拟合和预测模型时,密集层输入_形状存在差异?_Python_Tensorflow_Keras_Neural Network - Fatal编程技术网

Python 为什么在拟合和预测模型时,密集层输入_形状存在差异?

Python 为什么在拟合和预测模型时,密集层输入_形状存在差异?,python,tensorflow,keras,neural-network,Python,Tensorflow,Keras,Neural Network,我正在学习TF并尝试实现以下代码 window_size = 4 layer = tf.keras.layers.Dense(1, input_shape=(window_size,)) model = tf.keras.models.Sequential([layer]) model.compile(...) model.fit(dataset,epochs=100,verbose=0) 所以在稠密()层中,我的输入形状是(4,) 那为什么会这样呢 model.predict(np.arr

我正在学习TF并尝试实现以下代码

window_size = 4
layer = tf.keras.layers.Dense(1, input_shape=(window_size,))
model = tf.keras.models.Sequential([layer])

model.compile(...)
model.fit(dataset,epochs=100,verbose=0)
所以在稠密()层中,我的输入形状是(4,) 那为什么会这样呢
model.predict(np.array([4,5,3,2]))
不工作? 和
model.predict(np.array([4,5,3,2])[None])
这有效吗? 如果提到的输入_形状是(4),那么在预测为什么需要(1,4)时

谢谢

  • input\u shape
    表示采样前的特征数量
  • 我们使用小批量梯度下降训练,所以我们发送了一批 每次培训的样本(用批次大小表示)。从此 批次可能因机器规格和数据集而异, 我们没有在模型中使用修复它。更重要的是,模型架构确实如此 不取决于样本数量,而是取决于样本数量 每个样本的输入特征数
  • model.predict(np.array([4,5,3,2]))
    将不起作用,因为您预测的是每个特征的4个样本,但您的
    input\u shape
    每个样本有4个特征
  • 您可以对大小为
    nx4
    的数据进行预测,其中
    n
    是样本数,每个样本具有
    4
    特征

@mujjiga,谢谢你的回复。这是否意味着我们必须始终发送BatchDataset进行培训?@您将始终分批进行培训/预测。假设您的数据大小为
100 x 4
,即4个特征中的每一个都有100个样本,并且您正在使用keras的
fit
方法,您将
批量大小设置为8。在内部,
fit
方法将一次传递8个样本。预测也是如此。如果您只有一个样品,请以shape
1 X 4
的形式发送。谢谢。请再问一个后续问题。我的数据集有两列,一列用于输入要素(X),一列用于标签(Y)。我将整个数据集传递给fit()模型,其中没有提到什么是X,什么是Y。模型是如何解释的?@Neo你做错了。在
fit
内部,第一个参数是features
X
,第二个参数是label
Y
。检查文档我的方法也正确:根据文档:“如果x是dataset、generator或keras.utils.Sequence实例,则不应指定y(因为目标将从x获得)。”谢谢