Maxlegrec commited on
Commit
b58ad55
·
verified ·
1 Parent(s): 41c50d9

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +15 -3
README.md CHANGED
@@ -10,7 +10,8 @@ library_name: transformers
10
 
11
  # ChessBot Chess Model
12
 
13
- This is a ChessBot model for chess move prediction and position evaluation.
 
14
 
15
  ## Model Description
16
 
@@ -32,17 +33,20 @@ model = model.to(device)
32
  # Example usage
33
  fen = "rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1"
34
 
35
- # Get the best move
36
  move = model.get_move_from_fen_no_thinking(fen, T=0.1, device=device)
37
  print(f"Policy-based move: {move}")
 
38
 
39
  # Get the best move using value analysis
40
  value_move = model.get_best_move_value(fen, T=0, device=device)
41
  print(f"Value-based move: {value_move}")
 
42
 
43
  # Get position evaluation
44
  position_value = model.get_position_value(fen, device=device)
45
  print(f"Position value [black_win, draw, white_win]: {position_value}")
 
46
 
47
  # Get move probabilities
48
  probs = model.get_move_from_fen_no_thinking(fen, T=1, device=device, return_probs=True)
@@ -50,6 +54,12 @@ top_moves = sorted(probs.items(), key=lambda x: x[1], reverse=True)[:5]
50
  print("Top 5 moves:")
51
  for move, prob in top_moves:
52
  print(f" {move}: {prob:.4f}")
 
 
 
 
 
 
53
  ```
54
 
55
  ## Requirements
@@ -61,6 +71,8 @@ for move, prob in top_moves:
61
 
62
  ## Model Architecture
63
 
 
 
64
  - **Transformer layers**: 10
65
  - **Hidden size**: 512
66
  - **Feed-forward size**: 736
@@ -69,7 +81,7 @@ for move, prob in top_moves:
69
 
70
  ## Training Data
71
 
72
- This model was trained on chess game data to learn optimal move selection and position evaluation.
73
 
74
  ## Limitations
75
 
 
10
 
11
  # ChessBot Chess Model
12
 
13
+ This is a ChessBot model for chess move prediction and position evaluation. This model is way worse than stockfish. It is better than most humans however.
14
+ For stronger play, reducing temperature T (lower is stronger) is suggested.
15
 
16
  ## Model Description
17
 
 
33
  # Example usage
34
  fen = "rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1"
35
 
36
+ # Sample move from policy
37
  move = model.get_move_from_fen_no_thinking(fen, T=0.1, device=device)
38
  print(f"Policy-based move: {move}")
39
+ #e2e4
40
 
41
  # Get the best move using value analysis
42
  value_move = model.get_best_move_value(fen, T=0, device=device)
43
  print(f"Value-based move: {value_move}")
44
+ #e2e4
45
 
46
  # Get position evaluation
47
  position_value = model.get_position_value(fen, device=device)
48
  print(f"Position value [black_win, draw, white_win]: {position_value}")
49
+ #[0.2318, 0.4618, 0.3064]
50
 
51
  # Get move probabilities
52
  probs = model.get_move_from_fen_no_thinking(fen, T=1, device=device, return_probs=True)
 
54
  print("Top 5 moves:")
55
  for move, prob in top_moves:
56
  print(f" {move}: {prob:.4f}")
57
+ #Top 5 moves:
58
+ # e2e4: 0.9285
59
+ # d2d4: 0.0712
60
+ # g1f3: 0.0001
61
+ # e2e3: 0.0000
62
+ # c2c3: 0.0000
63
  ```
64
 
65
  ## Requirements
 
71
 
72
  ## Model Architecture
73
 
74
+ The architecture is strongly inspired from the LCzero project. Although written in pytorch.
75
+
76
  - **Transformer layers**: 10
77
  - **Hidden size**: 512
78
  - **Feed-forward size**: 736
 
81
 
82
  ## Training Data
83
 
84
+ This model was trained on training data from the LCzero project. It consists of around 750M chess positions. I will publish the training dataset very soon.
85
 
86
  ## Limitations
87