Google cloud ML error: Could not start gRPC server

Google cloud ML error: Could not start gRPC server

我正在尝试使用 ml-engine 来调整自定义模型的一些超参数。当我在单个实例(例如,standard_gpu 或 complex_model_m_gpu)上 运行 时,模型 运行 很好,但是当我尝试 运行 相同的作业时失败在支持 gpu 的机器集群上。我正在使用 config.yaml 文件按照自定义层的说明进行操作,如 here 所述。将此配置文件添加到提交是唯一的更改。 运行 分布式作业我还需要做些什么吗?

我正在这样提交作业: g

cloud ml-engine jobs submit training $JOB_NAME \
    --job-dir $OUTPUT_PATH \
    --runtime-version 1.10 \
        --python-version 3.5 \
    --module-name module.run_task \
    --package-path module/ \
    --region $REGION \
        --config hptuning_config.yaml \
    -- \
    --train-files $TRAIN_DATA \
    --eval-files $EVAL_DATA \

我的 setup.py 文件需要 tensorflow-probability 0.3.0(如果我使用 0.4.0,模型就会崩溃)。

错误(在所有工人身上看到)粘贴在下面。感谢任何帮助!

worker-replica-0 Traceback (most recent call last): File "/usr/lib/python3.5/runpy.py", line 184, in _run_module_as_main "main", mod_spec) File "/usr/lib/python3.5/runpy.py", line 85, in _run_code exec(code, run_globals) File "/root/.local/lib/python3.5/site-packages/module/run_task.py", line 74, in train_and_evaluate(hparams) File "/root/.local/lib/python3.5/site-packages/module/run_task.py", line 42, in train_and_evaluate tf.estimator.train_and_evaluate(estimator, train_spec, eval_spec) File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/estimator/training.py", line 451, in train_and_evaluate return executor.run() File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/estimator/training.py", line 617, in run getattr(self, task_to_run)() File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/estimator/training.py", line 627, in run_worker return self._start_distributed_training() File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/estimator/training.py", line 747, in _start_distributed_training self._start_std_server(config) File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/estimator/training.py", line 735, in _start_std_server start=False) File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/training/server_lib.py", line 147, in init self._server_def.SerializeToString(), status) File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/framework/errors_impl.py", line 519, in exit c_api.TF_GetCode(self.status.status)) tensorflow.python.framework.errors_impl.UnknownError: Could not start gRPC server

发生此错误是因为您连续两次调用 tf.estimator.train_and_evaluate。进行第二次 train_and_evaluate 调用时,并非第一次调用的所有 gRPC 服务器都已关闭,并且尝试在仍在使用的端口上打开新服务器。

运行 TensorFlow 不支持连续的多个分布式作业,因为参数服务器尤其会阻塞,直到进程被终止。您需要重构您的代码,以便每个作业只包含对 tf.estimator.train_and_evaluate 的一次调用。