All Projects β†’ TorchCraft β†’ Torchcraft

TorchCraft / Torchcraft

Licence: other
Connecting Torch to StarCraft

Projects that are alternatives of or similar to Torchcraft

Machine Learning Curriculum
πŸ’» Make machines learn so that you don't have to struggle to program them; The ultimate list
Stars: ✭ 761 (-43.25%)
Mutual labels:  reinforcement-learning, torch
Gym Electric Motor
Gym Electric Motor (GEM): An OpenAI Gym Environment for Electric Motors
Stars: ✭ 95 (-92.92%)
Mutual labels:  reinforcement-learning
Applied Ml
πŸ“š Papers & tech blogs by companies sharing their work on data science & machine learning in production.
Stars: ✭ 17,824 (+1229.16%)
Mutual labels:  reinforcement-learning
Rl Movie Recommender
The purpose of our research is to study reinforcement learning approaches to building a movie recommender system. We formulate the problem of interactive recommendation as a contextual multi-armed bandit.
Stars: ✭ 93 (-93.06%)
Mutual labels:  reinforcement-learning
Cs234
My Solution to Assignments of CS234
Stars: ✭ 91 (-93.21%)
Mutual labels:  reinforcement-learning
Cs234 Reinforcement Learning Winter 2019
My Solutions of Assignments of CS234: Reinforcement Learning Winter 2019
Stars: ✭ 93 (-93.06%)
Mutual labels:  reinforcement-learning
Safeopt
Safe Bayesian Optimization
Stars: ✭ 90 (-93.29%)
Mutual labels:  reinforcement-learning
Tf texture net
TensorFlow implementation of DmitryUlyanov/texture_nets
Stars: ✭ 96 (-92.84%)
Mutual labels:  torch
Starcraft Ai
Reinforcement Learning and Transfer Learning based StarCraft Micromanagement
Stars: ✭ 95 (-92.92%)
Mutual labels:  reinforcement-learning
Deep learning study
A curated list of Deep Learning
Stars: ✭ 93 (-93.06%)
Mutual labels:  reinforcement-learning
Ppo
Proximal Policy Optimization implementation with TensorFlow
Stars: ✭ 92 (-93.14%)
Mutual labels:  reinforcement-learning
Grad Cam
🌈 πŸ“· Gradient-weighted Class Activation Mapping (Grad-CAM) Demo
Stars: ✭ 91 (-93.21%)
Mutual labels:  torch
Rlenvs
Reinforcement learning environments for Torch7
Stars: ✭ 94 (-92.99%)
Mutual labels:  reinforcement-learning
Deep Learning Drizzle
Drench yourself in Deep Learning, Reinforcement Learning, Machine Learning, Computer Vision, and NLP by learning from these exciting lectures!!
Stars: ✭ 9,717 (+624.61%)
Mutual labels:  reinforcement-learning
Ngsim env
Learning human driver models from NGSIM data with imitation learning.
Stars: ✭ 96 (-92.84%)
Mutual labels:  reinforcement-learning
Grid2op
Grid2Op a testbed platform to model sequential decision making in power systems.
Stars: ✭ 91 (-93.21%)
Mutual labels:  reinforcement-learning
60 days rl challenge
60_Days_RL_ChallengeδΈ­ζ–‡η‰ˆ
Stars: ✭ 92 (-93.14%)
Mutual labels:  reinforcement-learning
Pytorch sac ae
PyTorch implementation of Soft Actor-Critic + Autoencoder(SAC+AE)
Stars: ✭ 94 (-92.99%)
Mutual labels:  reinforcement-learning
Researchpapernotes
Initiative to read research papers
Stars: ✭ 97 (-92.77%)
Mutual labels:  reinforcement-learning
Seqgan tensorflow
SeqGAN tensorflow implementation
Stars: ✭ 96 (-92.84%)
Mutual labels:  reinforcement-learning

TorchCraft

A bridge between Torch and StarCraft.

A general overview of the system (and motivations for using TorchCraft) can be found in:

Synnaeve, G., Nardelli, N., Auvolat, A., Chintala, S., Lacroix, T., Lin, Z., Richoux, F. and Usunier, N., 2016. TorchCraft: a Library for Machine Learning Research on Real-Time Strategy Games - arXiv:1611.00625.

Installation

Please follow the installation instructions.

You will need to have a license of StarCraft: Brood War.

TorchCraft is a BWAPI module that sends StarCraft data out over a ZMQ connection. This lets you parse StarCraft data and interact with BWAPI from anywhere. The TorchCraft client should be installed from C++, Python, or Lua. We provide off the shelf solutions for Python and Lua:

Requirements:

  • zstd-devel 1.1.4
  • zeromq 4+

Remember to init submodules: git submodule update --init --recursive
Python setup: pip install pybind11 && pip install .
Lua setup (depends on torch7): luarocks make *.rockspec

We provide an example C++ CMake project in examples/cpp/

The hardest part of installing the server is actually setting up starcraft. We detail three ways of doing this:

Running TorchCraft

See examples/ for a list of scripts that you can try. In all cases, the $server_ip is the ip address of the machine running StarCraft.

StarCraft Server

Do whichever was installed:

Windows / WINE

  1. Open bwapi.ini and set ai = PATH\TO\BWEnv.dll (or copy ours from config/bwapi.in)
  2. Start ChaosLauncher, enable BWAPI DLL Injector [Release].
  3. Press Start.

WINE

  1. Open bwapi.ini and set ai = PATH\TO\BWEnv.dll (or copy
  2. wine bwheadless.exe -e $STARCRAFT/StarCraft.exe -l $STARCRAFT/bwapi-data/BWAPI.dll --headful as detailed in the WINE docs

OpenBW

Something like: OPENBW_ENABLE_UI=0 BWAPI_CONFIG_AI__RACE=Terran BWAPI_CONFIG_AI__AI="BWEnv/build/BWEnv.so" BWAPI_CONFIG_AUTO_MENU__AUTO_MENU="SINGLE_PLAYER" BWAPI_CONFIG_AUTO_MENU__MAP=maps/micro/m5v5_c_far.scm BWAPI_CONFIG_AUTO_MENU__GAME_TYPE="USE MAP SETTINGS" TORCHCRAFT_PORT=11111 BWAPILauncher

TorchCraft Client

$ cd examples
$ th lua/simple_dll.lua -t $server_ip
$ python py/example.py -t $server_ip

Other Documentation

Citation

Please cite the arXiv paper if you use TorchCraft in your work:

@article{synnaeve2016torchcraft,
  title={TorchCraft: a Library for Machine Learning Research on Real-Time Strategy Games},
  author={Synnaeve, Gabriel and Nardelli, Nantas and Auvolat, Alex and Chintala, Soumith and Lacroix, Timoth{\'e}e and Lin, Zeming and Richoux, Florian and Usunier, Nicolas},
  journal={arXiv preprint arXiv:1611.00625},
  year={2016}
}

Contributing

See Contributing

Also check out the code structure and PR process

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