(一)高阶api: keras
处理过程
- 定义模型
- 训练模型
- 评估与预测
1)定义模型
1.1)可以通过组合层来构建模型。模型(通常)是由层构成的图。最常见的模型类型是层的堆叠:tf.keras.Sequential
模型。
model = tf.keras.Sequential()
1.2)添加层
model.add(layers.Dense(64, activation='relu'))
# Add another:
model.add(layers.Dense(64, activation='relu'))
# Add a softmax layer with 10 output units:
model.add(layers.Dense(10, activation='softmax'))
2) 训练模型
2.1)指定优化器和损失函数
model.compile(optimizer=tf.train.AdamOptimizer(0.001),
loss='categorical_crossentropy',
metrics=['accuracy'])
2.2)准备数据
将训练、测试、验证数据构建tensorflow的dataset数据集对象,参考tf.data.Dataset类api。
2.3)训练模型
model.fit(dataset, epochs=10, steps_per_epoch=30,
validation_data=val_dataset,
validation_steps=3)
3)评估与预测
3.1)评估
model.evaluate(data, labels, batch_size=32)
3.2)预测
model.predict(data, batch_size=32)