From 8fb208598b496cf79b8f457b064eb9800ca59cf3 Mon Sep 17 00:00:00 2001 From: Tomasz Sobczyk Date: Fri, 23 Oct 2020 22:19:50 +0200 Subject: [PATCH] pass shuffle flag in the constructor --- src/learn/learn.cpp | 11 +++-------- src/learn/sfen_reader.h | 8 ++------ 2 files changed, 5 insertions(+), 14 deletions(-) diff --git a/src/learn/learn.cpp b/src/learn/learn.cpp index 328f646a..fa447a77 100644 --- a/src/learn/learn.cpp +++ b/src/learn/learn.cpp @@ -383,11 +383,12 @@ namespace Learner LearnerThink( const std::vector& filenames, + bool shuffle, uint64_t thread_num, const std::string& seed ) : prng(seed), - sr(filenames, SfenReaderMode::Cyclic, thread_num, std::to_string(prng.next_random_seed())), + sr(filenames, shuffle, SfenReaderMode::Cyclic, thread_num, std::to_string(prng.next_random_seed())), learn_loss_sum{} { save_only_once = false; @@ -403,11 +404,6 @@ namespace Learner total_done = 0; } - void set_do_shuffle(bool v) - { - sr.set_do_shuffle(v); - } - void learn(uint64_t epochs); @@ -1150,7 +1146,7 @@ namespace Learner Eval::NNUE::set_batch_size(nn_batch_size); Eval::NNUE::set_options(nn_options); - LearnerThink learn_think(filenames, thread_num, seed); + LearnerThink learn_think(filenames, !no_shuffle, thread_num, seed); if (newbob_decay != 1.0 && !Options["SkipLoadingEval"]) { // Save the current net to [EvalSaveDir]\original. @@ -1165,7 +1161,6 @@ namespace Learner // Reflect other option settings. learn_think.eval_limit = eval_limit; learn_think.save_only_once = save_only_once; - learn_think.set_do_shuffle(!no_shuffle); learn_think.reduction_gameply = reduction_gameply; learn_think.newbob_decay = newbob_decay; diff --git a/src/learn/sfen_reader.h b/src/learn/sfen_reader.h index 0ef9765b..d39fef4e 100644 --- a/src/learn/sfen_reader.h +++ b/src/learn/sfen_reader.h @@ -40,6 +40,7 @@ namespace Learner{ // Because it always the same integers on MinGW. SfenReader( const std::vector& filenames_, + bool do_shuffle, SfenReaderMode mode_, int thread_num, const std::string& seed @@ -51,7 +52,7 @@ namespace Learner{ packed_sfens.resize(thread_num); total_read = 0; end_of_files = false; - shuffle = true; + shuffle = do_shuffle; stop_flag = false; file_worker_thread = std::thread([&] { @@ -312,11 +313,6 @@ namespace Learner{ } } - void set_do_shuffle(bool v) - { - shuffle = v; - } - protected: // worker thread reading file in background