一、常见功能模块
- 经典数据集加载函数
- 网络层类
- 模型容器
- 损失函数类
- 优化器类
- 经典模型类
1、网络层类:
两种实现方式:张量方式(tf.nn)和层方式(tf.keras.layers)
如实现Softmax层:
-
- tf.nn.softmax函数实现;
- layers.Softmax(axis)类搭建Softmax网络层;
2、网络容器
Keras提供的网络容器Sequential将多个网络层封装成一个大网络模型。
2层的全连接层加上单独的激活函数,并用Sequential封装成一个网络。
注释:
build函数指定输入大小,即可自动创建所有层的内部张量。
summary函数打印出网络结构和参数量。
3、模型装配、训练、预测
(1)keras.Model类和keras.layers.Layer类
- Layer类是网络层的母类,定义了网络层的一些常见功能:添加权值、管理权值列表等。
- Model类是网络的母类,可添加了保存模型、加载模型、训练与测试模型等功能。
(2)简述一下模型创建训练过程:
- 创建网络
- 循环迭代数据集多个Epoch,每次按批产生训练数据
- 前向传播
- 通过损失函数计算误差值
- 反向传播自动计算梯度
- 更新网络参数
(3)模型装配:
compile函数:指定网络使用的优化器对象、损失函数类型,评价指标等设定
(4)模型训练验证:
fit函数:模型训练验证,通过fit()函数送入待训练的数据集和验证用的数据集
(5)模型预测:
Model.predict(x):完成模型预测。
4、模型保存与加载
三种保存与加载方式:张量方式、网络方式、SavedModel方式