ПРЕДУПРЕЖДЕНИЕ: tenorflow: последовательные модели без `input_shape`, переданного первому слою, не могут перезагрузить свое состояние оптимизатора - PullRequest
0 голосов
/ 23 мая 2019

Я очень новичок в ноутбуке Jupyter. Я следую учебному пособию, в котором модель была сохранена и затем использована при создании новой модели, но она показывает мне ошибку input_shape в 1-м слое. Я добавил input_shape во входном слое (1-й слой), но все равно он показывает ту же ошибку. Как это решить?

Я также пытался изменить расширение файла на .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')

Этот код new_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.

1 Ответ

0 голосов
/ 24 мая 2019

решено:)

(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))

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...