Code Monkey home page Code Monkey logo

hr_edl_experiments's Introduction

Hindsight Rationality, and Efficient Deviation Types and Learning Experiments

Experiment code for Hindsight and Sequential Rationality of Correlated Play and Efficient Deviation Types and Learning for Hindsight Rationality in Extensive-Form Games conference papers (AAAI-21 and ICML 2021, respectively).

This repository has a number of different components that work together to generate the experimental results.

The pipeline begins with hr_edl. This is C++ code built over OpenSpiel that defines the experiments. See hr_edl/README.md for more information.

The hr_edl code allows us to run experiments, but experiments are run with help from the Python3 library, hr_edl_data. Run pip install . to install it. With hr_edl_data installed, you can run bin/run_experiment.py to run an experiment.

The experiment configurations used in the papers are defined in Makefile. Assuming that hr_edl_data is installed, running make should compile hr_edl and run all experiments, updating data files in data as necessary, and depositing Numpy data files in results.

Finally, the Python Jupyter notebooks in notebooks process the Numpy data files into the final results, which are also saved in results.

Virtual Machines and Containers

A Vagrant virtual machine configuration to help run these experiments is defined in Vagrantfile. If you already have Python3 installed though, you may not need to use it. Typically, the most onerous part of the installation procedure is building hr_edl and its dependencies. For this, you can use the Singularity container defined by hr_edl/Singularity.def. Once you have Singularity installed or you are using the Vagrant virtual machine, you can run

sudo singularity build ./hr_edl.sif Singularity.def

to create a Singularity image. Then you can run

singularity exec hr_edl.sif /code/build.optimized/bin/<command> [command options]

to run an hr_edl executable inside the container. bin/run_experiment.py has a --sif option so you can specify a container image in which the experiment should be run. You can set the variable SIF and HR_EDL_DIR =/code in Makefile (either in the file or in the command like make SIF=my_image.sif HR_EDL_DIR=/code) to run all experiments in a given container image.

hr_edl_experiments's People

Contributors

dmorrill10 avatar

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.