从Keras源码看模型实现

本文通过分析Keras的addition_rnn示例,探讨Sequential模型的fit函数,讲解Model.fit如何调用_make_train_function、optimizer.get_gradients等,揭示深度学习模型训练中的反向传播和梯度下降过程。
摘要由CSDN通过智能技术生成

从Keras源码看模型实现

本文以Keras自带的examples/addtion_rnn.py为例,theano为后台,分析Keras深度学习框架的源码,梳理模型训练的过程。(由于本人强行学习速成Keras,如有疏漏还望指出。)


从addtion_rnn运行至

model.fit(X_train,y_train,batch_size=BATCH_SIZE,nb_epoch=1,validation_data=(X_val,y_val))

函数(即开始训练)开始,我们来看看发生了什么。
model.fit实际上是class Sequential(Model)中的fit函数,分别再调用继承来的Model.fit函数。
Model.fit函数中比较重要的代码是下面几个部分:

  • self._make_train_function()

    该代码调用了class Model中的_make_train_function函数,这个函数的两个重要功能在于其中调用了

    1. training_updates=self.optimizer.get_updates(self._c
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值