1
0
Fork 0
mirror of https://github.com/sockspls/badfish synced 2025-07-11 19:49:14 +00:00

Added halfkp-cr-ep_256x2-32-32 architecture.

This commit is contained in:
Hisayori Noda 2019-07-07 20:31:54 +09:00
parent df827ea7ee
commit 747d98bf1b
2 changed files with 40 additions and 1 deletions

View file

@ -0,0 +1,38 @@
// NNUE評価関数で用いる入力特徴量とネットワーク構造の定義
#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 {
// 評価関数で用いる入力特徴量
using RawFeatures = Features::FeatureSet<
Features::HalfKP<Features::Side::kFriend>, Features::CastlingRight,
Features::EnPassant>;
// 変換後の入力特徴量の次元数
constexpr IndexType kTransformedFeatureDimensions = 256;
namespace Layers {
// ネットワーク構造の定義
using InputLayer = InputSlice<kTransformedFeatureDimensions * 2>;
using HiddenLayer1 = ClippedReLU<AffineTransform<InputLayer, 32>>;
using HiddenLayer2 = ClippedReLU<AffineTransform<HiddenLayer1, 32>>;
using OutputLayer = AffineTransform<HiddenLayer2, 1>;
} // namespace Layers
using Network = Layers::OutputLayer;
} // namespace NNUE
} // namespace Eval

View file

@ -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 {