自定义Tensorflow模型的训练
一般来说,深度学习模型的训练需要经过以下几个步骤:
- 定义模型
- 定义损失函数
- 准备数据
- 初始化模型参数
- 开始循环EPOCH:
5.1、开始循环batch:
5.1.1、基于当前batch的数据,计算模型的前向反馈结果
5.1.2、计算损失函数
5.1.3、求解梯度
5.1.4、更新梯度
这里的步骤1、2、3都是可以同步进行的,不需要先后顺序。循环的话一般是两层,外层循环的是EPOCH,一次EPOCH相当于全量数据的一次迭代。但是每一次迭代过程,一般既不是全量数据一起更新,也不是单个数据一个一个更新,而是将数据按照一定大小切分之后,进行批处理,一个批次的数据同时更新迭代。
关于数据的准备和循环,可以参考之前的论文:Tensorflow中数据集的使用方法(tf.data.Dataset)。
这里举一个例子。
首先,我们定义一个模型:
欢迎大家关注DataLearner官方微信,接受最新的AI技术推送
