【发布时间】:2021-01-01 17:18:40
【问题描述】:
我已经用 TensorFlow2.0 构建了一个类似于深度学习模型的编码器-解码器,由于某种原因,编码器和解码器是两个独立的模型,我想用 optimizer.apply_gradients() 函数优化这两个模型. TensorFlow document 没有为此案例提供太多信息。它表明grads_and_vars应该是“(梯度,变量)对列表”。我尝试了两种方法,如下所示:
第一种方法:
optimizer.apply_gradients(zip(grads, self._encoder.trainable_weights, self._decoder.trainable_weights))
第二种方法:
optimizer.apply_gradients([zip(grads, self._encoder.trainable_weights), zip(grads, self._decoder.trainable_weights)])
两者都不起作用。正确的做法是什么?
【问题讨论】:
-
错误是什么?
grads是如何产生的?
标签: tensorflow keras tensorflow2.0 tensorflow2.x