diff --git a/src/eval/nnue/architectures/halfkp-cr-ep_256x2-32-32.h b/src/eval/nnue/architectures/halfkp-cr-ep_256x2-32-32.h new file mode 100644 index 00000000..7063f334 --- /dev/null +++ b/src/eval/nnue/architectures/halfkp-cr-ep_256x2-32-32.h @@ -0,0 +1,38 @@ +// NNUE•]‰¿ŠÖ”‚Å—p‚¢‚é“ü—Í“Á’¥—ʂƃlƒbƒgƒ[ƒN\‘¢‚Ì’è‹` + +#include "../features/feature_set.h" +#include "../features/half_kp.h" +#include "../features/castling_right.h" +#include "../features/enpassant.h" + +#include "../layers/input_slice.h" +#include "../layers/affine_transform.h" +#include "../layers/clipped_relu.h" + +namespace Eval { + + namespace NNUE { + + // •]‰¿ŠÖ”‚Å—p‚¢‚é“ü—Í“Á’¥—Ê + using RawFeatures = Features::FeatureSet< + Features::HalfKP, Features::CastlingRight, + Features::EnPassant>; + + // •ÏŠ·Œã‚Ì“ü—Í“Á’¥—ʂ̎ŸŒ³” + constexpr IndexType kTransformedFeatureDimensions = 256; + + namespace Layers { + + // ƒlƒbƒgƒ[ƒN\‘¢‚Ì’è‹` + using InputLayer = InputSlice; + using HiddenLayer1 = ClippedReLU>; + using HiddenLayer2 = ClippedReLU>; + using OutputLayer = AffineTransform; + + } // namespace Layers + + using Network = Layers::OutputLayer; + + } // namespace NNUE + +} // namespace Eval diff --git a/src/eval/nnue/nnue_architecture.h b/src/eval/nnue/nnue_architecture.h index 9f21d289..02c35782 100644 --- a/src/eval/nnue/nnue_architecture.h +++ b/src/eval/nnue/nnue_architecture.h @@ -8,8 +8,9 @@ // 入力特徴é‡ã¨ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯æ§‹é€ ãŒå®šç¾©ã•れãŸãƒ˜ãƒƒãƒ€ã‚’includeã™ã‚‹ //#include "architectures/k-p_256x2-32-32.h" //#include "architectures/k-p-cr_256x2-32-32.h" -#include "architectures/k-p-cr-ep_256x2-32-32.h" +//#include "architectures/k-p-cr-ep_256x2-32-32.h" //#include "architectures/halfkp_256x2-32-32.h" +#include "architectures/halfkp-cr-ep_256x2-32-32.h" namespace Eval {