我正在尝试使用 ml-engine 来调整自定义模型的一些超参数。当我在单个实例(例如,standard_gpu 或 complex_model_m_gpu)上运行时,模型运行良好,但当我尝试在启用 gpu 的机器集群上运行相同的作业时失败。我使用的是config.yaml文件以下为CUSTOM层的指示,如所描述这里。将此配置文件添加到提交中是唯一的更改。我还需要做些什么来运行分布式作业?
我正在提交这样的工作: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 回溯(最近一次调用最后一次):文件“/usr/lib/python3.5/runpy.py”,第 184 行,在 _run_module_as_main 中“ main”", mod_spec) 文件 "/usr/lib/python3.5/runpy.py", line 85, in _run_code exec(code, run_globals) 文件 "/root/.local/lib/python3.5/site-packages/module /run_task.py”,第 74 行,在 train_and_evaluate(hparams) 文件“/root/.local/lib/python3.5/site-packages/module/run_task.py”,第 42 行,在 train_and_evaluate tf.estimator.train_and_evaluate( estimator, train_spec, eval_spec) 文件“/usr/local/lib/python3.5/dist-packages/tensorflow/python/estimator/training.py”, line 451, in train_and_evaluate return executor.run() 文件“/usr/ local/lib/python3.5/dist-packages/tensorflow/python/estimator/training.py”,第 617 行,运行 getattr(self, task_to_run)() 文件“/usr/local/lib/python3.5/dist -packages/tensorflow/python/estimator/training.py”,第 627 行,在 run_worker 中返回 self。_start_distributed_training() 文件“/usr/local/lib/python3.5/dist-packages/tensorflow/python/estimator/training.py”,第 747 行,在 _start_distributed_training self._start_std_server(config) 文件“/usr/local/lib /python3.5/dist-packages/tensorflow/python/estimator/training.py”,第 735 行,在 _start_std_server start=False)文件“/usr/local/lib/python3.5/dist-packages/tensorflow/python/培训/server_lib.py”,第 147 行,在第 147 行,在第 147 行,在init self._server_def.SerializeToString(), status) 文件“/usr/local/lib/python3.5/dist-packages/tensorflow/python/framework/errors_impl.py”,第 519 行,退出c_api.TF_GetCode(self. status.status)) tensorflow.python.framework.errors_impl.UnknownError: 无法启动 gRPC 服务器
发生此错误是因为您tf.estimator.train_and_evaluate
连续调用两次。进行第二次train_and_evaluate
调用时,并非第一次调用中的所有 gRPC 服务器都已关闭,并且会尝试在仍在使用的端口上打开新服务器。
TensorFlow 不支持连续运行多个分布式作业,因为参数服务器尤其会阻塞,直到进程被终止。您需要重构代码以仅包含对tf.estimator.train_and_evaluate
每个作业的一次调用。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句