INNER CODE UNIT · Python
get_gradients
bytedance/byteps · byteps/_keras/__init__.py:33
def get_gradients(self, loss, params):
"""
Compute gradients of all trainable variables.
See Optimizer.get_gradients() for more info.
In DistributedOptimizer, get_gradients() is overriden to also
push_pull the gradients before returning them.
"""
gradients = super(self.__class__, self).get_gradients(loss, params)
return self._push_pull(gradients)
def _aggregate_gradients(self, grads_and_vars):
gradients = [grad for grad, var in grads_and_vars]
return self._push_pull(gradients)
def _push_pull(self, gradients):
self._aggregated_gradients = True
if bps.size() > 1:
averaged_gradients = []