Everything Engines ….

406 views
Skip to first unread message

Scally

unread,
Jul 31, 2022, 11:55:19 AM7/31/22
to PicoChess
Hi all,

I feel that I rather hijacked Dan’s “Converting a DGT Pi into a Pi 4B - build” with a lot of Engine information within his thread: https://groups.google.com/g/picochess/c/MQL3GQ8E_C0

It contains information on bench commands, Syzygy endgame tablebases, Remote Engines like Rebel v15 & Komodo v13 Engine Levels plus information on my chats with various Engine Authors.

So I thought I’d start a separate thread here.

I’ll start by saying that I have just paid for Komodo v14.1 and am about to test it as a Windows remote Engine running on my Windows tablet connected to my DGT Pi remotely. As this is an older version of Komodo, it only cost me $19.98, but the reason I want to test it, is because it has 25 Skill Levels plus an ‘Auto Skill’ Level which should match your own grade similar to what the DGT Centaur does.

So watch this space for a report later this week.

Cheers,

Al.


DannyN

unread,
Jul 31, 2022, 12:51:38 PM7/31/22
to PicoChess
Hi Al,

How convenient that you start a new thread about engines just when I have a question about it :-). 

There's a file for the Night Nurse neural network in the NNUE folder (NightNurse03.bin). Which engine is using that?

After playing around with the old Mephisto's I've started looking at the regular engines. I really like how Michael Byrne's suite of 4 NN engines play. Very pleasantly surprised.

Thanks,
Danny
Op zondag 31 juli 2022 om 17:55:19 UTC+2 schreef Scally:

DannyN

unread,
Jul 31, 2022, 1:24:38 PM7/31/22
to PicoChess
Another one for you Al ... I see that you are also involved with Zahak, creating networks for lower skill levels. Zahak sounds interesting. Is  there something wrong with it since it is not included in the lite image?
 
Thanks,
Danny

Op zondag 31 juli 2022 om 18:51:38 UTC+2 schreef DannyN:

Scally

unread,
Jul 31, 2022, 3:13:53 PM7/31/22
to PicoChess
Hi Danny,

The attached file shows the answer for NightNurse3.bin. It’s the same file as eval.bin and used by all Michael’s Engines. He is also a friend of mine and we have swapped many an idea and file.

In my NNUE folder I have a README.nets file:

Al@PicoChess:/opt/picochess/engines/armv7l-NNUE $ cat README.nets

# List of NNUE's used by Engine:
arasan.nnue - ArasanNN
eval.bin - BlackDiamondNN, BluefishNN, WeakfishNN
nn-62ef826d1a6d.nnue - CfishNN
nn-3c0aa92af1da.nnue - CorChessNN
FatFritz2_v1.bin - FatFritz2NN
harm.bin - HarmonNN
toga.bin - OkiMaguroNN
nn-b1c332ae1d-20220613.nnue - RubiChessNN
nn-3c0aa92af1da.nnue - StockfishNN
nn-735bba95dec0.nnue - SugaR-AI-NN

Embedded Nets:
toganet.bin - DarkTogaNN
toganet.bin - TogaNN (different net than DarkTogaNN)
nn-d0b74ce1e5eb.nnue - HoneyNN
nn.bin (Wasp.bin) - WaspNN (controllable in WaspNN.cfg, remove nn.bin from /opt/picochess)
default.nn & Skills_1 to 6 (by Scally) - ZahakNN

Also in my set-up I have a pre NNUE Zahak Engine (v6.2) and ZahakNN (v10)

I’ve been helping a few Authors of late and enjoyed building the lower level NNUE files for Zahak and its Author Amanj Sherwany. These were all built on my Raspberry Pi 4.

I’ll have to share a few more engines with Randy to place in his images.

Cheers

Al

12C6E3B9-8322-4518-BFB7-8D4B245F5318.jpeg

DannyN

unread,
Jul 31, 2022, 5:10:16 PM7/31/22
to PicoChess
HI Al,

Thanks for the info. 
 I find it very interesting what Michael Byrne (and you probably) has done with these four NN engines. They play very "human like" in my opinion and the limitation of strength with the elo levels is really well done. I also like it that you can set multiple opening books in the uci as it provides for more varied game play.

I saw that Michael has released a lot of engines - McBrain, McCain, Crystal Honey, Honey NN etc. etc. All based on Stockfish but with unique twists it seems. There are so many that it is hard to tell if one is just an update or something more original. 
Just for fun I downloaded the RPi version you compiled of McCain X4 from his github (an update to McBrain 9.9 ?). I let engines.py run and got a uci with levels but of course there's much more possible in tuning the engine if I look at the info in engines.ini for McCain. It's a pity that there is not much documentation for newbies like me on how to do that properly; now it's trial and error.

I would welcome it if you made more of the newer/updated engines available.  I'm not an engine against engine player so levels are a must have for me. Zahak with your NNUE files is one I would definitely like to try out.

Danny

Op zondag 31 juli 2022 om 21:13:53 UTC+2 schreef Scally:

Scally

unread,
Aug 1, 2022, 3:45:24 AM8/1/22
to PicoChess
Hi Danny,

I haven’t spoken to Michael since before my Bowel Cancer Operation, we used to speak via FaceTime.

I’ll email him today, but as far as I can recall he’s only working on Honey now. I don’t think the Engine HarmonNN is included with Randy’s builds, It’s another of Michael’s builds based on the Beth Harmon character from the Queens Gambit series.

Yes McCain as in the US Senator replaced the Engine McBrain which was based on an ancestor or Michael’s.

The build engines Python script can only go so far, it doesn’t add the [default] at the top where you can then add all the extra uci commands, this was something I learnt for myself. You can play around with the uci to personalise it, for instance I’ve just introduced levels 0, 5, 10, 15, 20, 25 and Auto for my Windows remote engine of Komodo 14.1 as I don’t need all the levels in between. I’ve already found out that levels 0-10 are rubbish so I’ll be experimenting more today and may introduce other levels after say level 15. Of course as the Windows remote engines don’t reside on the RPi, I can’t run build engines, but I mostly build most from scratch manually nowadays anyway.

I have a Renal Hospital appointment this afternoon so won’t get much done today.

I’ll definitely provide some updates and new Engines for Randy’s images soon.

Cheers,

Al.

Scally

unread,
Aug 1, 2022, 3:51:27 AM8/1/22
to PicoChess

A quick note, I mostly remember to update the engine.ini with any new uci options, but it’s always best to start the engine manually and type uci to get a list of all it’s uci options.

Al.

Scally

unread,
Aug 1, 2022, 4:03:47 AM8/1/22
to PicoChess
23DF2D17-39C9-41F4-AA2C-D4D7333C2363.jpeg

HarmonNN uci options ….

Al



DannyN

unread,
Aug 1, 2022, 8:05:49 AM8/1/22
to PicoChess
Hi Al,

Nope, Harmon NN isn't in Randy's image either. Looks interesting as well (impressive uci options).

I got the uci for McCain X4 set up ok. I downloaded the source files for McCain and in it is a file called ucioption.cpp which told me which parameters were expected for certain options I wasn't sure about. I used elo & engine levels for instance i.s.o the default skill levels because according to that file these provide "a separate weaker play level from the predefined levels below. The difference between both of the methods and the "skill level" is that the engine is only weakened by the reduction in nodes searched, thus reducing the move horizon visibility naturally". Used the debug logging option and everything loaded without errors and play is as expected (i.e. loss and win related to level).

Good luck with the appointment, I hope the news is good.

Danny


Op maandag 1 augustus 2022 om 10:03:47 UTC+2 schreef Scally:

Scally

unread,
Aug 1, 2022, 8:27:42 AM8/1/22
to PicoChess
Hi Danny,

It’s a bit of trial & error but great fun.

I have emailed Michael Byrne and Larry Kaufman. With the latter I’m hoping that now I’ve bought Komodo v14.1 he might provide a RPi binary. Obviously if he does I won’t be able to share it as the license is for me only, unless he allows it, you never know.

As regards Komodo v14.1, first impressions are very good. I played a game the the Auto level and lost a 79 move game. I expect that it will take a few more before it knows my level. I have also beaten levels 10, 12 & 13 so far (from 25). If my calculations are correct then level 13 is around 1750 ccrl or 1692 elo on the RPi. I will try level 14 later, but the hospital is calling now …

Here’s a couple of pictures regarding Komodo 14.1, I have a small video too, I’ll upload that later.

Al
553750B8-144C-4BDE-9302-605B1B744364.jpeg
881B93A1-AF8C-407C-A6A1-74AE9D8A07BF.jpeg

Scally

unread,
Aug 1, 2022, 8:39:29 AM8/1/22
to PicoChess
Hi all,

Here’s a short video of Komodo v14.1 loading as a Windows Remote Engine on Picochess, plus a couple of moves …

RandyR

unread,
Aug 1, 2022, 10:34:46 AM8/1/22
to PicoChess
Hi Al,

I will certainly add any new or updated engines you provide to my images for those who would rather not compile them for themselves.

Take care.

Randy

DannyN

unread,
Aug 2, 2022, 8:20:17 AM8/2/22
to PicoChess
Hi Al,

Another question about Michael's NN engines that are in the lite image. The ones in the image seem to be his V12 R2 release about which his github says "All of the Honey engines have the NNUE included in the binary". Looking at the size of the binaries (21,4 mb) that looks to be the case indeed. If I run the engine with UseNN = true but without specifying EvalFile = /opt/picochess/engines/armv7l/NNUE/eval.bin in the uci, it loads without errors according to the debug log and I can play without a problem. It looks to me that the default EvalFIle = eval.bin loads the embedded NN file, so is it then still necessary to load the external eval.bin as well as is the case in the current uci settings?

Just curious and trying to understand.

Thanks,
Danny


Op maandag 1 augustus 2022 om 16:34:46 UTC+2 schreef RandyR:

Randy Reade

unread,
Aug 2, 2022, 8:25:59 AM8/2/22
to pico...@googlegroups.com
Danny, if you don't specify an external net it will use the embedded one, or nothing if you turn NNUE off.

Randy

--
You received this message because you are subscribed to a topic in the Google Groups "PicoChess" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/picochess/3zyMn-GDJ2g/unsubscribe.
To unsubscribe from this group and all its topics, send an email to picochess+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/picochess/1a287957-f4f8-48a4-9455-d8bdcfa8b7cen%40googlegroups.com.

DannyN

unread,
Aug 2, 2022, 8:26:50 AM8/2/22
to PicoChess
Btw, according to the debug log for the v12 NN engines ...  ">> setoption name BestBookMove value false
<< [1;107m [1;91mNo such option: BestBookMove"

This needs to be Best_Move_1 = False; Best_Move_2 = False etc. per book. First two books are set to false by default. Last two books to true. It's probably best to remove the BestBookMove = false value altogether for these engines.



Op dinsdag 2 augustus 2022 om 14:20:17 UTC+2 schreef DannyN:
Message has been deleted

DannyN

unread,
Aug 2, 2022, 8:31:03 AM8/2/22
to PicoChess
@Randy - the "problem" is that the value in the default uci (as it is defined in the lite image) is pointing towards the external eval.bin ... which is the same as the internal eval.bin (I think). So what's the point of having the external eval.bin there?

Op dinsdag 2 augustus 2022 om 14:26:50 UTC+2 schreef DannyN:

Randy Reade

unread,
Aug 2, 2022, 8:32:52 AM8/2/22
to pico...@googlegroups.com
You can think of it as a placeholder for specifying an external net. If you remove it, it will use the internal net, or leave it as a reminder of how to specify a different net.

On Tue., Aug. 2, 2022, 7:29 a.m. DannyN, <dnug...@gmail.com> wrote:
@Randy - the "problem" is that the value in the default uci is pointing towards the external eval.bin ... which is the same as the internal eval.bin (I think). So what's the point of having the external eval.bin there?

Op dinsdag 2 augustus 2022 om 14:26:50 UTC+2 schreef DannyN:
Btw, according to the debug log for the v12 NN engines ...  ">> setoption name BestBookMove value false

--
You received this message because you are subscribed to the Google Groups "PicoChess" group.
To unsubscribe from this group and stop receiving emails from it, send an email to picochess+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/picochess/87e84819-080e-4d97-ba6f-2084d7f08ac0n%40googlegroups.com.

DannyN

unread,
Aug 2, 2022, 8:39:42 AM8/2/22
to PicoChess
I've removed it, no sense in loading an external file that's the same as the internal one.

Op dinsdag 2 augustus 2022 om 14:32:52 UTC+2 schreef RandyR:

Scally

unread,
Aug 2, 2022, 8:53:52 AM8/2/22
to PicoChess
Hi Danny,

Point taken, I was going to say that all Michael’s Engines use eval.bin but as you say they all have the the net embedded.
It would have worked as designed if the Engines were compiled without the embedded NET. You can still use the line in the .uci file to test a different NET of course, that will override the embedded net. As you’ve removed the eval.bin file you could dummy out the line in the .uci file by placing a ; in front of the line: ;EvalFile = /opt/picochess/engines/armv7l/NNUE/eval.bin so that you can try another NET and of course remove the ;

My set-up is far different than Randy’s so I have to keep reminding myself of his set-up.

Al.

Scally

unread,
Aug 2, 2022, 9:00:07 AM8/2/22
to PicoChess
Hi all,

As for my Komodo v14.1 testing it appears that level 14 is around my grade.

I’m beginning to remove the syzygy tablebase references for the lower levels and using them in the top few levels only.
I can imagine a lot of frustration when playing a lower level only to outplayed in the endgame by ‘perfect’ play from the level you’re playing.

I’m still waiting for replies from Larry & Michael.

Al.

DannyN

unread,
Aug 2, 2022, 9:11:37 AM8/2/22
to PicoChess
Hi Al,

I've removed the EvalFile = line from the uci's for Michael's NN engines. 
I'm just playing around with his engines and noticed the "discrepancy" between embedded and the default uci setting that's in the image plus the comments in default engines.ini  (which say: "Requires a NNUE weights called eval.bin in the armv7l folder"). It's probably a left-over from earlier versions that did not have the NN embedded. It's no big deal, the end result (i.e. play) is the same with either settings.

Danny
Op dinsdag 2 augustus 2022 om 14:53:52 UTC+2 schreef Scally:

Scally

unread,
Aug 2, 2022, 10:54:28 AM8/2/22
to PicoChess
Hi all,

I forgot how many emails Michael Byrne gets, so we shared some text messages.

He has some health issues too, but is hopefully going to release updated versions Honey & Harmon soon 👍

Al.

DannyN

unread,
Aug 2, 2022, 11:33:10 AM8/2/22
to PicoChess
I thought about it some more. The V12 releases of the NN engines do have an embedded NN but it is not clear to me if this is actually the Night Nurse network or a different one. V12 was released in October 2020 and he talks about the Night Nurse network being included for the first time in November 2020. I believe he was using the Stockfish NN earlier. Problem is that he has so many updates and releases on his github that it is difficult to tell  what's what. To be on the safe side, and if you want to be sure that the Night Nurse network is used, it's probably best to keep the line EvalFile = /opt/picochess/engines/armv7l/NNUE/eval.bin" in the uci.

Op dinsdag 2 augustus 2022 om 16:54:28 UTC+2 schreef Scally:

Scally

unread,
Aug 2, 2022, 12:11:23 PM8/2/22
to PicoChess
Or link it to the actual NightNurse3.bin for clarity, yes I know it’s the same as the physical eval.bin but would be clearer to others.

Al.

DannyN

unread,
Aug 2, 2022, 12:52:54 PM8/2/22
to PicoChess
While I find it interesting what Michael is doing, I do find it all very confusing. For instance for his releases of Nov. 2020, the NN's are no longer embedded and on top of it he uses a different network for each engine:

Recommended Nets to Download:

Harmon: Harmon NNUE should be labeled as harmon.bin Harmon NNUE

Bluefish: NightNurse 0.4b should be labeled as ninu.bin Night Nurse NNUE

Ditto: The White Rose NNUE should be labeled as whiterose.bin White Rose NNUE

Crystal: same as Ditto above

Black Diamond: same as Ditto above

OkiMaguro & FatFish must use the FatFritz2 net Fat Fritz NNUE

All the rest are default to current SF net. should be labeled as "eval.bin".  Download here: Current Stockfish NNUE


How on earth do you keep track of such a mess?

I think I'll stick to my favourites (CT800, Wasp and the old Mephistos), and leave all these Stockfish clones behind me.

Op dinsdag 2 augustus 2022 om 18:11:23 UTC+2 schreef Scally:

Scally

unread,
Aug 2, 2022, 1:21:30 PM8/2/22
to PicoChess
Hi Danny,

Michael freely downloaded a lot of the NNUEs you mention but got in trouble distributing them. Most of the Authors wanted users to download them for themselves. That’s why we changed the Engines to use the same file. Some of his Engines have an adaptive level which are quite interesting, they attempt to play at the Users grade.

You are free to try any NNUE file that works, obviously some are much stronger than others. 

I haven’t updated the Lc0 NETs for a while, the problem is that the larger better NETs run very slowly on the RPi, again it’s mostly experimentation, along the lines of what you are doing now.

Al.

DannyN

unread,
Aug 3, 2022, 5:17:40 AM8/3/22
to PicoChess
Hi Al,

For now I've had enough of playing around with the Stockfish clones and NNUE files. Time to move on and try my hand at compiling. With.a bit of trial and error I managed to compile Zahak and a few others.

Danny

Op dinsdag 2 augustus 2022 om 19:21:30 UTC+2 schreef Scally:

Scally

unread,
Aug 3, 2022, 5:40:10 AM8/3/22
to PicoChess

Hi Danny,

That’s how I learnt ….. 👍

Al
Reply all
Reply to author
Forward
Message has been deleted
0 new messages