Replies: 2 comments 2 replies
-
There is a description of the input in particular at Currently in Lc0 there are no inputs like material advantage or any other second order chess concepts beyond just the positions of the pieces themselves. |
Beta Was this translation helpful? Give feedback.
-
encoder.cc is likely the best, along with the chunkparser. Don't worry too much about the history planes. There are several command options as to how to set them say from a FEN when not actually playing a game. The 8 planes is a holdover from the Go game and are not needed at all, although nets trained with something in the history planes typically are a little stronger. Going forward, suggest joining the Discord and starting in the #help channel as it is the most active resource. |
Beta Was this translation helpful? Give feedback.
-
I'm researching reinforcement learning and explainability and I'm a little unfamiliar with the exact formatting of the code here for C++. My goal is to write a parser that will let me examine certain inputs that represent certain concepts (such as material advantage). However I've had some issues using some of the tools I've found to take a particular game board that was input into the network and represent that input as something simpler like the most recent board as a FEN notation. Can anyone give me a breakdown of how the neural network input looks in a way that's a little more detailed than the comments in encoder.cc? Any advice or suggestions would be very appreciated. I've looked at the documentation at https://lczero.org/dev/backend/interface/
"// All input planes are 64 value vectors, every element of which is either
// 0 or some value, unique for the plane. Therefore, input is defined as
// a bitmask showing where to set the value, and the value itself.
So, it’s a vector of 112 elements. Every element encodes 8×8 plane using InputPlane struct.
InputPlane contains 64 bit field mask which contains the mask of the non-zero elements of 8×8 input matrix, and a float field value which contains value of those non-zero elements."
I am trying to get a better understanding of which vector matches to what values in terms of representing a board as input. I'm not sure if this is the best place to ask for some clarifications/comments on some of the source code here, but it would be very appreciated. As an example would it be possible to take a given input and represent it in FEN notation? I can imagine that it should be possible to convert from these InputPlane structs to a more simplified and standardized notation format for a particular board's state.
Beta Was this translation helpful? Give feedback.
All reactions