_pywrap_tf_optimizer.so: не удалось сопоставить сегмент из общего объекта
У меня стабильные базовые показатели агент, который использует Tensorflow и в конечном итоге вызывает_pywrap_tf_optimizer
на экземпляре виртуальной машины GCP.
Примерно через два-три дня обучения (что означает, что изначально код работал нормально), я получил
ImportError: _pywrap_tf_optimizer.so: не удалось сопоставить сегмент из общего объекта
с последующим
ConnectionResetError: сброс соединения одноранговым узлом
Более сложная трассировка:
ImportError:/home/kg/.local/lib/python3.5/site-packages/tensorflow/python/_pywrap_tf_optimizer.so: не удалось сопоставить сегмент из общего объекта Traceback (последний вызов последний): файл "run_baselines_agent.py", строка 122, в envs, model = _train(env_id, study.best_params, 100 * L) Файл "run_baselines_agent.py", строка 28, в _train envs = SubprocVecEnv([make_env(env_id) для _ in range(NUM_CPU)]) Файл "/home/kg/.local/lib/python3.5/site-packages/stable_baselines/common/vec_env/subproc_vec_env.py", строка 99, в init Наблюдение_пространство, действие_пространство = self.remotes[0].recv() Файл "/usr/lib/python3.5/multiprocessing/connection.py", строка 250, в recv buf = self._recv_bytes() Файл "/ usr / lib /python3.5/multiprocessing/connection.py ", строка 407, в _recv_bytes buf = self._recv(4) Файл" /usr/lib/python3.5/multiprocessing/connection.py ", строка 379, в _recv chunk = чтение (дескриптор, остаток) ConnectionResetError: [Errno 104] Соединение сброшено одноранговым узлом
Сценарий run_baselines_agent.py
упомянутое выше доступно здесь;subproc_vec_env.py
можно найти здесь.
Я считаю, что той же ошибки не произойдет, если я запущу код на своем локальном компьютере. Ключевые слова в трассировке, кажется, намекают на "многопроцессорность" и "общие объекты". Но я также понятия не имею, почему это происходит на GCP и как на самом деле отладить и исправить это?