Not logged inCSS-Forum
Forum CSS-Online Help Search Login
CSS-Shop Impressum Datenschutz
Up Topic Hauptforen / CSS-Forum / Nibbler: Lc0 Analyse-Interface
- - By Stefan Pohl Date 2019-06-22 21:31
Ein interessantes Tool, was lc0 Analysen bzw. Gewinnwahrscheinlichkeiten schön visualisiert...
https://github.com/fohristiwhirl/nibbler

Momentan fehlt mir etwas die Zeit, mir Nibbler genauer anzusehen. Vielleicht schaut sich das mal jemand anders näher an und schreibt ein paar Zeilen dazu?!



Features:
Display Leela's top choices graphically.
Choice of winrate, node %, or policy display.
PGN loading via menu, clipboard, or drag-and-drop.
Supports PGN variations of arbitrary depth.
FEN loading.
Clickable moves in the variation lists.
Versus Mode - where Leela only analyses one side.
Various aesthetic adjustments are possible in the config.json file.
Parent - - By Stefan Pohl Date 2019-06-23 14:03 Edited 2019-06-23 14:31 Upvotes 1
Also mir gefällt das Tool richtig gut. Ich habe V0.5.8 heruntergeladen. Schön ist, daß keine Installation erforderlich ist. Man entpackt den zip-Ordner irgenwohin und gut ist. Dann muß man sich ein config.json File erstellen. Dazu kann man die beigefügte Beispiel-Datei als Grundlage nutzen. Das File sieht so aus:

{
  "path": "C:\\Programs (self-installed)\\Lc0-cudnn\\lc0.exe",
 
  "options": {
    "Backend": "cudnn",
    "WeightsFile": "C:\\Users\\Owner\\Documents\\Misc\\Lc0 Networks\\42482"
  },

  "args": [],

  "width": 1280,
  "height": 835,
  "board_size": 640,
  "movelist_height": 110,
  "board_font": "18px Arial",
  "light_square": "#dadada",
  "dark_square": "#b4b4b4",
  "active_square": "#66aaaa",
  "best_colour": "#66aaaa",
  "good_colour": "#66aa66",
  "bad_colour": "#cccc66",
  "terrible_colour": "#cc6666",
  "bad_move_threshold": 0.02,
  "terrible_move_threshold": 0.04,
  "uncertainty_cutoff": 0.1,
  "arrowhead_type": 0,
  "show_n": true,
  "show_p": true,
  "show_u": false,
  "max_info_lines": 10,
  "update_delay": 170,
  "search_nodes": "infinite",
  "save_enabled": false,
  "logfile": null,
  "log_info_lines": false
}

Man muß nun (logischerweise) den Pfad zu seinem lc0-Ordner entsprechend ändern. Dabei ist zu beachten, daß es der vollständige Pfad sein muß, angefangen vom Laufwerksnamen (nomal: C:), selbst, wenn der lc0-Ordner im Nibbler-Ordner liegt!
Wenn das weights-File, das man benutzen will, in dem lc0- Ordner liegt (was ja normalerweise so ist), kann die Zeile WeightsFile ersatzlos entfallen. RTX-Karten Besitzer müssen natürlich noch die Zeile mit backend ändern auf:
"Backend": "cudnn-fp16",
Und man kann natürlich auch den Cache noch erhöhen (sollte man auch tun, wenn man eine schnelle RTX Karte hat). Das File sieht dann in etwa so aus:

{
  "path": "C:\\Mein Pfad\\Lc0\\lc0.exe",
 
  "options": {
    "Backend": "cudnn-fp16",
    "NNCacheSize": "1000000"
  },

  "args": [],

  "width": 1280,
  "height": 835,
  "board_size": 640,
  "movelist_height": 110,
  "board_font": "18px Arial",
  "light_square": "#dadada",
  "dark_square": "#b4b4b4",
  "active_square": "#66aaaa",
  "best_colour": "#66aaaa",
  "good_colour": "#66aa66",
  "bad_colour": "#cccc66",
  "terrible_colour": "#cc6666",
  "bad_move_threshold": 0.02,
  "terrible_move_threshold": 0.04,
  "uncertainty_cutoff": 0.1,
  "arrowhead_type": 0,
  "show_n": true,
  "show_p": true,
  "show_u": false,
  "max_info_lines": 10,
  "update_delay": 170,
  "search_nodes": "infinite",
  "save_enabled": false,
  "logfile": null,
  "log_info_lines": false
}

Dann startet man Nibbler einfach per Doppelklick. Man kann nun alles möglich einstellen, aber ich finde die default-Settings sehr gelungen: Man lädt sich eine Partie aus einem pgn-File ein und startet dann einfach die Analyse-Funktion ("Go" im Reiter Analysis). Dann rechnet lc0 an der aktuellen Stellung los. Und zeigt die besten Züge in Form von "Pfeilen" (oder sowas ähnliches) auf dem Brett an, wobei Blau der bestmögliche Zug ist. Grün ist gut, Gelb geht so, Rot eher schwach. Die zu jedem "Pfeil" angezeigte Zahl ist die Gewinnwahrscheinlichkeit dieses Zuges und zwar aus der Sicht der Farbe, die am Zug ist (nicht von Weiß!). Wobei 50 eben 50% meint, will sagen, komplett ausgeglichene Stellung. 0 wäre komplett verloren und 100 komplett gewonnen.
Rechts neben dem Brett sieht man die ganzen Varianten noch in Notationsform und auch mit Gewinnwahrscheinlichkeiten. Hier kann man einfach auf einen Zug aus irgendeiner angezeigten Variante klicken und sofort ist diese Stellung auf dem Brett - prima gelöst.
Das Ganze finde ich sehr übersichtlich und wirklich gelungen.
Weicht man von der pgn-Notation der geladenen Partie ab, wird automatisch eine Untervariante angelegt, die man auch jederzeit wieder löschen kann ("delete move" im Reiter Navigation). Auch das Aufwerten einer Untervariante zur Hauptvariante ist möglich ("Make this the main line"). Gut!
Auch sehr cool ist die Möglichkeit, Partien per Clipboard direkt von und nach z.B. Fritz/ChessBase zu importieren bzw. exportieren: In Fritz wählt man einfach "Partie kopieren" und dann in Nibbler "Load pgn from clipboard" (Reiter App) und die Notation der Partie, die man gerade in Fritz hatte, ist in Nibbler drin. Umgekehrt genauso einfach: In Nibbler einfach "Write pgn to clipboard" und dann in Fritz zunächst die alte Notation mit "Neue Partie" löschen und dann "Partie einfügen" und die Nibbler-Notation ist da. Top gelöst!
Bei diesen grundlegenden Funktionen sind mir jetzt auf die Schnelle keine Bugs aufgefallen. Allerdings ist das Tool noch in einer frühen Entwicklungsphase, insofern muß man sicher auch mit Bugs rechnen...

Wer mit lc0 wirklich analysieren will, kommt m.E. an diesem Tool nicht vorbei. Mir gefällt es ausgesprochen gut! Durch die schnelle und bequeme Übergabe der Daten zwischen Fritz und Nibbler eignet sich das Tool auch prima dafür, Analysen, die man eigentlich in Fritz/ChessBase macht, mit Nibbler "aufzupeppen", man kann beide Programme problemlos nebeneinander laufen lassen und schnell die Daten und Analyseergebnisse hin- und her-transferieren.
Parent - - By Stefan Pohl Date 2019-06-23 15:52
Es ist übrigens auch möglich, in Nibbler gegen lc0 zu spielen und zwar mit begrenzter Knotenzahl, was in fast allen anderen GUIs nicht geht, indem man Nibbler nur für eine Farbe analysieren läßt und N (Knotenzahl) eben begrenzt. Im talkchess Forum gewinnt lc0 mit nur 2 Knoten pro Zug (!), also praktisch ohne Suche, gegen den emulierten Mephisto 3 Glasgow.... selbst ganz ohne Suche ist lc0 also schon ganz erstaunlich stark. Man kann es ja mit Nibbler mal ausprobieren.
Mehr Beweis für wirkliche künstliche Intelligenz geht kaum!
Parent - - By Stefan Pohl Date 2019-06-24 13:27
Im schachomputer-Forum gab es das folgenschwere Mißverständnis, daß Leute den SourceCode von der Website heruntergeladen haben, anstatt die compilierte Version, weil ich die Compilate-Site nicht direkt verlinkt hatte...
Sorry dafür. Hier der Link direkt zu den Compilaten von Nibbler:

https://github.com/fohristiwhirl/nibbler/releases

Hier lädt man sich die neueste Windows-Version herunter (0.5.8 zur Zeit), entpackt das Zip-File in einen Ordner, erstellt sich sein config.json File (s.o.) und startet nibbler.exe dann einfach per Doppelklick.
Parent - - By Thomas Lagershausen Date 2019-06-24 19:02
Großen Dank Stefan für deine Pionierarbeit die Welt der NN uns Amateuren ins Wohnzimmer zu bringen.

Zwei kleine Fragen noch um das Paket komplett rund zu machen:

A) Gibt es einen Standardlink für die fertigen Releases von LC0?

B) Welche Hardwarevoraussetzungen hat LC0 bei Windows Rechner?
Parent - - By Michael Hoeppenstein Date 2019-06-24 19:14
Michael Hoeppenstein schrieb:

<a class='urs' href='https://github.com/LeelaChessZero/lc0/releases'>https://github.com/LeelaChessZero/lc0/releases</a>


... und eine RTX Nvidia-Grafikkarte.
Parent - - By Stefan Pohl Date 2019-06-24 19:26
Michael Hoeppenstein schrieb:

Michael Hoeppenstein schrieb:

<a class='urs' href='<a class='ura' href='https://github.com/LeelaChessZero/lc0/releases'>https://github.com/LeelaChessZero/lc0/releases</a>'>https://github.com/LeelaChessZero/lc0/releases</a>


... und eine RTX Nvidia-Grafikkarte.


Also das stimmt so nicht. Eine RTX-Karte ist zwar die mit Abstand beste Hardware, die man lc0 bieten kann, aber keine Hardwarevoraussetzung zum Betrieb von lc0. Die Blas-Version von lc0 (also die CPU-Version) läuft eigentlich auf jedem Windows 10 Rechner, würde ich sagen, wenn auch sehr langsam. Aber ich habe auf der Arbeit ein einfaches Netbook mit Atom-CPU und auch darauf läuft lc0 (CPU) klaglos. Natürlich sehr langsam, aber es läuft. Insofern sind die absolut notwendigen Systemvoraussetzungen zum Betrieb von lc0 sehr gering. Will man lc0 aber auf Stockfish-Level hieven, dann sollte es schon eine RTX Karte sein.
Parent - - By Tom Paul Date 2019-06-24 19:38
Stefan Pohl schrieb:

Michael Hoeppenstein schrieb:

Michael Hoeppenstein schrieb:

<a class='urs' href='<a class='ura' href='<a class='ura' href='https://github.com/LeelaChessZero/lc0/releases'>https://github.com/LeelaChessZero/lc0/releases</a>'>https://github.com/LeelaChessZero/lc0/releases</a>'>https://github.com/LeelaChessZero/lc0/releases</a>


... und eine RTX Nvidia-Grafikkarte.


Also das stimmt so nicht. Eine RTX-Karte ist zwar die mit Abstand beste Hardware, die man lc0 bieten kann, aber keine Hardwarevoraussetzung zum Betrieb von lc0. Die Blas-Version von lc0 (also die CPU-Version) läuft eigentlich auf jedem Windows 10 Rechner, würde ich sagen, wenn auch sehr langsam. Aber ich habe auf der Arbeit ein einfaches Netbook mit Atom-CPU und auch darauf läuft lc0 (CPU) klaglos. Natürlich sehr langsam, aber es läuft. Insofern sind die absolut notwendigen Systemvoraussetzungen zum Betrieb von lc0 sehr gering. Will man lc0 aber auf Stockfish-Level hieven, dann sollte es schon eine RTX Karte sein.


Die Frage war: B) Welche Hardwarevoraussetzungen hat LC0 bei Windows Rechner?
Die Antwort war: ... und eine RTX Nvidia-Grafikkarte. Weil des der heutige Standard ist.

Wegen deiner Antwort:
Er kann auch LC0 auf meiner alten(nicht mehr verfügbaren) Windows 98 CPU laufen lassen oder gleich etwas aus der Steinzeit nehmen.
Bei einem Autorennen kann er auch zu Fuß laufen, wenn er denkt das er schneller ist. Da ist ein Auto dann auch keine Voraussetzung.
Eine Atom-CPU ist ein Witz, diese gewinnt 0 Partien von 40000 gegen RTX GPUs.
Parent - By Lothar Jung Date 2019-06-24 19:45
Ein Witz der Weltmeister Carlson bei sehr geringer Bedenkzeit schlagen würde.
Parent - - By Thomas Lagershausen Date 2019-06-24 20:58
Nochmal großen Dank an alle Freunde der Computerschachwelt für die schnellen Antworten.

Da es mir z.Z: nur um die positionellen Fähigkeiten von LC0 geht gibt es bei mir 2019 keine Hardwareaufrüstung wegen LC0.

Deshalb habe ich auch gerade versucht die dkappe-version 32930 net distilled to 112x9-se herunterzuladen.

Leider hat mir beim Download mein 50MBit Netzanschluß eine Fehlermeldung gegeben.

Ich werde es morgen noch einmal versuchen.

Übrigens deine Antwort zur Hardwarevoraussetzungen war exakt in meinem Sinne.

Vielleicht muß ich noch fragen ob es mit meinem Windows 7-64bit auch geht ? (Grafik ist eine uralt Nvidia GT610)
Parent - - By Stefan Pohl Date 2019-06-25 12:28
Thomas Lagershausen schrieb:


Übrigens deine Antwort zur Hardwarevoraussetzungen war exakt in meinem Sinne.

Vielleicht muß ich noch fragen ob es mit meinem Windows 7-64bit auch geht ? (Grafik ist eine uralt Nvidia GT610)


Naja, die CPU-Version sollte laufen, ich hab noch einen Steinzeit-PC mit Windows Vista 64bit, da läuft die CPU-Version von lc0 problemlos. Ob die OpenCL-Version auf dieser GPU läuft, das kann ich nicht sagen, da hilft nur probieren...
Parent - - By Thomas Lagershausen Date 2019-06-25 14:06
OK
Letzte Frage:

Woran erkenne ich die CPU-Version?
Parent - By Stefan Pohl Date 2019-06-25 14:55
Thomas Lagershausen schrieb:

OK
Letzte Frage:

Woran erkenne ich die CPU-Version?


Blas=CPU
OpenCL=GPU non Cuda
CUDA=GPU mit CUDA, nur neuere NVIDIA-Karten
Parent - - By Thomas Plaschke Date 2019-06-25 15:22
Mein Notebook hat eine GeForce 610M und läuft mit OpenCL. - Sehr langsam (1-4 nps) mit den "normalen" 40er-Netzen, aber es läuft. Beim ersten Aufruf führt die OpenCL-Version von LC0 einen Konfigurationslauf durch. Der dauert ein paar Minuten. In der Zeit scheint der Rechner/ds Programm abgestürzt zu sein. Ist aber normal. Unter Arena kann man den Fortschritt nach drücken von F4 beobachten.

Viele Grüße
Th. Plaschke
Parent - - By Eduard Nemeth Date 2019-06-25 15:45
Da schafft deine CPU mit der Blas Version vermutlich mehr nps. Auf meinem neuen Smartphone schafft das Netz 42651 ja schon 20 nps.
Parent - By Thomas Plaschke Date 2019-06-25 19:00
Danke für den Hinweis. Das Notebook ist 6 Jahre alt hat 4GB RAM und einen i3-3227U, der mit max. 1,9 GHz läuft.
Aus der Grundstellung mit NN 42636 erreicht das Notebook
- mit OpenCL und der 610M nach 10s 27 Stellungen und nach einer Minute 607.
- mit der BLAS-Version werden mit 4 Threads auf 2 Kernen nach 11s 27 Stellungen erreicht und nach einer Minute 760.
Nicht gerade High-Performance und inzwischen entsetzlich langsam. - Windows in Zeitlupe! Aber Win 10 läuft.

Viele Grüße
Th. Plaschke
Parent - By Stefan Pohl Date 2019-06-25 12:24
Mittlerweile habe ich Nibbler mal mit LeelaFish probiert und es hat (so wie ich es auch erwartet hatte) funktioniert, da LeelaFish sich vom Output her wie lc0 verhält, Nibbler also keinen Unterschied merkt...

LeelaFish gibt es hier:
https://github.com/killerducky/lc0/releases

Erläuterung der Optionen hier:
https://github.com/killerducky/lc0/wiki/LeelaFish

Hier mein config.json File für Nibbler, wobei die Stockfish-Engine auch im LeelaFish-Ordner liegt:

{
  "path": "C:\\LeelaFish\\lc0.exe",
 
  "options": {
    "Backend": "cudnn-fp16",
    "AuxEngineFile": "C:\\LeelaFish\\stockfish_190622_bmi2.exe",
    "AuxEngineOptions": "Hash=1024;Threads=4",
    "AuxEngineDepth": 30
  },

  "args": [],

  "width": 1280,
  "height": 835,
  "board_size": 640,
  "movelist_height": 110,
  "board_font": "18px Arial",
  "light_square": "#dadada",
  "dark_square": "#b4b4b4",
  "active_square": "#66aaaa",
  "best_colour": "#66aaaa",
  "good_colour": "#66aa66",
  "bad_colour": "#cccc66",
  "terrible_colour": "#cc6666",
  "bad_move_threshold": 0.02,
  "terrible_move_threshold": 0.04,
  "uncertainty_cutoff": 0.1,
  "arrowhead_type": 0,
  "show_n": true,
  "show_p": true,
  "show_u": false,
  "max_info_lines": 10,
  "update_delay": 170,
  "search_nodes": "infinite",
  "save_enabled": false,
  "logfile": null,
  "log_info_lines": false
}
Up Topic Hauptforen / CSS-Forum / Nibbler: Lc0 Analyse-Interface

Powered by mwForum 2.29.3 © 1999-2014 Markus Wichitill