Python 警告:tensorflow:没有传递到第一层的“input_shape”的顺序模型无法重新加载其优化器状态

Python 警告:tensorflow:没有传递到第一层的“input_shape”的顺序模型无法重新加载其优化器状态,python,tensorflow,keras,deep-learning,jupyter-notebook,Python,Tensorflow,Keras,Deep Learning,Jupyter Notebook,我对jupyter笔记本非常陌生。我正在学习一个教程,其中模型已保存,然后用于制作新模型,但它在第一层显示了一个错误input\u shape。我在输入层(第一层)中添加了input\u shape,但仍然显示了相同的错误。如何解决 我还尝试将文件扩展名更改为.h5,但仍有警告错误 [1] model=tf.keras.models.Sequential() model.add(tf.keras.layers.Flatten()) model.add(tf.keras.layers.Dense(

我对jupyter笔记本非常陌生。我正在学习一个教程,其中模型已保存,然后用于制作新模型,但它在第一层显示了一个错误
input\u shape
。我在输入层(第一层)中添加了
input\u shape
,但仍然显示了相同的错误。如何解决

我还尝试将文件扩展名更改为.h5,但仍有警告错误

[1]
model=tf.keras.models.Sequential()
model.add(tf.keras.layers.Flatten())
model.add(tf.keras.layers.Dense(128, activation=tf.nn.relu, input_shape=(4,4,512)))
model.add(tf.keras.layers.Dense(128, activation=tf.nn.relu))
model.add(tf.keras.layers.Dense(10, activation=tf.nn.softmax))

[2]
model.save('epic_num_reader.model')

[3]
new_model= tf.keras.models.load_model('epic_num_reader.model')
此新的_模型代码生成警告错误:

WARNING:tensorflow:Sequential models without an `input_shape` passed to the first layer cannot reload their optimizer state. As a result, your model isstarting with a freshly initialized optimizer.
已解决:)

已解决:)


如警告所示,您的第一层需要参数输入形状如警告所示,您的第一层需要参数输入形状您还可以尝试使用具有
InputLayer
的函数形式作为第一层您还可以尝试使用具有
InputLayer
的函数形式作为第一层
(x_train, y_train), (x_test, y_test) = mnist.load_data() 
x_train = tf.keras.utils.normalize(x_train, axis=1).reshape(x_train.shape[0], -1)
x_test = tf.keras.utils.normalize(x_test, axis=1).reshape(x_test.shape[0], -1)

model = tf.keras.models.Sequential()
#model.add(tf.keras.layers.Flatten())   
model.add(tf.keras.layers.Dense(128, activation=tf.nn.relu, input_shape= x_train.shape[1:]))
model.add(tf.keras.layers.Dense(128, activation=tf.nn.relu))
model.add(tf.keras.layers.Dense(10, activation=tf.nn.softmax))