【发布时间】:2020-03-27 05:02:54
【问题描述】:
“返回”在函数之外。我必须返回元组中的值。基本上,这里有两个错误。首先,“返回”在函数之外。其次,结果没有作为元组返回。
def train_mnist():
class myCallback(tf.keras.callbacks.Callback):
def on_epoch_end(self, epoch, logs={}):
if logs.get('acc') > 0.99:
print ('\nReached 99% accuracy so cancelling training!')
self.model.stop_training = True
mnist = tf.keras.datasets.mnist
((x_train, y_train), (x_test, y_test)) = mnist.load_data(path=path)
(x_train, x_test) = (x_train / 255.0, x_test / 255.0)
callbacks = myCallback()
model = \
tf.keras.models.Sequential([tf.keras.layers.Flatten(input_shape=(28,
28)), tf.keras.layers.Dense(512,
activation=tf.nn.relu),
tf.keras.layers.Dense(10,
activation=tf.nn.softmax)])
model.compile(optimizer='adam',
loss='sparse_categorical_crossentropy',
metrics=['accuracy'])
history = model.fit(x_train, y_train, epochs=10,
callbacks=[callbacks])
return (history.epoch, history.history['acc'][-1])
【问题讨论】:
-
缺少很多缩进,所以我们无法确定原始代码中的缩进应该是什么样子。
-
你为什么使用 return 命令,你的模型不在函数内部。
标签: python tensorflow machine-learning syntax-error