gnu: Add neural networks from the Maia Chess project.

* gnu/packages/lc0.scm (make-lc0-maia): New procedure.
* gnu/packages/lc0.scm (lc0-maia-1100, lc0-maia-1200, lc0-maia-1300)
(lc0-maia-1400, lc0-maia-1500, lc0-maia-1600, lc0-maia-1700)
(lc0-maia-1800, lc0-maia-1900): New variables.

Change-Id: I70d032703efbd644ef8f7cfa70de6f5e2511603c
Signed-off-by: Nicolas Goaziou <mail@nicolasgoaziou.fr>
This commit is contained in:
zamfofex 2025-02-23 10:37:48 +01:00 committed by Nicolas Goaziou
parent 9a0e97c494
commit 20c9eb4b7d
No known key found for this signature in database
GPG key ID: DA00B4F048E92F2D

View file

@ -18,6 +18,7 @@
(define-module (gnu packages lc0) (define-module (gnu packages lc0)
#:use-module (guix build utils) #:use-module (guix build utils)
#:use-module (guix build-system copy)
#:use-module (guix build-system meson) #:use-module (guix build-system meson)
#:use-module (guix build-system trivial) #:use-module (guix build-system trivial)
#:use-module (guix download) #:use-module (guix download)
@ -157,3 +158,59 @@ was finished being trained in April of 2022."))
"09gm8lgaick60rn4x9h9w5sxdqivr4ign73viviadw1gj7wsbnsg" "09gm8lgaick60rn4x9h9w5sxdqivr4ign73viviadw1gj7wsbnsg"
"This is an official neural network of a ``main run'' of the Leela Chess "This is an official neural network of a ``main run'' of the Leela Chess
Zero project. The network was finished being trained in September of 2023.")) Zero project. The network was finished being trained in September of 2023."))
(define (make-lc0-maia rating)
(package
(name (string-append "lc0-maia-" rating))
(version "1.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/CSSLab/maia-chess")
(commit (string-append "v" version))))
(file-name (git-file-name "maia" version))
(sha256
(base32
"0qjkp56pb5vvkr3j1vdsdzligvy7faza917z7vdfmf168pkvrxsr"))))
(build-system copy-build-system)
(arguments
(list
#:install-plan
#~(list
`(,(string-append "model_files/" #$rating
"/final_" #$rating "-40.pb.gz")
,(string-append "share/lc0/maia-" #$rating ".pb.gz")))))
(synopsis "Human-like neural network for Leela Chess Zero")
(description
"Maias goal is to play the human move, not necessarily the best move.
As a result, Maia has a more human-like style than previous engines, matching
moves played by human players in online games over 50% of the time.")
(home-page "https://maiachess.com")
(license license:gpl3)))
(define-public lc0-maia-1100
(make-lc0-maia "1100"))
(define-public lc0-maia-1200
(make-lc0-maia "1200"))
(define-public lc0-maia-1300
(make-lc0-maia "1300"))
(define-public lc0-maia-1400
(make-lc0-maia "1400"))
(define-public lc0-maia-1500
(make-lc0-maia "1500"))
(define-public lc0-maia-1600
(make-lc0-maia "1600"))
(define-public lc0-maia-1700
(make-lc0-maia "1700"))
(define-public lc0-maia-1800
(make-lc0-maia "1800"))
(define-public lc0-maia-1900
(make-lc0-maia "1900"))