如何处理tf.keras中的连续输入形状错误?

xxls0lw8  于 2022-11-13  发布在  其他
关注(0)|答案(1)|浏览(137)

我的代码中出现以下错误:- `

ValueError: Input 0 of layer "sequential_3" is incompatible with the layer: expected shape=(None, 4, 3), found shape=(None, 3

`
我的代码是

import numpy as np
import tensorflow as tf
inum = np.array([[1,1,2],[2,25,6],[32,4,7],[8,9,0]], dtype="float")
onum = np.array([3,56,135,72],dtype="float")
l0 = tf.keras.layers.Dense(units=4, input_shape=(4,3))
l1 = tf.keras.layers.Dense(units=4)
l2 = tf.keras.layers.Dense(units=4)
l3 = tf.keras.layers.Dense(units=1)
model = tf.keras.Sequential([l0,l1,l2,l3])
model.compile(loss="mean_squared_error",optimizer=tf.keras.optimizers.Adam(0.1))
history = model.fit(inum,onum,epochs=1200,verbose=False)

我是一个初学者,我是非常新的,所以我不知道该怎么做。
任何帮助都是非常感谢的。

ih99xse1

ih99xse11#

输入形状应为单个样本的形状。在您的示例中,输入数据有4行和3列。每行代表一个样本,样本大小为(3,)。因此,第一层的输入形状应为(3,)。

l0 = tf.keras.layers.Dense(units=4, input_shape=(3,))

像上面那样改变输入形状会有帮助。谢谢!

相关问题