Skip to content

JAX/Haiku implementation of "Auction Learning as a Two-Player Game"

License

Notifications You must be signed in to change notification settings

degregat/two-player-auctions

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Auction Learning as a Two-Player Game in JAX

DISCLAIMER: This code is a work in progress and has passed preliminary checks, but might still contain bugs. Thorough testing is yet to come, feedback and questions are very welcome.

This repository is a JAX/Haiku implementation of the paper "Auction Learning as a Two-Player Game" (extended arXiv version). It uses an architecture inspired by GANs to learn (near-)optimal multi-bidder, multi-item auctions.

The GAN example from dm-haiku was used as a starting point.

Getting started

Prerequisites

Usage

To run the auction experiment with specific parameters:

  python algnet.py with num_steps=100 misr_updates=50 misr_reinit_iv=500 misr_reinit_lim=1000 batch_size=100 bidders=5 items=10 net_width=200 net_depth=7 num_test_samples=20

Logging and Artifacts

The project uses the Sacred framework for experiment tracking.

  • Logs and experiment metadata are saved to an SQLite database named results.db.
  • The state parameters of the last trained model are saved to tpal_state_params.pkl.

Implementation notes

This module is kept simple to make it suitable for use with computational experiment frameworks, or as a component in larger systems. Black is used as a code formatter.

Funding

This project is funded through the NGI Assure Fund, a fund established by NLnet with financial support from the European Commission's Next Generation Internet program. Learn more on the NLnet project page.

About

JAX/Haiku implementation of "Auction Learning as a Two-Player Game"

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%