Skip to content

NLH Poker AI based on Reinforcement Learning (Q Learning, Deep Q Learning, A2C).

Notifications You must be signed in to change notification settings

CyanFi/PyPokerEngine

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NLH Poker Reinforcement Learning agents

Acknowledgement

This project is a course project of ESTR3108 in CUHK. It is based on PyPokerEngine, detailed docs on env could be found at its doc site.

Preliminaries

# Game environment
pip install PyPokerEngine
# Pytorch
pip install torch
# Process the result
pip install scipy

Run

# Train AI agents
python train.py

# Test a model or just play a game
python test.py

Agent list:

  • A2C Player
  • DQN Player
  • Q-Learning Agent
  • Card Player
  • Honest Player
  • Random Player
  • AllCall Player
  • Human Player

Directory Structure

Dir Tree

Train Example

An example figure oczraining process. A2C Training

best configuration

  • LR=1e-4
  • gamma=0.95
  • Neural Network: 8->128->8, relu
  • Reward: No everage, /150

About

NLH Poker AI based on Reinforcement Learning (Q Learning, Deep Q Learning, A2C).

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 100.0%