Repository: tensorflow/tensor2tensor

Issue:
AttributeError: 'NoneType' object has no attribute'std_server_protocol'
### Description
After I succeed in running a mnist demo on one machine with 8 GPUs in a single docker, I try to do distribute training on 2 machines with dockers。 
I followed the examples of sync training in [distributed Training](https://tensorflow.github.io/tensor2tensor/distributed_training.html)
but when I deploy the worker like this:
$ t2t-trainer --schedule=run_std_server
here comes the error:
AttributeError: 'NoneType' object has no attribute'std_server_protocol'
...

### Environment information
tensorflow-gpu 1.12
cuda9，tf1.12，t2t1.11，conda5.3.1
```
OS: 
mesh-tensorflow==0.05
tensor2tensor==1.11.0
tensorboard==1.12.0
tensorflow-gpu==1.12.0
tensorflow-metadata==0.9.0
tensorflow-probability==0.5.0

Python2.7.15 :: Anaconda, Inc.
```
# Steps to reproduce:
First I made two dockers on two machines. And setup a port for each docker:
18888:5555 and 18889:5555

Then I  generate the TF_CONFIG and command-line-flags for each docker:
```
t2t-make-tf-configs --masters='0.0.0.0:18888' --ps='0.0.0.1:5555'
```
And then I do the Master on the first docker:
```
$ export TF_CONFIG='{"cluster": {"master": ["0.0.0.0:18880"], "ps": ["0.0.0.1:5555"]}, "environment": "cloud", "task": {"index": 0, "type": "master"}}'
$ t2t-trainer --master=grpc://0.0.0.0:18888 --ps_replicas=1 --worker_replicas=1 --worker_gpu=0 --worker_id=0 --ps_gpu=1 --sync --schedule=train --worker_job='/job:master' --model=shake_shake --hparams_set=shake_shake_quick --problem=image_mnist --data_dir=/home/share/data --output_dir=/home/share/t2t_train02/mnist
```
What shows at last : INFO: tensorflow: Graph was finalized

Then I do the Worker on the second docker:
```
$ export TF_CONFIG='{"cluster": {"master": ["0.0.0.0:18888"], "ps": ["0.0.0.1:5555"]}, "environment": "cloud", "task": {"index": 0, "type": "ps"}}'
$ t2t-trainer --schedule=run_std_server
```

Here comes the error:
```
AttributeError: 'NoneType' object has no attribute'std_server_protocol'
```
Did I do anything wrong?


Discussion:
I met the same problem,do anyone knows about it?
hhhhha, hi, all, I think I this crash caused by line 352 on  [tensor2tensor/bin/t2t_trainer.py](https://github.com/tensorflow/tensor2tensor/blob/master/tensor2tensor/bin/t2t_trainer.py) as following:
```
def run_std_server():
  exp = trainer_lib.T2TExperiment(*([None] * 5))
  exp.run_std_server()
```
The self._hparams is always None, because the T2TExperiment init it with None...........
I met the same problem, so if this code
`exp = trainer_lib.T2TExperiment(*([None] * 5))`
Does it mean run_std_server can not run and can not run on multi machines?

Resolving patch:
diff --git a/tensor2tensor/utils/trainer_lib.py b/tensor2tensor/utils/trainer_lib.py
--- a/tensor2tensor/utils/trainer_lib.py
+++ b/tensor2tensor/utils/trainer_lib.py
@@ -532,7 +532,7 @@ def run_std_server(self):
         config.cluster_spec,
         job_name=config.task_type,
         task_index=config.task_id,
-        protocol=self._hparams.std_server_protocol)
+        protocol=config.protocol)
     server.join()
 
   def decode(self,


Test patch: