Closed shyamalschandra closed 6 years ago
Could you be more specific about what's missing at https://github.com/openai/universe#install-docker?
Well, the obvious! There is no step-by-step for the docker run
command in the instructions on how to setup the server that runs universe.
I still don't understand what you mean. Did you click the Install Docker link and follow the instructions for your system? What didn't work?
Yes, I installed docker with the latest dmg. There are no instructions specific to universe server-side. It says the following on the instructions: "...Additionally, you can freely access the Docker images for the remotes. We'll release the source repositories for the remotes in the future, along with tools to enable users to integrate new environments. Please sign up for our beta if you'd like early access..." When will it be out of beta? Why isn't available yet publicly?
We don't have a date for releasing the source code for the containers. We have to do some work to document the internals, and it would help us to understand what people want to do with them. Do you have a project in mind?
So...how can I run universe without the containers? This is unclear as a signed up for the beta but where are the game-specific containers? Did you release everything necessary to play or just a part of the components? Why did OpenAI announce it in the first place when things are not finished?
yes, we have released all you need to play: the docs are at https://github.com/openai/universe/blob/master/doc/remotes.rst
The thing to look for in our docs, both the main README at https://github.com/openai/universe and the extra docs under "What's next?" and "Additional documentation", is the word "remotes", which we use to refer to remote environment servers.
We have released the images/containers themselves (you can pull them from docker) but the code inside the containers is not yet a standalone github project.
"it would help us to understand what people want to do with them. Do you have a project in mind?"
I applied for the beta as well.
I wanted to create a custom container to interface with a browser-based three.js game that I made to train an agent to control a vehicle in an autonomous submarine competition called "RoboSub http://robosub.org".
The simulator is here: http://cantren.github.io Human control example: https://www.youtube.com/watch?v=Qf775rLs11c&t=620s Some of the unlabeled test data here: https://www.youtube.com/watch?v=Q16CAJmgFsY Small labeled training/validation dataset here: goo.gl/QIXss4
I've looked into the official form https://universe.openai.com/consent for this, but I think the game would probably need some modification prior to integration? Is there a process where a game can be modified by its author prior to submission based on feedback from OpenAI?
Respectfully, Nick Cantrell Twitter: @envi_uuv https://twitter.com/envi_uuv/
On Fri, Jan 6, 2017 at 10:53 AM, Trevor Blackwell notifications@github.com wrote:
We don't have a date for releasing the source code for the containers. We have to do some work to document the internals, and it would help us to understand what people want to do with them. Do you have a project in mind?
— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/openai/universe/issues/94#issuecomment-270976137, or mute the thread https://github.com/notifications/unsubscribe-auth/ABZN_tBn_9nMBBqcYQ_b8g43W_cjZ25Zks5rPo2vgaJpZM4Lb8Zb .
Seems like the actual question here is about the source code of universe docker images
. I've updated the title
@catherio, I looked and tried the following code with everything installed and dockers installed and running:
import gym
import universe # register the universe environments
env = gym.make('flashgames.DuskDrive-v0')
env.configure(remotes=1) # downloads and starts a flashgames runtime
observation_n = env.reset()
while True:
action_n = [[('KeyEvent', 'ArrowUp', True)] for ob in observation_n] # your agent here
observation_n, reward_n, done_n, info = env.step(action_n)
env.render()
I am getting the following error:
[2017-01-08 04:34:24,521] Making new env: flashgames.DuskDrive-v0
Traceback (most recent call last):
File "universe.py", line 2, in <module>
import universe # register the universe environments
File "/Users/shyamalsuhanachandra/universe.py", line 4, in <module>
env = gym.make('flashgames.DuskDrive-v0')
File "/usr/local/lib/python2.7/site-packages/gym/envs/registration.py", line 127, in make
return registry.make(id)
File "/usr/local/lib/python2.7/site-packages/gym/envs/registration.py", line 91, in make
spec = self.spec(id)
File "/usr/local/lib/python2.7/site-packages/gym/envs/registration.py", line 113, in spec
raise error.UnregisteredEnv('No registered env with id: {}'.format(id))
gym.error.UnregisteredEnv: No registered env with id: flashgames.DuskDrive-v0
What should I do?
Don't call your file universe.py
. Python will see that file and import it instead of the universe module.
Rename it to something else, and delete any file universe.pyc
in the same directory.
I changed the name and deleted the universe.pyc file and this is what I get:
iMac:~ shyamalsuhanachandra$ python universe-main.py
[2017-01-08 14:31:52,166] Making new env: flashgames.DuskDrive-v0
[2017-01-08 14:31:52,209] Writing logs to file: /tmp/universe-1735.log
Traceback (most recent call last):
File "universe-main.py", line 5, in <module>
env.configure(remotes=1) # downloads and starts a flashgames runtime
File "/usr/local/lib/python2.7/site-packages/gym/core.py", line 225, in configure
self._configure(*args, **kwargs)
File "/Users/shyamalsuhanachandra/openai_projects/universe/universe/vectorized/core.py", line 39, in _configure
super(Wrapper, self)._configure(**kwargs)
File "/usr/local/lib/python2.7/site-packages/gym/core.py", line 352, in _configure
return self.env.configure(*args, **kwargs)
File "/usr/local/lib/python2.7/site-packages/gym/core.py", line 225, in configure
self._configure(*args, **kwargs)
File "/Users/shyamalsuhanachandra/openai_projects/universe/universe/wrappers/render.py", line 18, in _configure
super(Render, self)._configure(**kwargs)
File "/Users/shyamalsuhanachandra/openai_projects/universe/universe/vectorized/core.py", line 39, in _configure
super(Wrapper, self)._configure(**kwargs)
File "/usr/local/lib/python2.7/site-packages/gym/core.py", line 352, in _configure
return self.env.configure(*args, **kwargs)
File "/usr/local/lib/python2.7/site-packages/gym/core.py", line 225, in configure
self._configure(*args, **kwargs)
File "/Users/shyamalsuhanachandra/openai_projects/universe/universe/wrappers/throttle.py", line 27, in _configure
super(Throttle, self)._configure(**kwargs)
File "/Users/shyamalsuhanachandra/openai_projects/universe/universe/vectorized/core.py", line 39, in _configure
super(Wrapper, self)._configure(**kwargs)
File "/usr/local/lib/python2.7/site-packages/gym/core.py", line 352, in _configure
return self.env.configure(*args, **kwargs)
File "/usr/local/lib/python2.7/site-packages/gym/core.py", line 225, in configure
self._configure(*args, **kwargs)
File "/Users/shyamalsuhanachandra/openai_projects/universe/universe/envs/vnc_env.py", line 193, in _configure
use_recorder_ports=record,
File "/Users/shyamalsuhanachandra/openai_projects/universe/universe/remotes/build.py", line 19, in build
n=n,
File "/Users/shyamalsuhanachandra/openai_projects/universe/universe/remotes/docker_remote.py", line 43, in __init__
self._assigner = PortAssigner(reuse=reuse)
File "/Users/shyamalsuhanachandra/openai_projects/universe/universe/remotes/docker_remote.py", line 149, in __init__
self.client, self.info = get_client()
File "/Users/shyamalsuhanachandra/openai_projects/universe/universe/remotes/docker_remote.py", line 143, in get_client
return docker.Client(base_url=host, version=client_api_version), info
File "/usr/local/lib/python2.7/site-packages/docker/client.py", line 99, in __init__
self._version = self._retrieve_server_version()
File "/usr/local/lib/python2.7/site-packages/docker/client.py", line 124, in _retrieve_server_version
'Error while fetching server API version: {0}'.format(e)
docker.errors.DockerException: Error while fetching server API version: ('Connection aborted.', error(61, 'Connection refused'))
What should I do?
This happens when Docker isn't running. Instructions to install and set up Docker are here: https://github.com/openai/universe#install-docker
Okay, great. Now, it is downloading. Is it possible to eliminate this downloading and extracting time with universe?
Once you have downloaded the docker image once, it will remain on your machine and you will not have to download it again.
I'm aware that releasing code of all the implemented Universe environments may be really labor-intensive so how about to provide us with a basic tutorial which explains how to create a new environment that can be integrated in Universe?
Thank you in advance for your answer.
Alessandro
Why is there no instructions in the README to set up the docker instance with openai-universe?