Chess Position Evaluator - V7 HULK

Ahmed Darwish | @engdarwish

Architecture

SE-ResNet-20 with Dual Head (Value + Policy)

Metric Value
Parameters 47,450,753
Best Val Loss 0.030174
Architecture SE-ResNet-20
Input 18x8x8 board tensor
Value Output [-1, 1] (tanh)
Policy Output 20,480 move logits (from-square x to-square x underpromotion)

Training Data

Source Size
Kaggle Chess Evaluations 12.9M positions (Stockfish evals)
Lichess 2023-10 2M moves from ELO 2000+ games

Quick Start

pip install torch python-chess huggingface_hub numpy
from inference import load_model, get_best_move
import chess

model = load_model()
value, moves = get_best_move(model, chess.STARTING_FEN, top_k=3)
print(value, moves)

See inference.py in this repo for the full, runnable example: board encoding, model definition, and legal-move-masked move ranking.

Files

File Purpose
model_weights.pt (190MB) Inference weights: use this to load the model
checkpoint.pt (569MB) Full training checkpoint (model + optimizer + scheduler state): only needed to resume training
config.json Architecture config
inference.py Minimal working inference example
training_curves.png Training/validation loss curves

Contact

eahmeddarwish@gmail.com GitHub

Downloads last month
75
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support