Coder Social home page Coder Social logo

minatar's People

Contributors

cloderic avatar edran avatar ercumentilhan avatar jessefarebro avatar kenjyoung avatar korymath avatar mkschleg avatar sparisi avatar strasserpatrick avatar tiantian1137 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

minatar's Issues

What are the maximum scores achievable in each of the environments?

I've really been enjoying working with MinAtar these couple of weeks and I was wondering, is there any way to figure out what is the maximum score in each of the games?

I'd like to normalize the scores in some of the plots (and average over games) to get more succinct trends. I also checked the paper but they're not mentioned.

Suggested max_episode_length

Nice environment!

Just wonder are there any suggested values for max_episode_length according to the previous runs? Or the environment will eventually terminate due to sticky actions? Thanks!

Compatibility with stable-baselines3

Hi, I am not sure that the repo is gym-compatible, as I get errors from stable-baselines3:

env = make_atari_env('MinAtar/Breakout-v0', n_envs=1, seed=0)
AttributeError: 'BaseEnv' object has no attribute 'get_action_meanings'
from stable_baselines3.common.env_checker import check_env
check_env(env)
AssertionError: The observation returned by the `reset()` method should be a single value, not a tuple

Speed of this repo

Hi, for Atari games, normally running 200M steps will cost 8-10 days. So, for this repo, how long it will take to run 200M steps?

Docs Request: PyPI addition

Before I begin, I think a compliment for this repo is that Stanford University is actually using this in its graduate-level CS234 Reinforcement Learning homeworks! ๐Ÿฅณ

Students are being instructed to manually git clone and pip install this repo locally. At first, I posed directly adding the GitHub repo to requirements.txt like so:

git+ssh://[email protected]/kenjyoung/MinAtar.git

I decided to take a look at PyPI, and saw MinAtar is already published there.

The request is: to update the README.md to instruct to users to install from PyPI, unless they're going to be contributing.

Gym compatible API

It would be really nice to have a Gym compatible API so that existing code can be applied to MinAtar directly.

WSL users import error

Hello

Users using the Windows Subsystem for Linux like me (I am using WLS 2), might run into issues using minatar's GUI.
I kept running into

Cannot load backend 'TkAgg' Which requires the 'tk' interactive framework, as 'headless' is currently running

After quite some efforts, the only working solution for me as been to follow those steps (launch an Xserver from Windows).

Hope that this will save some time to other WLS users!

Add Requirements.txt File

I was wondering if you can add a requirements.txt file to this repo. The purpose of this file would be to say which python packages you need to run this project. It also makes it more future proof since pip would know which package versions it needs to install in case of the dependency APIs change.

The easiest way to accomplish this is to run pip freeze > requirements.txt. It might add dependencies that are not needed, but I think the benefits outweigh the cons.

Thanks!

`register_envs` overwrites names of original Atari Envs

In the register_envs function, the name given to the classes does not include "MinAtar/". Because of this, if you call register_envs, it will overwrite the names of the original ALE games. This also means that calling gym.make("MinAtar/Breakout-v0") or any other game doesn't work since there are no registered envs starting with "MinAtar". The bug is in

MinAtar/minatar/gym.py

Lines 58 to 70 in 2a12fc8

def register_envs():
for game in ["asterix", "breakout", "freeway", "seaquest", "space_invaders"]:
name = game.title().replace('_', '')
register(
id="{}-v0".format(name),
entry_point="minatar.gym:BaseEnv",
kwargs=dict(game=game, display_time=50, use_minimal_action_set=False),
)
register(
id="{}-v1".format(name),
entry_point="minatar.gym:BaseEnv",
kwargs=dict(game=game, display_time=50, use_minimal_action_set=True),
)

It can be fixed by just modifying "id="{}-v0".format(name)," to "id="MinAtar/{}-v0".format(name)," for both v0 and v1.

I can open a PR for this if you like.

Extracting example dependencies to `extra_require`

It is possible to install the package directly from GitHub which simplifies a lot using it with a pip install https://github.com/kenjyoung/MinAtar.git (I'm actually doing it with poetry with a poetry add git+https://github.com/kenjyoung/MinAtar.git but that's mostly equivalent).

However because of the way the setup.py is written this also installs the dependencies for the examples (especially torch which is a behemoth). Would you consider removing them ?

A way to do it simply would be to create an extra section to group the examples dependencies, something like:

extras_require = {
     'examples':  ["torch"]
 }

I could contribute the change if you think it makes sense.

deterministic versions of environments

Hi,

I'd like to ask about how to make minatar environments deterministic for research on MBRL algorithms such as MuZero, which are designed for deterministic environments.

Apart from setting the sticky_action_prob to 0.0, is there anything I still need to change to get deterministic transitions (stochastic initialization is fine)?

It seems that for space_invaders and breakout, there is no stochasticity in the transition. Can you confirm? What would be your advice to make the other environments' transitions deterministic?

Thanks in advance for your answers.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.