aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/cnn_train.py2
-rw-r--r--src/pptdb.c16
2 files changed, 9 insertions, 9 deletions
diff --git a/src/cnn_train.py b/src/cnn_train.py
index 111aa76..4ba0a0b 100644
--- a/src/cnn_train.py
+++ b/src/cnn_train.py
@@ -1,4 +1,4 @@
-# train5.py, train a small CNN to recognise winning Tak positions
+# cnn_train.py, train a small CNN to recognise winning Tak positions
#
# Copyright (C) 2021, tslil clingman
#
diff --git a/src/pptdb.c b/src/pptdb.c
index 8684c47..79f60c5 100644
--- a/src/pptdb.c
+++ b/src/pptdb.c
@@ -29,8 +29,6 @@ uint64_t heights[16];
FILE *training_fh = NULL;
float max_flats, outcome_black;
-const int max_depth = 6;
-
static void
write_input(const int dx, const int dy, const uint8_t swap) {
// Two numbers for flats remaining
@@ -41,7 +39,7 @@ write_input(const int dx, const int dy, const uint8_t swap) {
// Write the board layers
float val;
int col, row;
- for (uint8_t depth = 0; depth < max_depth; depth++) {
+ for (uint8_t depth = 0; depth < board_size + 1; depth++) {
row = (dy>0)?-1:board_size;
for (int i = 0; i < board_size; i++) {
row += dy;
@@ -134,11 +132,13 @@ parse_line(const char *pt, const ssize_t read) {
}
}
}
- // Generate training data, not too early in the game, all
- // orientations
- if (generate && ply + 3 >= total_plies) {
-#define RANDPM1 ((rand()&1)?-1:+1)
- write_input(RANDPM1, RANDPM1, rand()&1);
+ // Generate training data, not too early in the game and not at
+ // the end, under all eight symmetries of the board
+ if (generate && ply < total_plies && ply + 2 >= total_plies) {
+ write_input(+1, +1, 1); write_input(+1, +1, 0);
+ write_input(+1, -1, 1); write_input(+1, -1, 0);
+ write_input(-1, +1, 1); write_input(-1, +1, 0);
+ write_input(-1, -1, 1); write_input(-1, -1, 0);
}
// Parse next action
while (idx<read && pt[idx++]!=',');