Sehr interessant , Vielen Dank .
piece values NNUE of Stockfish 15.1

at this stage of the ruy or italian, you won't be able to find a true depiction of the italian nor ruy. it's simply too early to judge. but i was too late, that lackner scum already did his signature spam

It is only an example. You get these values after each move. If you want to test it yourself, here you find my source code: https://github.com/ehenkes/SF15-info
My question: How can you use NNUE piece values exactly to evaluate positions?
I do not find a wiki or a description.
How to use these values for advice from a coach?

I am unclear as to the intuitive meaning of the numbers associated with each piece. Is it like the difference between the position value with the piece and without it? If so, there are a lot of surprisingly low values that I would happily take the other side of!

Elroch, are you an expert?
Could you please give an exact explanation for an example?
E.g. Lc4 +3.00 and Lb5 2.76
Does that mean that NNUE gives Italian better chances than Ruy Lopez? (only looking at the bishop)
How are the NNUE results 0.63 and 0.40 exactly calculated?
Why bucket 7? (sometimes it is another bucket)

Firstly @PrettyHardy this looks fascinating, and I am impressed by your work. My puzzlement is about the meaning of the numbers on the boards.
Eg in your first diagram the pawns (both black and white) have positive values between 0.05 and 1.12 (mostly quite small).
Then why do all the black pieces have substantial negative values? (-1.09 to -5.83) Why the different sign to the pawns?
I can't see how these numbers can be values as I understand them.
Perhaps a link to some explanatory material?

OK, let us begin with the startposition:

https://www.chessprogramming.org/Stockfish_NNUE#HalfKP
There you find a calculation.

A friend has given me the link to the corresponding C++ source code:
// We estimate the value of each piece by doing a differential evaluation from
// the current base eval, simulating the removal of the piece from its square.
https://github.com/official-stockfish/Stockfish/blob/master/src/nnue/evaluate_nnue.cpp#L288-L323

That's pretty cool. Can't you also devise an evaluation system based on the empty squares?
The current system uses the difference between square with and without piece. Empty square should be zero. Thinking in single squares and pieces seems to be critical.
However, you can try:
300 if (pc != NO_PIECE && type_of(pc) != KING)
This is the line.

at #nnue-dev you can read from r0bbi3 concerning the NNUE piece values:
"... they're the value of the position lost if you take away that piece ... all you need to know is that it calculates a piece's contribution by seeing how much the evaluation changes when you remove that piece ..."

Q: The pawn h2 contributes -0.17 at the startposition. Does that mean you should gift this pawn to your opponent at the beginning of the game?
A: yes because it opens h file attack, so it's actually good to get rid of if you could

From Stockfish you get only one value that can be classical (if you switch off the NNUE checkbox in the parameters), hybrid (if you switch on the NNUE checkbox in the parameters), or NNUE only (if you set the useClassical to false inside the C++ code: line 1059 at evaluate.cpp).
For a coach function this is not enough, beacause you get the best move without any hints.
First step could be to use the classical sub parameters like king safety, mobility, space, threats, etc. or sub-sub parameters inside those numbers.
Moreover, you have the NNUE position value (since SF12).
Last but not least, you find these NNUE piece values that are not used by stockfish, only calculated, if you ask for them. I think the piece value of the queen could be interesting to show the partial value of that important piece at a certain square in a given position, according to the advice to move your pieces from bad to good places.

The piece value of the queen does not make sense for move decisions. Thus, I concentrate on the classical static strategic position values and on the dynamic data (Multi PV scores, Win-Draw-Loose probability data, ...).
This is the current prototype environment:
1) SF 15.1 modified to deliver data
2) GUI like Cute Chess, Nibbler, Scid, ...
3) Chess Cockpit to show, calculate and visualize these data


This is the current version. Interesting seems the difference between Stockfish's dynamic score PV1 and static PSQ score.
If you want to support us:
https://www.henkessoft.de/Schach/Chess-Cockpit_2023_02_06.zip
If you want to see cockpit and console, use Fritz, Chessbase or the freeware Scid vs. PC.

https://www.henkessoft.de/Schach/Chess-Cockpit_2023_02_06.zip
File is missing in this link,please provide working link @PrettyHardy
I have added an additional console to stockfish 15.1 to export the classical and the NNUE piece value table via the cerr stream. This works wonderfully with GUI like Fritz 17 or chessbase.
I give an example: 1.e4 e5 2.Sf3 Sc6 3.Lc4 (Italian) or Lb5 (Ruy Lopez).
The classical tables are easily to understand and widely explained in a wiki and in the source code.
Now to the piece values of NNUE:
1) After 1.e4 e5 2.Sf3 Sc6 3.Lb5
1) After 1.e4 e5 2.Sf3 Sc6 3.Lc4
How can you compare the two positions according to piece values NNUE?
Idea: use SF 15.1 as a free coach for game analysis.
Please help!
answer here or to e.henkes@gmx.net