* add tf metrics
* comments
* fix network scopes
* add doc
* initial work
* try with 3 virtual cpus
* clean up metrics
* use format string
* fix trace level
* back to pong
* always run summary on cpu
* plot intermediate and final sgd stats
* add back a global step
* update
* add timeline
* use staging area and reuse weights properly
* stage at cpu
* whoops, stage only the batch
* clean up a bit
* fix py flake
* wip
* create an optimizer graph per device
* print timeline on 5th batch instead
* print examples per second
* log placement for training ops
* force placement on cpu:0
* try separating weights onto different gpus
* try using nccl
* add cpu fallback
* remove space from date
* check has gpu device
* fix flag config
* checkpoint
* wip
* update
* add some timing
* trace loading
* try cpu
* revert that
* remove expensive test
* lint
* cleanups
* clean up timers
* clean it up a bit
* fix code for non-scalar action spaces
* address some nits
* fix quotes
* efficient shuffling between sgd epochs
* Test examples for pep8 compliance.
* Make rl_pong example pep8 compliant.
* Make policy gradient example pep8 compliant.
* Make lbfgs example pep8 compliant.
* Make hyperopt example pep8 compliant.
* Make a3c example pep8 compliant.
* Make evolution strategies example pep8 compliant.
* Make resnet example pep8 compliant.
* Fix.