При запуске распределенного тензорного потока (TF v0.9.0rc0), я запускаю 3 сервера параметров, а затем 6 рабочих. Серверы параметров кажутся точными, давая сообщение Started server with target: grpc://localhost:2222
. Но рабочие дают другие ошибки (ниже), о которых у меня есть вопросы.Ошибки распределенного Tensorflow/
Мне кажется, что иногда компьютеры не могут общаться друг с другом, тем самым давая ошибки socket error, connection refused
. Также кажется, что рабочие не могут найти серверы параметров при инициализации своих переменных и дать ошибку Cannot assign a device
.
Может ли кто-нибудь помочь мне понять, что тезисы ошибок в отдельности означают, насколько велика сделка, каждая из которых, и, возможно, дает мне указания в том, как исправить их, если необходимо?
В частности:
- Почему я получаю
socket errors
? - Почему есть
Master init: Unavailable
вопросы/что они означают? - Как я могу гарантировать, что запрашиваемые устройства доступны?
- Это похоже на что-то, что я должен опубликовать на странице проблем tenorflow's github account?
Замечания по установке:
- Все компьютеры сообщают Tensorflow версии:
0.9.0rc0
(python -c "import tensorflow as tf; print(tf.__version__);"
), хотя некоторые, возможно, был установлен из источника, а не из семечковые пакетов, если это имеет значение. - Все компьютеры находятся на одном сетевом коммутаторе 1Gb.
- Аппаратное обеспечение в основном такое же, с некоторыми рабочими, работающими на двух графических процессорах.
Все они дают эту ошибку (IP-адресами изменить):
E0719 12:06:17.711635677 2543 tcp_client_posix.c:173]
failed to connect to 'ipv4:192.168.xx.xx:2222': socket error: connection refused
Но все без главных работников также дать:
E tensorflow/core/distributed_runtime/master.cc:202] Master init: Unavailable:
Кроме того, некоторые из отказ от главных рабочих аварий, давая эту ошибку:
Traceback (most recent call last):
File "main.py", line 219, in <module>
r.main()
File "main.py", line 119, in main
with sv.prepare_or_wait_for_session(server.target, config=tf.ConfigProto(gpu_options=gpu_options)) as sess:
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/training/supervisor.py", line 691, in prepare_or_wait_for_sessionn max_wait_secs=max_wait_secs)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/training/session_manager.py", line 282, in wait_for_session
sess.run([self._local_init_op])
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/client/session.py", line 372, in run
run_metadata_ptr)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/client/session.py", line 636, in _run
feed_dict_string, options, run_metadata)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/client/session.py", line 708, in _do_run
target_list, options, run_metadata)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/client/session.py", line 728, in _do_call
raise type(e)(node_def, op, message)
tensorflow.python.framework.errors.InvalidArgumentError: Cannot assign a device to node 'save/restore_slice_23':
Could not satisfy explicit device specification '/job:ps/task:3/device:CPU:0'
because no devices matching that specification are registered in this process; available devices:
/job:ps/replica:0/task:0/cpu:0,
/job:ps/replica:0/task:1/cpu:0,
/job:ps/replica:0/task:2/cpu:0,
/job:ps/replica:0/task:4/cpu:0,
/job:worker/replica:0/task:0/cpu:0,
/job:worker/replica:0/task:0/gpu:0,
/job:worker/replica:0/task:1/cpu:0,
/job:worker/replica:0/task:1/gpu:0,
/job:worker/replica:0/task:2/cpu:0,
/job:worker/replica:0/task:2/gpu:0
[[Node: save/restore_slice_23 = RestoreSlice[dt=DT_FLOAT, preferred_shard=-1, _device="/job:ps/task:3/device:CPU:0"](save/Const, save/restore_slice_23/tensor_name, save/restore_slice_23/shape_and_slice)]]
Caused by op u'save/restore_slice_23', defined at:
File "main.py", line 219, in <module>
r.main()
File "main.py", line 101, in main
saver = tf.train.Saver()
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/training/saver.py", line 845, in __init__
restore_sequentially=restore_sequentially)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/training/saver.py", line 515, in build
filename_tensor, vars_to_save, restore_sequentially, reshape)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/training/saver.py", line 271, in _AddRestoreOps
values = self.restore_op(filename_tensor, vs, preferred_shard)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/training/saver.py", line 186, in restore_op
preferred_shard=preferred_shard)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/ops/io_ops.py", line 202, in _restore_slice
preferred_shard, name=name)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/ops/gen_io_ops.py", line 358, in _restore_slice
preferred_shard=preferred_shard, name=name)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/ops/op_def_library.py", line 704, in apply_op
op_def=op_def)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/framework/ops.py", line 2260, in create_op
original_op=self._default_original_op, op_def=op_def)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/framework/ops.py", line 1230, in __init__
self._traceback = _extract_stack()