@mohanty So I have finally successfully made my first submission (that is not a random agent)!
The one important change I made is to defer importing
tensorflow. See this commit here https://gitlab.aicrowd.com/felixlaumon/obstacle-tower-challenge/commit/4979d7e65de6012e92405542a1ab73ac6ea16cb4. The evaluation ran successfully after this change.
I suspect that you guys might have a race condition when the agent (run.sh) and the environment (env.sh) are launched in docker. Importing
tensorflow usually a bit of time (like a few seconds) and they might cause
env.sh to try to listen to the port first before the env is ready in run.py.
I can replicate this issue locally as I always have to wait for
Start training by pressing the Play button in the Unity Editor message to show up in
run.py before I launch
env.sh. Otherwise the environment will time out.
You can probably replicate this issue by trying to put
time.sleep(10) in the very beginning for
While deferring import works for me for now, it is not ideal. So it will be great if you guys could look into this issue. And please let me know if there is any further information you’d like me to provide.