在优化器中压缩什么.Apply_gradients (zip(gradients, self.generator.tra



为什么我们在optimizer.apply_gradients(zip(grads,self.generator.trainable_variables))中使用zip ?它是如何工作的?

当使用tape.gradient()计算梯度时,它返回权重和偏差的梯度作为列表的列表。

的例子:

毕业生=[[[1,2,3],[1]],[[2、3、4],[2]]]# Op从tape.gradient()

应该解释[[[W]、[B ] ], [ [ W]、[B]]]

将其视为trainable_weights或Initialized_weights

trainable_weights =[[[2、3、4],[0 ] ], [ [ 1、5、6],[8]]]

因此Zip将取两个变量的第一个值并将它们压缩以使优化器最小化。

压缩后的zip(grads,trainable_weights)值看起来像这样。

[[1, 2, 3],[1]],[[2、3、4],[0]]

[[2,3,4], [2]], [[1,5,6], [8]]

最新更新