代码如下:
import tensorflow as tf
*下列代码为回调代码*
class myCallback(tf.keras.callbacks.Callback):
def on_epoch_end(self, epoch, logs={}):
if(logs.get('accuracy')>0.6):
print("\nReached 60% accuracy so cancelling training!")
self.model.stop_training = True
*##[class表示类 详情请参见](https://blog.csdn.net/weixin_44238733/article/details/109411230)*
mnist = tf.keras.datasets.fashion_mnist *##调用数据集minst*
(x_train, y_train),(x_test, y_test) = mnist.load_data()
x_train, x_test = x_train / 255.0, x_test / 255.0
callbacks = myCallback() *##调用callback*
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=tf.optimizers.Adam(),
loss='sparse_categorical_crossentropy',
metrics=['accuracy'])
model.fit(x_train, y_train, epochs=10, callbacks=[callbacks])
*## ‘’callbacks=[callbacks]‘’回调,达到logs.get('accuracy')>0.6就停止训练*