(self, grads)
| 446 | return False |
| 447 | |
| 448 | def allreduce(self, grads): |
| 449 | if self.hvd.size() == 1: |
| 450 | return grads |
| 451 | # copied from https://github.com/uber/horovod/blob/master/horovod/tensorflow/__init__.py |
| 452 | averaged_gradients = [] |
| 453 | with tf.name_scope("AllReduce"): |
| 454 | for grad, var in grads: |
| 455 | if grad is not None: |
| 456 | if self._compression is not None and self._has_compression: |
| 457 | avg_grad = self.hvd.allreduce(grad, average=self._average, compression=self._compression) |
| 458 | else: |
| 459 | avg_grad = self.hvd.allreduce(grad, average=self._average) |
| 460 | averaged_gradients.append((avg_grad, var)) |
| 461 | else: |
| 462 | averaged_gradients.append((None, var)) |
| 463 | return averaged_gradients |
| 464 | |
| 465 | def _setup_graph(self, input, get_cost_fn, get_opt_fn): |
| 466 | with TrainTowerContext(''): |
no test coverage detected