Comments (15)
Try the other binary below ./bazel-bin/struct_runner.runfiles/...
somewhere. I'm not entirely sure of the top of my head. The current working directory may be relevant.
from lab.
I would hope that it works :-)
from lab.
Can you run the binary directly without bazel run
?
from lab.
As in, by copying over the "library" like suggested in #37?
from lab.
No, just by invoking the executable directly. It's somewhere below bazel-bin
, have a look.
from lab.
$ ./bazel-bin/struct_runner
Failed to open library! - ./libdmlab.so
./libdmlab.so: cannot open shared object file: No such file or directory
Traceback (most recent call last):
File "/home/edran/lab/doomstruct/ext/lab/bazel-bin/struct_runner.runfiles/org_deepmind_lab/dev/main.py", line 79, in <module>
main()
File "/home/edran/lab/doomstruct/ext/lab/bazel-bin/struct_runner.runfiles/org_deepmind_lab/dev/main.py", line 74, in main
agents[config.agent], envs[config.env])
File "/home/edran/lab/doomstruct/src/interface/spawner.py", line 29, in __init__
dummy_env.setup()
File "/home/edran/lab/doomstruct/src/interface/lab_interface.py", line 42, in setup
'height': str(self.args.height)
RuntimeError: Failed to connect RL API
$ cd bazel-bin
$ ./struct_runner
Level not found: Failed to open file './baselab/game_scripts/dev/test_map.lua'
Traceback (most recent call last):
File "/home/edran/.cache/bazel/_bazel_edran/db1fd2bdda117385e24e1bb01cc56fd6/execroot/lab/bazel-out/local-fastbuild/bin/struct_runner.runfiles/org_deepmind_lab/dev/main.py", line 79, in <module>
main()
File "/home/edran/.cache/bazel/_bazel_edran/db1fd2bdda117385e24e1bb01cc56fd6/execroot/lab/bazel-out/local-fastbuild/bin/struct_runner.runfiles/org_deepmind_lab/dev/main.py", line 74, in main
agents[config.agent], envs[config.env])
File "/home/edran/lab/doomstruct/src/interface/spawner.py", line 29, in __init__
dummy_env.setup()
File "/home/edran/lab/doomstruct/src/interface/lab_interface.py", line 42, in setup
'height': str(self.args.height)
RuntimeError: Invalid levelName flag 'dev/test_map'
I guess most of the paths are harcoded...
from lab.
If I cd into ./bazel-bin/struct_runner.runfiles/org_deepmind_lab
it does indeed seem to spawn processes correctly!
However, how do I then give commands such as --define headless=false
?
from lab.
The define is a build flag. So you say:
bazel build :struct_runner --define headless=false
bazel-bin/struct_runner.runfiles/org_deepmind_lab/struct_runner
from lab.
Great, thank you!
Will map creation through the lua api work out of the box if I run things this way, or should I be wary of other such possible issues?
from lab.
Great - going to close the issue then, however it might be worth documenting this stuff somewhere (or to fix bazel ¯\_(ツ)_/¯
).
from lab.
This issue seems to be closed more than 2 years ago. However I am having the same problem. (Tried the above solution)
I wrote a wrapper around DMLab to make it more like Gym and in each of the processes that I create, I initialize the environment by using this wrapper. It seems that the processes just die after this initialization of the environments.
What should I do? Thanks.
from lab.
Can you give some details (or, preferably, explore yourself) of how you are running your binaries? Do they have access to the required assets?
from lab.
I am running it as:
bazel build :python_a3c_agent --define headless=osmesa
./bazel-bin/python_a3c_agent.runfiles/org_deepmind_lab/python_a3c_agent
where python_a3c_agent.py
is the main file that starts all the processes.
(By the way, I am running bazel through a singularity container.)
How do we check if they have an access?
from lab.
Could you explore the output directory structure a bit, i.e everything below bazel-bin/python_a3c_agent.runfiles/org_deepmind_lab
? Are the expected files anywhere there?
from lab.
The expected files seem to be around there. I also implemented the multithreaded version and it seems to be working without any problem.
I have found where the dying is happening: resetting DMLab in created processes. When I create an environment inside python_a3c_agent.py
everything is working as expected and I can reset it without any problem. However, inside the processes created by python_a3c_agent.py
, after env = deepmind_lab.Lab(...)
the processes die right after the env.reset()
line.
I found where the problem is happening, however, I have no idea on how to solve it.
from lab.
Related Issues (20)
- Make random maze as Capture The Flag mode HOT 2
- RuntimeError: Failed to connect RL API HOT 4
- ImportError: deepmind_lab.so: undefined symbol: PyString_Type error occurred when I was running DeepMind Lab HOT 5
- RuntimeError: Failed to connect RL API
- Reset() environment to a specific state? HOT 2
- Failed to find function dmlab_connect in library! RuntimeError: Failed to connect RL API
- Adding "I-maze" map/environment HOT 5
- Access camera params (extrinsics, intrinsics, near/far plane) for pointcloud calculation HOT 1
- How to produce deterministic episode? HOT 1
- custom environment
- Bazel Build Error: no such target '@platforms//cpu:wasm32': target 'wasm32' not declared in package 'cpu' HOT 3
- Disable Velocity HOT 1
- Problem with Bazel Python3 build HOT 2
- Wheel not supported error HOT 6
- Change the speed of the agent dynamically
- Build fails with message about C++14 being required even with a C++14-capable compiler HOT 2
- Complete installation script for Ubuntu 20.04 HOT 5
- Banino et. al. Grid Cells explore_goal_locations and explore_obstructed_goals HOT 1
- MacOS installation issues HOT 5
- When I run bazel run :python_random_agent --define graphics=sdl -- \ --length=10000 --width=640 --height=480 in Ubuntu 20.04, I meet the following error. HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from lab.