Rushisagar221/pokerforge-bots

🤗 Hugging Face sourcereinforcement-learningmit1 MBother✓ 4 checksumsupdated today
Submit in one command

Run it next to your model folder. It makes the torrent, checks your files against Hugging Face, and submits it. You just start seeding and paste your key from your account. It only reads your files and never changes them. Read the script first if you like.

curl -fsSL https://pirateface.co/package.sh | bash -s -- --repo Rushisagar221/pokerforge-bots ./model-folder
Needs a seeder →

PokerForge PPO Poker Bots

This repository contains runtime artifacts for PokerForge, a full-stack AI poker platform built around heads-up No-Limit Texas Hold'em abstractions.

Files

  • models/medium/ppo_medium_final.zip - PPO medium bot trained for 1M timesteps vs easy.
  • models/hard/ppo_hard_final.zip - PPO hard bot trained for 5M timesteps vs frozen medium.
  • models/*/best_model.zip - best checkpoints from training/evaluation callbacks.
  • reports/evaluation_report.* - latest reproducible bot-vs-bot evaluation report.
  • reports/representative_hands.json - replay-ready sample hand logs for the frontend dashboard.

Runtime Contract

  • Framework: Stable-Baselines3 PPO
  • Observation space: Box(18,)
  • Action space: Discrete(3) where 0=fold, 1=check/call, 2=raise
  • Expected local paths inside PokerForge:
    • backend/data/models/medium/ppo_medium_final.zip
    • backend/data/models/hard/ppo_hard_final.zip

Evaluation Summary

The latest evaluation report is included under reports/. The current honest finding is that medium and hard both beat easy, while hard only shows a marginal, statistically weak edge over medium. This is attributed mainly to the limited 3-action abstraction creating a ceiling on behavioral differentiation.

Reproduce In PokerForge

cd backend
python tools/download_models.py --repo-id Rushisagar221/pokerforge-bots --if-missing
python server.py

Manifest

{
  "repo_id": "Rushisagar221/pokerforge-bots",
  "generated_at": "2026-04-23T14:08:03.040902",
  "artifacts": [
    {
      "path": "models/medium/ppo_medium_final.zip",
      "bytes": 162131,
      "sha256": "b8ed8a7217de2bc790af71a0dbdc6a5a9fd695fcf541351bb965549d3c20c126"
    },
    {
      "path": "models/medium/best_model.zip",
      "bytes": 162116,
      "sha256": "31d26001f967b7d221af016ec1a4c5b1a33f32b71630cb2eea3bf9c8a2e59956"
    },
    {
      "path": "models/hard/ppo_hard_final.zip",
      "bytes": 165087,
      "sha256": "ac3b23fd8188713cd25bcbd1585cfc213d1a05b6254c56ba59ee7119de5896e1"
    },
    {
      "path": "models/hard/best_model.zip",
      "bytes": 165087,
      "sha256": "ac3b23fd8188713cd25bcbd1585cfc213d1a05b6254c56ba59ee7119de5896e1"
    },
    {
      "path": "reports/evaluation_report.json",
      "bytes": 51143,
      "sha256": "1ce452e2e57e67965f13337cb12a736cf658467e3db70ea20b52eaeddb67532a"
    },
    {
      "path": "reports/evaluation_report.md",
      "bytes": 2486,
      "sha256": "2ed28899b86090b97bdacbae1273c4366202344e42ab8b93013cdc260db378bb"
    },
    {
      "path": "reports/representative_hands.json",
      "bytes": 64864,
      "sha256": "33054b06fbfe819dbfb98faafa32534ff149bbd254f9250fb405786fbd2ecaf3"
    }
  ]
}