- Added support a different strategy for cov computations in the multi-tower scenario...
authorA. Unique TensorFlower <gardener@tensorflow.org>
Tue, 27 Mar 2018 15:01:25 +0000 (08:01 -0700)
committerTensorFlower Gardener <gardener@tensorflow.org>
Tue, 27 Mar 2018 15:03:55 +0000 (08:03 -0700)
commitcd98c3ac0e4ab094f00dcb2dfc1188c0c5ee08e0
tree7d5f6246b5de971486f546e841dbc9e7e2c3f878
parent3d9f820ff2b4c7e79f9e3239b2a09472e99448e2
- Added support a different strategy for cov computations in the multi-tower scenario.  In this strategy we do the cov computations locally on each tower and then sum the results, as opposed to concatenating everything onto a single device.  This other strategy can be enabled by setting the global variable TOWER_STRATEGY to "separate" (default value is "concat", which implements the old strategy).  We might change this to use "separate" by default if this turns out to be the best default.
- The code and documentation now no longer refer to the towers as computing different "mini-batches", since this was a confusing use of terminology.  The best way to think about things is that the combine data over all the towers forms the mini-batch.  Note however when factors process multiple towers using the "separate" strategy their batch_size variable will still refer to the amount of data in a single tower.
- Fixed a bug in how the "option 1" and "option 2" RNN Fisher approximations were computed in the multi-tower scenario.
- The "time-folded-into-batch" feature recently added has now changed in terms of what format it uses. Time is now the first dimension before the reshape, not the second, which is consistent with the convention used in other codebases.

PiperOrigin-RevId: 190615398
tensorflow/contrib/kfac/python/kernel_tests/fisher_blocks_test.py
tensorflow/contrib/kfac/python/kernel_tests/fisher_factors_test.py
tensorflow/contrib/kfac/python/kernel_tests/layer_collection_test.py
tensorflow/contrib/kfac/python/ops/fisher_blocks.py
tensorflow/contrib/kfac/python/ops/fisher_factors.py
tensorflow/contrib/kfac/python/ops/layer_collection.py
tensorflow/contrib/kfac/python/ops/utils.py