Ошибка mxnet launch.py: проверка не удалась: (my_node_.port)! = (-1) сбой привязки - PullRequest
0 голосов
/ 28 ноября 2018

mxnet версия 1.3.0

Я пытаюсь [train_mnist.py] [1] на 2 узлах кластера, один с 3 графическими процессорами (узел A) и один с 1 графическим процессором (узел B),После этого [сообщения в блоге] [2] я делаю это, используя предоставленный скрипт [launch.py] [3] в репозитории mxnet.

Я настроил файл hosts, который состоит изиз двух имен хостов:

username@nodeA
username@nodeB

И затем я попытался запустить распределенное обучение следующим образом:

    python3 launch.py -n 4 -H hosts "/opt/python/current/bin/python3 train_mnist.py  
           --network mlp --lr-factor .9 --lr .01 --kv-store dist_sync"

(Обратите внимание, что я изменил fit.py, чтобы скрипт обнаружил, какмногие gpus находятся на его локальном хосте и устанавливают context соответственно, и я убедился, что это работает на каждом узле отдельно).

Я сталкиваюсь с этой ошибкой:

Traceback (most recent call last):
  File "train_mnist.py", line 28, in <module>
    from common import find_mxnet, fit
  File "/home/username/username/common/find_mxnet.py", line 20, in <module>
    import mxnet as mx
  File "/opt/python/current/lib/python3.6/site-packages/mxnet/__init__.py", line 57, in <module>
    from . import kvstore_server
  File "/opt/python/current/lib/python3.6/site-packages/mxnet/kvstore_server.py", line 85, in <module>
    _init_kvstore_server_module()
  File "/opt/python/current/lib/python3.6/site-packages/mxnet/kvstore_server.py", line 82, in _init_kvstore_server_module
    server.run()
  File "/opt/python/current/lib/python3.6/site-packages/mxnet/kvstore_server.py", line 73, in run
    check_call(_LIB.MXKVStoreRunServer(self.handle, _ctrl_proto(self._controller()), None))
  File "/opt/python/current/lib/python3.6/site-packages/mxnet/base.py", line 252, in check_call
    raise MXNetError(py_str(_LIB.MXGetLastError()))
mxnet.base.MXNetError: [10:44:47] src/van.cc:291: Check failed: (my_node_.port) != (-1) bind failed

И это продолжается с информацией трассировки стека:

Stack trace returned 10 entries:
[bt] (0) /opt/python/current/lib/python3.6/site-packages/mxnet/libmxnet.so(+0x3617ba) [0x7f2cb77d37ba]
[bt] (1) /opt/python/current/lib/python3.6/site-packages/mxnet/libmxnet.so(+0x361dd1) [0x7f2cb77d3dd1]
[bt] (2) /opt/python/current/lib/python3.6/site-packages/mxnet/libmxnet.so(+0x312b3fa) [0x7f2cba59d3fa]
[bt] (3) /opt/python/current/lib/python3.6/site-packages/mxnet/libmxnet.so(+0x31352fa) [0x7f2cba5a72fa]
[bt] (4) /opt/python/current/lib/python3.6/site-packages/mxnet/libmxnet.so(+0x31265e9) [0x7f2cba5985e9]
[bt] (5) /opt/python/current/lib/python3.6/site-packages/mxnet/libmxnet.so(+0x2be69d3) [0x7f2cba0589d3]
[bt] (6) /opt/python/current/lib/python3.6/site-packages/mxnet/libmxnet.so(MXKVStoreRunServer+0x88) [0x7f2cb9e4b7f8]
[bt] (7) /usr/lib/x86_64-linux-gnu/libffi.so.6(ffi_call_unix64+0x4c) [0x7f2d12c9ddae]
[bt] (8) /usr/lib/x86_64-linux-gnu/libffi.so.6(ffi_call+0x22f) [0x7f2d12c9d71f]
[bt] (9) /opt/python/current/lib/python3.6/lib-dynload/_ctypes.cpython-36m-x86_64-linux-gnu.so(_ctypes_callproc+0x29f) [0x7f2d12eb24af]

Что я пробовал до сих пор:

  • Сокращение моего файла хостов, чтобы включить только один хост.Я попытался с обоими вариантами (так что работает только nodeA или просто nodeB), но я получил ту же ошибку
  • Изменение количества рабочих (но я думал, что это должно отражать количество доступных графических процессоров)
  • Ищите my_node_ в любом из двух последних файлов, упомянутых в трассировке, а именно /opt/python/current/lib/python3.6/site-packages/mxnet/base.py и /opt/python/current/lib/python3.6/site-packages/mxnet/kvstore_server.py.Кажется, что ни один из этих файлов не содержит ссылки на эту переменную.

Я не уверен, куда идти отсюда.У меня сложилось впечатление, что распределенное обучение должно быть довольно плавным с mxnet, поэтому я надеюсь, что это легко исправить.Приветствуются предложения о том, что проверять и / или как отлаживать этот код.Спасибо.

  [1]: https://github.com/apache/incubator-mxnet/blob/master/example/image-classification/train_mnist.pyn
  [2]: https://tsmatz.wordpress.com/2017/02/22/mxnetr-gpu-acceleration-distributed-training-active-learning/
  [3]: https://github.com/apache/incubator-mxnet/blob/master/tools/launch.py
...