Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Tensorflow 从TF v1.3到v1.4的分布式培训的突破性变化:;不可用错误:尝试连接http1.x服务器“;_Tensorflow_Grpc - Fatal编程技术网

Tensorflow 从TF v1.3到v1.4的分布式培训的突破性变化:;不可用错误:尝试连接http1.x服务器“;

Tensorflow 从TF v1.3到v1.4的分布式培训的突破性变化:;不可用错误:尝试连接http1.x服务器“;,tensorflow,grpc,Tensorflow,Grpc,使用此行创建用于分布式培训的托管会话时: 将sv.managed_会话(server.target,config=config)作为sess,sess.as_default(): 我在主工上得到了这个错误(底部的完整堆栈跟踪): tensorflow.python.framework.errors\u impl.UnavailableError:尝试连接http1.x服务器 parameter server上的一切似乎仍然正常,该服务器报告: E1106 11:26:32.844686639

使用此行创建用于分布式培训的托管会话时:

将sv.managed_会话(server.target,config=config)作为sess,sess.as_default():
我在主工上得到了这个错误(底部的完整堆栈跟踪):

tensorflow.python.framework.errors\u impl.UnavailableError:尝试连接http1.x服务器

parameter server上的一切似乎仍然正常,该服务器报告:

E1106 11:26:32.844686639 5543 ev_epoll 1_linux.c:1051]grpc epoll fd:8
2017-11-06 11:26:32.851773:I tensorflow/core/distributed_runtime/rpc/grpc_channel.cc:215]为作业ps初始化GrpcChannelCache->{0->localhost:12222}
2017-11-06 11:26:32.851863:I tensorflow/core/distributed_runtime/rpc/grpc_channel.cc:215]为作业工人初始化GrpcChannelCache->{0->127.0.0.1:12223}
2017-11-06 11:26:32.856802:I tensorflow/core/distributed_runtime/rpc/grpc_server_lib.cc:324]已启动目标为的服务器:grpc://localhost:12222
我只在使用从源代码构建的tensorflow的新版本1.4时收到此错误(从pip安装时发现相同的问题)。在v1.3中,一切正常。我假设tensorflow如何与grpc合作,有人知道是否有突破性的改变吗

我想知道这是否与http2和http1有关?我看到GRPC似乎在整个http2中使用protobuf,这似乎表明它试图连接http1,但仍然无法解释为什么在将v1.3升级到v1.4时会中断

有人知道那个错误是什么吗

不可用错误:尝试连接http1.x服务器

这里指的是或可能是修复

我正在使用RedHat Linux,并尝试在同一本地主机上跨进程进行分布式培训……甚至不尝试通过网络进行培训。我很感激任何想法,希望这也能帮助其他有同样问题的人


完整堆栈跟踪:

E1106 11:28:24.383745692 5787 ev_epoll 1_linux.c:1051]grpc epoll fd:8
2017-11-06 11:28:24.391084:I tensorflow/core/distributed_runtime/rpc/grpc_channel.cc:215]初始化
作业ps的GrpcChannelCache->{0->127.0.0.1:12222}
2017-11-06 11:28:24.391185:I tensorflow/core/distributed_runtime/rpc/grpc_channel.cc:215]初始化
作业辅助程序的GrpcChannelCache->{0->localhost:12223}
2017-11-06 11:28:24.392285:I tensorflow/core/distributed_runtime/rpc/grpc_server_lib.cc:324]已启动服务器
目标:grpc://localhost:12223
2017-11-06 11:28:37.875632:E tensorflow/core/distributed_runtime/master.cc:269]master init:不可用:
正在尝试连接http1.x服务器
回溯(最近一次呼叫最后一次):
文件“/app/sbtt/anaconda3/lib/python3.6/site packages/tensorflow/python/client/session.py”,第1323行,在
_打电话吗
返回fn(*args)
文件“/app/sbtt/anaconda3/lib/python3.6/site packages/tensorflow/python/client/session.py”,第1293行,在
_run_fn
self.\u扩展图()
文件“/app/sbtt/anaconda3/lib/python3.6/site packages/tensorflow/python/client/session.py”,第1354行,在
_扩展图
self._session,graph_def.SerializeToString(),status)
文件“/app/sbtt/anaconda3/lib/python3.6/site packages/tensorflow/python/framework/errors_impl.py”,第473行,
在出口处__
c_api.TF_GetCode(self.status.status))
tensorflow.python.framework.errors\u impl.UnavailableError:尝试连接http1.x服务器
在处理上述异常期间,发生了另一个异常:
回溯(最近一次呼叫最后一次):
文件“/opt/pycharm-community-2017.2.3/helpers/pydev/pydevd.py”,第1599行,在
globals=debugger.run(setup['file'],None,None,is_模块)
文件“/opt/pycharm-community-2017.2.3/helpers/pydev/pydevd.py”,第1026行,运行中
pydev_imports.execfile(文件、全局、局部)#执行脚本
文件“/opt/pycharm-community-2017.2.3/helpers/pydev/_pydev_imps/_pydev_execfile.py”,execfile中第18行
exec(编译(内容+“\n”,文件,'exec'),全局,loc)
文件“worker.py”,第426行,在
main()
文件“worker.py”,第418行,在main中
运行(args,服务器)
运行中的文件“worker.py”,第174行
sess.run(trainer.sync)
文件“/app/sbtt/anaconda3/lib/python3.6/site packages/tensorflow/python/client/session.py”,第889行,正在运行
运行_元数据_ptr)
文件“/app/sbtt/anaconda3/lib/python3.6/site packages/tensorflow/python/client/session.py”,第1120行,在
_跑
feed_dict_tensor、options、run_元数据)
文件“/app/sbtt/anaconda3/lib/python3.6/site packages/tensorflow/python/client/session.py”,第1317行,在
_你跑吗
选项,运行(元数据)
文件“/app/sbtt/anaconda3/lib/python3.6/site packages/tensorflow/python/client/session.py”,第1336行,在
_打电话吗
提升类型(e)(节点定义、操作、消息)
tensorflow.python.framework.errors\u impl.UnavailableError:尝试连接http1.x服务器

如果您遵循@NoahEisen的建议

export GRPC_VERBOSITY="DEBUG"
您将看到以下内容:

E1108 17:37:57.085195825   17711 ev_epoll1_linux.c:1051]     grpc epoll fd: 5
D1108 17:37:57.085309439   17711 ev_posix.c:111]             Using polling engine: epoll1
D1108 17:37:57.085380147   17711 dns_resolver.c:301]         Using native dns resolver
I1108 17:37:57.085819333   17711 socket_utils_common_posix.c:223] Disabling AF_INET6 sockets because ::1 is not available.
I1108 17:37:57.086001584   17711 tcp_server_posix.c:322]     Failed to add :: listener, the environment may not support IPv6: {"created":"@1510180677.085876868","description":"OS Error","errno":97,"file":"external/grpc/src/core/lib/iomgr/socket_utils_common_posix.c","file_line":256,"os_error":"Address family not supported by protocol","syscall":"socket","target_address":"[::]:12223"}
2017-11-08 17:37:57.092525: I tensorflow/core/distributed_runtime/rpc/grpc_channel.cc:215] Initialize GrpcChannelCache for job ps -> {0 -> 127.0.0.1:12222}
2017-11-08 17:37:57.092648: I tensorflow/core/distributed_runtime/rpc/grpc_channel.cc:215] Initialize GrpcChannelCache for job worker -> {0 -> localhost:12223}
2017-11-08 17:37:57.093435: I tensorflow/core/distributed_runtime/rpc/grpc_server_lib.cc:324] Started server with target: grpc://localhost:12223
D1108 17:38:02.607109518   17830 http_proxy.c:70]            userinfo found in proxy URI
I1108 17:38:02.611335569   17807 http_connect_handshaker.c:304] Connecting to server 127.0.0.1:12222 via HTTP proxy ipv4:xx.xx.xx.xx:xxxx
2017-11-08 17:38:02.617814: E tensorflow/core/distributed_runtime/master.cc:269] Master init: Unavailable: Trying to connect an http1.x server
我支持代理,但我只是尝试在本地主机上进行分布式培训。出于某种原因,它试图通过代理连接,即使IP 127.0.0.1应该等同于本地主机,对吗?IE特别注意这一部分:

Connecting to server 127.0.0.1:12222 via HTTP proxy ipv4:xx.xx.xx.xx:xxxx
我猜这在我的python代码中是懒惰的如果我在集群规范中显式地将ps改为“localhost”,而不是IP 127.0.0.1,那么在TF1.4中,一切似乎都能正常工作,因为它不试图通过我的代理服务器连接到localhost(实际上,我认为只有HTTP1.x)。

@PeteWaren-这是否构成tensorflow或grpc中的实际错误?这些注释是否应该等效为localhost=127.0.0.1?无论哪种方式,其处理方式都已从TF1.3更改为TF1.4


谢谢大家的帮助

很抱歉您遇到了问题!我们只是尝试了一个基准分布式示例,看看