All Projects → dylandjian → retro-contest-sonic

dylandjian / retro-contest-sonic

Licence: other
World Models applied to the Open AI Sonic Retro Contest

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to retro-contest-sonic

laravel-scout-sonic
Sonic driver for Laravel Scout
Stars: ✭ 47 (-36.49%)
Mutual labels:  sonic
psonic
Sonic is a super fast auto suggestion engine built by the team at crisp.chat, a customer engagement platform. its built in Rust and they officially support a javascript client, but if you want to use sonic via php, this is the library that you can look for. Completely unit tested, and adheres to modern coding standards, and offers a clean api to…
Stars: ✭ 90 (+21.62%)
Mutual labels:  sonic
python-sonic-client
sonic search backend client in python
Stars: ✭ 45 (-39.19%)
Mutual labels:  sonic
sonic-gms2
A GameMaker Studio 2 template project used for constructing games based on the Sonic the Hedgehog series.
Stars: ✭ 18 (-75.68%)
Mutual labels:  sonic
sonix
An Elixir client for Sonic Search
Stars: ✭ 56 (-24.32%)
Mutual labels:  sonic
outrun
A Sonic Runners custom server.
Stars: ✭ 68 (-8.11%)
Mutual labels:  sonic
Sonic-1-2-2013-Decompilation
Sonic 1/2 (2013) Decompilation for New 3DS
Stars: ✭ 41 (-44.59%)
Mutual labels:  sonic
poly-commit
A Rust library for polynomial commitments
Stars: ✭ 170 (+129.73%)
Mutual labels:  sonic
wi
Installer for Python Wheels
Stars: ✭ 17 (-77.03%)
Mutual labels:  sonic
dellemc.enterprise sonic
Ansible Network Collection for Enterprise SONiC Distribution by Dell Technologies
Stars: ✭ 26 (-64.86%)
Mutual labels:  sonic
HedgeLib
A C++ library and collection of tools that aims to make modding games in the Sonic the Hedgehog franchise easier.
Stars: ✭ 63 (-14.86%)
Mutual labels:  sonic
XinFramework
Android 快速开发框架 总结以往开发结合三方项目 不断更新
Stars: ✭ 21 (-71.62%)
Mutual labels:  sonic

retro-contest-sonic

A student implementation of the World Models paper with documentation.

Ongoing project.

TODO

CURRENTLY DOING

DONE

  • β-VAE for the Visual model
  • MDN-LSTM for the Memory model
  • CMA-ES for the Controller model
  • Training pipelines for the 3 models
  • Human recordings to generate data
  • MongoDB to store data
  • LSTM and VAE trained "successfully"
  • Multiprocessing of the evaluation of a set of parameters given by the CMA-ES
  • Submit learnt agents

LONG TERM PLAN ?

  • Cleaner code, more optimized and documented
  • Game agnostic
  • Continue training / testing better architectures
  • Online training instead of using a database

How to launch the scripts

  • Install the modules in the requirements.txt, pytorch 0.4 and mongoDB
  • Buy or find the ROMs of Sonic The Hedgehog and install them with retro-gym.

Once you've done that, you will need to train the 3 components :
python train_vae.py
python train_lstm.py --folder=xxx
python train_controller.py --folder=xxx where xxx is the folder number created in saved_models/

While training the VAE and the LSTM, pictures will be saved in a folder results/

Once you're done, you can use your best trained controller to play a random level using : python play_best --folder=xxx
Dont forget to change the RENDER_TICK in const.py to 1, so you can see what's happening.

Resources

Differences with the official paper

  • No temperature
  • No flipping of the loss sign during training (to encourage exploration)
  • β-VAE instead of VAE
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].