.. raw:: html This repo is still pre-release. The documentation is still incomplete. ######## megastep ######## **megastep** helps you build 1-million FPS reinforcement learning environments *on a single GPU*. Examples ******** **Explorer**: 180k FPS, :github:`100 lines of Python `. .. raw:: html **Deathmatch**: 1.2m FPS, :github:`150 lines of Python `. .. raw:: html Quoted FPS are for a single RTX 2080 Ti and random actions; visualizations are with a 256-neuron LSTM. Features ******** * Run thousands of environments in parallel, entirely on the GPU. * Write your own environments using PyTorch alone, no CUDA necessary. * 1D observations. The world is more interesting horizontally than vertically. * One or many agents, and one or many cameras per agent. * A database of 5000 home layouts to explore, based on `Cubicasa5k `_. * A minimal, modular library. Not a framework. * (In progress) Extensive documentation, tutorials and explanations. .. _install: Install ******* If you're working on an Ubuntu machine with CUDA already set up and Python 3.6 or higher, it should be as simple as .. code-block:: shell pip install megastep[cubicasa,rebar] To check everything works, run :: from megastep.demo import * env = explorer.Explorer(1) agent = Agent(env).cuda() demo(env=env, agent=agent, length=64) **The first time you import megastep on your machine will be slow** as it compiles the C++ side of things. Getting Started *************** Having :ref:`installed megastep `, you have a few choices. If you'd like something comprehensive, read :ref:`Writing a Minimal Environment `. If you'd like a more self-propelled introduction, read :ref:`Playing With Megastep `. Or, you can simply browse the :github:`demos `. .. _support: Support ******* I am an independent researcher, so just how much support I can give is limited. But you're absolutely welcome to `open a GitHub issue `_ or `see if I'm around on the RL Discord `_. At the very least I'll try to point you in the right direction. You can also find me `on Twitter `_ or you can `email me `_. Of the options, a GitHub issue is likely the best choice as if you have a question, there are likely other people out there with the same exact question! And if they don't, maybe someone else will have an answer for you. Index ***** .. toctree:: :maxdepth: 2 tutorials/index concepts faq .. toctree:: :maxdepth: 3 reference