Skip to content

Commit

Permalink
Merge pull request #209 from dhbloo/master
Browse files Browse the repository at this point in the history
Fix the incorrect weight scale used in NNUEReader
  • Loading branch information
Sopel97 committed Oct 7, 2022
2 parents 77d7919 + 2072820 commit 9fb6d8e
Showing 1 changed file with 6 additions and 2 deletions.
8 changes: 6 additions & 2 deletions serialize.py
Original file line number Diff line number Diff line change
Expand Up @@ -190,8 +190,12 @@ def read_feature_transformer(self, layer, num_psqt_buckets):
layer.weight.data = torch.cat([weights, psqt_weights], dim=1)

def read_fc_layer(self, layer, is_output=False):
kWeightScale = self.model.weight_scale_out if is_output else self.model.weight_scale_hidden
kBiasScale = self.model.weight_scale_out * self.model.nnue2score if is_output else self.model.weight_scale_hidden * self.model.quantized_one
kWeightScaleHidden = self.model.weight_scale_hidden
kWeightScaleOut = self.model.nnue2score * self.model.weight_scale_out / self.model.quantized_one
kWeightScale = kWeightScaleOut if is_output else kWeightScaleHidden
kBiasScaleOut = self.model.weight_scale_out * self.model.nnue2score
kBiasScaleHidden = self.model.weight_scale_hidden * self.model.quantized_one
kBiasScale = kBiasScaleOut if is_output else kBiasScaleHidden
kMaxWeight = self.model.quantized_one / kWeightScale

# FC inputs are padded to 32 elements by spec.
Expand Down

0 comments on commit 9fb6d8e

Please sign in to comment.