Page 1 of 1
stockfish NNUE question
Posted: Thu Jan 21, 2021 5:06 am
by jdart
What is the function of Features::Side::kFriend? This is defined as:
enum class Side {
kFriend // side to move
};
and it is used as template parameter. But isn't this just a constant, since Side has only one value defined? How is it the "side to move?"
--Jon
Re: stockfish NNUE question
Posted: Thu Jan 21, 2021 7:13 pm
by tomitank
jdart wrote: ↑Thu Jan 21, 2021 5:06 am
What is the function of Features::Side::kFriend? This is defined as:
enum class Side {
kFriend // side to move
};
and it is used as template parameter. But isn't this just a constant, since Side has only one value defined? How is it the "side to move?"
--Jon
Hi!
I know this is not the answer to your question, but:
I think, that SF training code is too complicated. Unnecessarily? I don't know, but you can do that much simpler. You will get a similar result.
Write your own NN and use this idea to training for chess:
http://talkchess.com/forum3/viewtopic.p ... 72#p874960
You will learn a lot more.
I think over-parameterizing the input is unnecessary. 768 input is enough. (maybe you can try to add castling for each side -> then you need 772 inputs. I haven't tested this.)
Here is my solution without training code:
https://github.com/tomitank/tomitankChe ... nkChess.js
it's very-very easy!
-Tamás