gpt4 book ai didi

tensorflow - tf.estimator 的 gRPC 错误

转载 作者:行者123 更新时间:2023-12-03 17:52:37 25 4
gpt4 key购买 nike

我在 OpenStack 上运行的 Ubuntu 16.04 上运行通过 pip 安装的 TensorFlow 1.4。我遵循了 TensorFlow 线性模型教程 here运行一个简单的逻辑回归模型。在本地运行一切正常。我正在关注文档 here RunConfig() 在小型集群上运行模型。据我了解,分发 jar 装估算器只是设置适当的 JSON 环境变量的问题。我这样做如下:

rank = int(argv[1])
instance_type = argv[2]
...
cluster = {'chief': ['master:2222'],
'ps': ['master:2223'],
'worker' : ['worker-1:2222']}
os.environ['TF_CONFIG']= json.dumps(
{'cluster': cluster,
'task': {'type': instance_type, 'index': rank}})
...
indep_vars = build_vars()
config = tf.estimator.RunConfig()
lr = tf.estimator.LinearClassifier(model_dir=None,
config = config,
feature_columns=indep_vars)
train_spec = tf.estimator.TrainSpec(
input_fn=lambda: input_fn_logit(data_path, 1, BATCH_SIZE),
max_steps=10)
eval_spec = tf.estimator.EvalSpec(
input_fn=lambda: input_fn_logit(data_path, 1, BATCH_SIZE),
steps=1)
tf.estimator.train_and_evaluate(lr, train_spec, eval_spec)

然后我从 master 调用脚本作为:python tf_dist_example.py 0 chief 在另一个窗口中:python tf_dist_example.py 0 psworker-1 上为:python tf_dist_example.py 0 worker

chief 实例抛出错误:tensorflow.python.framework.errors_impl.UnknownError: Could not start gRPC server 并且在设置 export GRPC_VERBOSITY=DEBUG, gRPC报错:

 {"created":"@1513990687.907885617","description":"No address added out of total 1 resolved","file":"external/grpc/src/core/ext/transport/chttp2/server/chttp2_server.c","file_line":245,"referenced_errors":
[{"created":"@1513990687.907882392","description":"Failed to add any wildcard listeners","file":"external/grpc/src/core/lib/iomgr/tcp_server_posix.c","file_line":338,"referenced_errors":
[{"created":"@1513990687.907869775","description":"Unable to configure socket","fd":7,"file":"external/grpc/src/core/lib/iomgr/tcp_server_utils_posix_common.c","file_line":200,"referenced_errors":
[{"created":"@1513990687.907859814","description":"OS Error","errno":98,"file":"external/grpc/src/core/lib/iomgr/tcp_server_utils_posix_common.c","file_line":173,"os_error":"Address already in use","syscall":"bind"}]},
{"created":"@1513990687.907881598","description":"Unable to configure socket","fd":7,"file":"external/grpc/src/core/lib/iomgr/tcp_server_utils_posix_common.c","file_line":200,"referenced_errors":
[{"created":"@1513990687.907879042","description":"OS Error","errno":98,"file":"external/grpc/src/core/lib/iomgr/tcp_server_utils_posix_common.c","file_line":173,"os_error":"Address already in use","syscall":"bind"}]}]}]}

错误似乎很明显:gRPC 尝试连接的端口已在使用中。但是,我使用 netstat -tulpn 验证没有其他进程正在使用这些端口中的任何一个,所以我不明白为什么 gRPC 提示它们已经在使用中。此外,如果我创建一个更低级别的示例,手动创建一个 ClusterSpecServer,那么 master 和 worker 可以正常通信并且一切都按预期工作。谁能提供有关如何进一步调试的任何建议或指出我哪里出错了?我确信对于正在发生的事情有一个简单的解释。如果有帮助,我可以包含更多来自 gRPC 的消息。

最佳答案

万一其他人遇到这个问题并发现这个问题是因为他们也在使用 grpc,当我遇到这个问题时,问题是由于应用程序同时监听了 grpc 端口和 http 端口。

我不小心将 http 端口配置为 grpc 端口,因此应用程序尝试使用同一个端口两次。

关于tensorflow - tf.estimator 的 gRPC 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47948966/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com