All Projects → pekaalto → Sc2atari

pekaalto / Sc2atari

Convert sc2 environment to gym-atari and play some mini-games

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Sc2atari

Tensorflow Tutorial
TensorFlow and Deep Learning Tutorials
Stars: ✭ 748 (+3836.84%)
Mutual labels:  reinforcement-learning
Coursera
Quiz & Assignment of Coursera
Stars: ✭ 774 (+3973.68%)
Mutual labels:  reinforcement-learning
Basic reinforcement learning
An introductory series to Reinforcement Learning (RL) with comprehensive step-by-step tutorials.
Stars: ✭ 826 (+4247.37%)
Mutual labels:  reinforcement-learning
Reinforcement Learning With Tensorflow
Simple Reinforcement learning tutorials, 莫烦Python 中文AI教学
Stars: ✭ 6,948 (+36468.42%)
Mutual labels:  reinforcement-learning
Notes
Resources to learn more about Machine Learning and Artificial Intelligence
Stars: ✭ 766 (+3931.58%)
Mutual labels:  reinforcement-learning
Chatbot cn
基于金融-司法领域(兼有闲聊性质)的聊天机器人,其中的主要模块有信息抽取、NLU、NLG、知识图谱等,并且利用Django整合了前端展示,目前已经封装了nlp和kg的restful接口
Stars: ✭ 791 (+4063.16%)
Mutual labels:  reinforcement-learning
Awesome Artificial Intelligence
A curated list of Artificial Intelligence (AI) courses, books, video lectures and papers.
Stars: ✭ 6,516 (+34194.74%)
Mutual labels:  reinforcement-learning
Aim
Aim — a super-easy way to record, search and compare 1000s of ML training runs
Stars: ✭ 894 (+4605.26%)
Mutual labels:  reinforcement-learning
Hands On Meta Learning With Python
Learning to Learn using One-Shot Learning, MAML, Reptile, Meta-SGD and more with Tensorflow
Stars: ✭ 768 (+3942.11%)
Mutual labels:  reinforcement-learning
Tensorlayer
Deep Learning and Reinforcement Learning Library for Scientists and Engineers 🔥
Stars: ✭ 6,796 (+35668.42%)
Mutual labels:  reinforcement-learning
Machine Learning Curriculum
💻 Make machines learn so that you don't have to struggle to program them; The ultimate list
Stars: ✭ 761 (+3905.26%)
Mutual labels:  reinforcement-learning
Btgym
Scalable, event-driven, deep-learning-friendly backtesting library
Stars: ✭ 765 (+3926.32%)
Mutual labels:  reinforcement-learning
Tradinggym
Trading and Backtesting environment for training reinforcement learning agent or simple rule base algo.
Stars: ✭ 813 (+4178.95%)
Mutual labels:  reinforcement-learning
Deeprl Tutorials
Contains high quality implementations of Deep Reinforcement Learning algorithms written in PyTorch
Stars: ✭ 748 (+3836.84%)
Mutual labels:  reinforcement-learning
Pygame Learning Environment
PyGame Learning Environment (PLE) -- Reinforcement Learning Environment in Python.
Stars: ✭ 828 (+4257.89%)
Mutual labels:  reinforcement-learning
Pytorch Rl
Deep Reinforcement Learning with pytorch & visdom
Stars: ✭ 745 (+3821.05%)
Mutual labels:  reinforcement-learning
Super Mario Bros A3c Pytorch
Asynchronous Advantage Actor-Critic (A3C) algorithm for Super Mario Bros
Stars: ✭ 775 (+3978.95%)
Mutual labels:  reinforcement-learning
Bombora
My experimentations with Reinforcement Learning in Pytorch
Stars: ✭ 18 (-5.26%)
Mutual labels:  reinforcement-learning
Textworld
​TextWorld is a sandbox learning environment for the training and evaluation of reinforcement learning (RL) agents on text-based games.
Stars: ✭ 895 (+4610.53%)
Mutual labels:  reinforcement-learning
Deeprec
推荐、广告工业界经典以及最前沿的论文、资料集合/ Must-read Papers on Recommendation System and CTR Prediction
Stars: ✭ 822 (+4226.32%)
Mutual labels:  reinforcement-learning

Info & References

Here deepmind's sc2 environment is simplified and converted to OpenAI's gym environment so that any existing atari-codes can be applied to simplified sc2-minigames.

The FullyConv -policy (smaller version) from https://deepmind.com/documents/110/sc2le.pdf is implemented and plugged into OpenAI-Baselines a2c implementation.

With this the 3 easiest mini-games can be "solved" quickly.

See also: https://github.com/islamelnabarawy/sc2agents and https://github.com/islamelnabarawy/sc2gym for similar project (stuff here was done independently but later).

Results

Map Episodes Avg score Max score Deepmind avg Deepmind max
MoveToBeacon 32*200 25 30 26 45
CollectMineralShards** 32*5000 73 100 103 134
DefeatRoaches** 48*4000 46 260 100 355

**CollectMineralShards and DefeatRoaches performance was still improving slightly

  • Avg and max are from the last n_envs*100 episodes.
  • For all maps used the parameters seen in the repo except n_envs=32 (48 in DefeatRoaches).
  • Episodes is the total number of playing-episodes over all environments.

Deepmind scores are shown for comparison. They are the FullyConv ones reported in the release paper.

How to run

Install the requirements (Baselines etc) below, clone the repo and do

python run_sc2_a2c.py --map_name MoveToBeacon --n_envs 32

This won't save any files. Some results are printed to stdout.

Requirements

  • Python 3 (will NOT work with python 2)
  • Open AI's baselines (tested with 0.1.4) (Can also skip the installation and dump the baselines folder inside this repo, most of the dependencies in baselines are not really if use only a2c)
  • pysc2 (tested with v1.2)
  • Tensorflow (tested with 1.3.0)
  • Other standard python packages like numpy etc.

Notes

Here we use only the screen-player-relative observation from the original observation space. Action space is limited only to one action: Select army followed by Attack Move (same for the author when he plays sc2).

With this slice from observation/action space we can make agent to learn the 3 mini-games mentioned above. However for anything more complicated it's not enough.

The action/obs-space limitation makes the problem very much easier, faster and less general/interesting. Because of this and the differences in the network and hyperparamteres the scores are not directly comparable with the release-paper.

The achieved scores here are considerably lower than the Deepmind results which suggests that the limited action space is not enough to achieve optimal performance (e.g micro against roaches or using two marines separately in shards).

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].