Ошибка переноса модели Tensorflow Keras в версию Tensorflow 1.14.0 - PullRequest
1 голос
/ 02 октября 2019

Недавно я запрограммировал маленький NN, чтобы он играл против меня. Это действительно был мой первый NN, который я написал сам. Сегодня я хотел показать его другу через Google Collab, и я получил эту ошибку:

    model.fit(train_layout, train_place, epochs=3000)
        ^
SyntaxError: invalid syntax

У меня никогда не было этой ошибки раньше. Я думаю, что это связано с Google Collag с использованием версии 1.14.0 и меня с использованием версии 1.13.1

Вот мой код:

import tensorflow as tf
from tensorflow import keras

model = keras.Sequential([
        keras.layers.Dense(9, activation=tf.nn.tanh),
        keras.layers.Dense(128, activation=tf.nn.relu),
        keras.layers.Dense(256, activation=tf.nn.relu),
        keras.layers.Dense(96, activation=tf.nn.relu),
        keras.layers.Dense(9, activation=tf.nn.softmax)
        ])

gd = tf.train.GradientDescentOptimizer(0.2)

model.compile(gd, loss='mean_squared_error', metrics=['accuracy'])


model.fit(train_layout, train_place, epochs=3000)

Trainingdata выглядит так:

train_layout = np.array([[0, 0, 0, 0, 1, 0, 0, 0, 0]])
train_place = np.array([[0, 1, 0, 0, 0, 0, 0, 0, 0]])

(конечно, только один блок данных = D)

Заранее благодарен за помощь -nailuj05

Ответы [ 3 ]

0 голосов
/ 02 октября 2019

Во-первых, я копирую вставленный код ur в collab, и полученная ошибка не смогла создать плотный слой.

Во-вторых, просто сбросить плотные слои разных размеров не очень хорошая идея для такого простогопроблема 1 блока крестики-нолики .... я уверен, что вы столкнетесь с переоснащением ...

Вскоре и наиболее важным является .... вы забыли упомянуть размер входного слоя ... это может быть основной причиной ошибки ...

0 голосов
/ 02 октября 2019

Если вы посмотрите на ошибку, она говорит syntax error, это в основном происходит, когда вы забыли что-то в своем коде для записи, например, скобки, запятые или иногда пробелы и т. Д. Я не думаю, что это из-заверсии тензор потока. Я мог запустить этот код в colab с TF 1.14 и 1.13, он просто показал ошибку, которую можно было устранить, определив форму ввода ранее для первого слоя. например,

model = keras.Sequential([
        keras.layers.Flatten(input_shape=(28, 28)),
        keras.layers.Dense(9, activation=tf.nn.tanh),
        keras.layers.Dense(128, activation=tf.nn.relu),
        keras.layers.Dense(256, activation=tf.nn.relu),
        keras.layers.Dense(96, activation=tf.nn.relu),
        keras.layers.Dense(9, activation=tf.nn.softmax)
        ])
0 голосов
/ 02 октября 2019

Вы действительно даете себе ответ.

Я никогда не получал эту ошибку раньше. Я думаю, что это связано с Google Collag с использованием версии 1.14.0, а я - с использованием версии 1.13.1

. Я думаю, что один из способов решения этой проблемы - сохранить модель json и вручную проверить оператора. имена, если это изменилось в патчах. Если ваша модель .h5, я не знаю никакого решения, чтобы справиться с этим.

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