text: Title: UnboundLocalError: local variable 'raw_devices' referenced before assignment
  Body: https://github.com/tensorpack/tensorpack/blob/801e29218f299905298b9bf430d2b95b527b04d5/tensorpack/graph_builder/training.py#L350-L355
  
  I have reviewed this file, and by comparison I think `raw_devices = ['/gpu:{}'.format(k) for k in self.towers]` in line 351 should probably be defined before the `if-else` statement just like line 153-158 in the same file:
  https://github.com/tensorpack/tensorpack/blob/801e29218f299905298b9bf430d2b95b527b04d5/tensorpack/graph_builder/training.py#L153-L158