TensorFlow2.0教程-使用keras训练模型

1.一般的模型构造、训练、测试流程

模型构造

inputs = keras.Input(shape=(784,), name=‘mnist_input’)
h1 = layers.Dense(64, activation=‘relu’)(inputs)
h1 = layers.Dense(64, activation=‘relu’)(h1)
outputs = layers.Dense(10, activation=‘softmax’)(h1)
model = keras.Model(inputs, outputs)

keras.utils.plot_model(model, ‘net001.png’, show_shapes=True)

model.compile(optimizer=keras.optimizers.RMSprop(),
loss=keras.losses.SparseCategoricalCrossentropy(),
metrics=[keras.metrics.SparseCategoricalAccuracy()])

载入数据

(x_train, y_train), (x_test, y_test) = keras.datasets.mnist.load_data()
x_train = x_train.reshape(60000, 784).astype(‘float32’) /255
x_test = x_test.reshape(10000, 784).astype(‘float32’) /255

x_val = x_train[-10000:]
y_val = y_train[-10000:]

x_train = x_train[:-10000]
y_train = y_train[:-10000]

训练模型

history = model.fit(x_train, y_train, batch_size=64, epochs=3,
validation_data=(x_val, y_val))
print(‘history:’)
print(history.history)

result = model.evaluate(x_test, y_test, batch_size=128)
print(‘evaluate:’)
print(result)
pred = model.predict(x_test[:2])
print(‘predict:’)
print(pred)

完整代码

import tensorflow
import tensorflow as tf
from tensorflow import keras
import numpy as np
from tensorflow.keras import layers
inputs = keras.Input(shape=(784,), name='mnist_input')
h1 = layers.Dense(64, activation='relu')(inputs)
h1 = layers.Dense(64, activation='relu')(h1)
outputs = layers.Dense(10, activation='softmax')(h1)
model = keras.Model(inputs, outputs)
# keras.utils.plot_model(model, 'net001.png', show_shapes=True)

model.compile(optimizer=keras.optimizers.RMSprop(),
             loss=keras.losses.SparseCategoricalCrossentropy(),
             metrics=[keras.metrics.SparseCategoricalAccuracy()])


#model.compile的参数说明 看官方的说  https://keras.io/models/model/
# 载入数据
(x_train, y_train), (x_test, y_test) = keras.datasets.mnist.load_data()
x_train = x_train.reshape(60000, 784).astype('float32') /255
x_test = x_test.reshape(10000, 784).astype('float32') /255

x_val = x_train[-10000:]
y_val = y_train[-10000:]

x_train = x_train[:-10000]
y_train = y_train[:-10000]

# 训练模型
history = model.fit(x_train, y_train, batch_size=64, epochs=3,
         validation_data=(x_val, y_val))
print('history:')
print(history.history)

result = model.evaluate(x_test, y_test, batch_size=128)
print('evaluate:')
print(result)
pred = model.predict(x_test[:2])
print('predict:')
index=tf.math.argmax(pred[0]).numpy()
print(index)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值