Тренинг по Google Colab, Unity Environment зависает с Multiprocessing.py - PullRequest
0 голосов
/ 01 марта 2019

Я пытаюсь использовать Colab для обучения окружающей среды.Я построил среду в режиме сервера для Linux и сумел установить зависимости от Colab, что было немного сложно.У меня нет ошибок при перезагрузке среды, но после первого env.step () ядро ​​просто зависает.Это сообщение об ошибке, которое я получаю после прерывания ядра:

/content/ml-agents/ml-agents/mlagents/envs/environment.py in step(self, vector_action, memory, text_action, value)
390 
391             outputs = self.communicator.exchange(
--> 392                 self._generate_step_input(vector_action, memory, text_action, value))
393             if outputs is None:
394                 raise KeyboardInterrupt

/content/ml-agents/ml-agents/mlagents/envs/rpc_communicator.py in exchange(self, inputs)
 94         message.unity_input.CopyFrom(inputs)
 95         self.unity_to_external.parent_conn.send(message)
---> 96         output = self.unity_to_external.parent_conn.recv()
 97         if output.header.status != 200:
 98             return None

/usr/lib/python3.6/multiprocessing/connection.py in recv(self)
248         self._check_closed()
249         self._check_readable()
--> 250         buf = self._recv_bytes()
251         return _ForkingPickler.loads(buf.getbuffer())
252 

/usr/lib/python3.6/multiprocessing/connection.py in _recv_bytes(self, maxsize)
405 
406     def _recv_bytes(self, maxsize=None):
--> 407         buf = self._recv(4)
408         size, = struct.unpack("!i", buf.getvalue())
409         if maxsize is not None and size > maxsize:

/usr/lib/python3.6/multiprocessing/connection.py in _recv(self, size, read)
377         remaining = size
378         while remaining > 0:
--> 379             chunk = read(handle, remaining)
380             n = len(chunk)
381             if n == 0:

KeyboardInterrupt:

Я предполагаю, что здесь есть проблема с потоками в Colab, может быть тайм-аут?Честно говоря, понятия не имею, так как у меня нет опыта в многопроцессорности.Может быть проблема с версиями пакетов?Кому-нибудь удалось запустить Python API UnityEnvironment в Colab?

Эта проблема возникает после одного или двух вызовов env.step () в UnityEnvironment.Ядро там просто зависает, вот когда я останавливаю ядро ​​(отсюда и прерывание клавиатуры).

Большое спасибо за помощь!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...