38 std::vector<PackedChessInput>
buffer;
41 DatasetWriter(
const std::string &fname,
size_t batch_capacity = 1000);
54 LabelWriter(
const std::string &fname,
size_t batch_capacity = 1000);
56 void add(
float label);
73 WDLWriter(
const std::string &fname,
size_t batch_capacity = 1000);
112 void add(
const float *weights);
143 size_t batch_capacity = 10000);
Computes expert weights for the Residual MoE architecture based on position features.
Conversion from raw evaluation strings to WDL (Win/Draw/Loss) probabilities.
void add(const ChessInput &features)
Definition Writers.cpp:22
std::string filename
Definition Writers.hpp:34
~DatasetWriter()
Definition Writers.cpp:20
DatasetWriter(const std::string &fname, size_t batch_capacity=1000)
Definition Writers.cpp:10
size_t batch_size
Definition Writers.hpp:35
std::vector< PackedChessInput > buffer
Definition Writers.hpp:38
void flush()
Definition Writers.cpp:51
void add(const ChessInput &features, const WDLOutput &wdl, const ExpertRouter::ExpertWeights &weights)
Definition Writers.cpp:189
ExpertDatasetWriter(const std::string &output_dir, size_t batch_capacity=10000)
Definition Writers.cpp:171
std::array< std::unique_ptr< DatasetWriter >, NUM_EXPERTS > feature_writers
Definition Writers.hpp:137
static constexpr int NUM_EXPERTS
Definition Writers.hpp:134
std::array< size_t, NUM_EXPERTS > counts
Definition Writers.hpp:139
static constexpr float AUX_GATE_THRESHOLD
Definition Writers.hpp:135
std::array< std::unique_ptr< WDLWriter >, NUM_EXPERTS > label_writers
Definition Writers.hpp:138
void print_stats() const
Definition Writers.cpp:246
void flush()
Definition Writers.cpp:237
~ExpertDatasetWriter()
Definition Writers.cpp:187
static constexpr int NUM_EXPERTS
Definition ExpertRouter.hpp:32
void add(const ExpertRouter::ExpertWeights &weights)
Definition Writers.cpp:139
void flush()
Definition Writers.cpp:154
~ExpertWeightsWriter()
Definition Writers.cpp:137
std::string filename
Definition Writers.hpp:93
size_t batch_size
Definition Writers.hpp:95
ExpertWeightsWriter(const std::string &fname, size_t batch_capacity=1000)
Definition Writers.cpp:127
std::vector< float > buffer
Definition Writers.hpp:94
static constexpr int NUM_EXPERTS
Definition Writers.hpp:96
std::vector< float > buffer
Definition Writers.hpp:50
void flush()
Definition Writers.cpp:82
void add(float label)
Definition Writers.cpp:75
std::string filename
Definition Writers.hpp:49
LabelWriter(const std::string &fname, size_t batch_capacity=1000)
Definition Writers.cpp:67
size_t batch_size
Definition Writers.hpp:51
~LabelWriter()
Definition Writers.cpp:73
std::vector< float > buffer
Definition Writers.hpp:69
~WDLWriter()
Definition Writers.cpp:102
void add(const WDLOutput &wdl)
Definition Writers.cpp:104
WDLWriter(const std::string &fname, size_t batch_capacity=1000)
Definition Writers.cpp:95
size_t batch_size
Definition Writers.hpp:70
void flush()
Definition Writers.cpp:114
std::string filename
Definition Writers.hpp:68
Definition ExpertRouter.hpp:52
Definition WDLNormalizer.hpp:14