我正在尝试实现从tf.keras.Sequential
继承的模型类,并且该类具有自定义的梯度下降功能(使用梯度检查点)以优化内存消耗。
我的课程中有一个函数,当调用该函数时,可以为给定的数据点/批处理计算渐变并更新模型中所有图层的权重。由于我在训练循环中反复调用了此函数,因此我不想使用model.fit()
的{{1}}函数。
我面临的主要问题是每个纪元需要很长时间才能完成(超过tf.keras
),我怀疑这是因为我在调用{{1}之前将每个批处理移至GPU }函数,导致延迟。
是否可以重载我的model.fit()
类中的某些函数,以便使用model.update_weights
来调用我的自定义model
函数?
或者,是否有一种方法可以将数据集更有效地获取到GPU?
(我目前正在使用model.fit()
,它实际上是update_weights
。)