aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorzamfofex <zamfofex@twdb.moe>2025-02-23 10:37:48 +0100
committerNicolas Goaziou <mail@nicolasgoaziou.fr>2025-02-23 10:55:34 +0100
commit20c9eb4b7dd28b240f4cc9ee1d24c65b84dfc3a9 (patch)
treea64ab5ce27472c93856a602db062b45bfc2a591c
parent9a0e97c4942fd2ef82ab9709316941010fc4b617 (diff)
downloadguix-20c9eb4b7dd28b240f4cc9ee1d24c65b84dfc3a9.tar.gz
guix-20c9eb4b7dd28b240f4cc9ee1d24c65b84dfc3a9.zip
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>
-rw-r--r--gnu/packages/lc0.scm57
1 files changed, 57 insertions, 0 deletions
diff --git a/gnu/packages/lc0.scm b/gnu/packages/lc0.scm
index d077d9f4d1..d667fe0323 100644
--- a/gnu/packages/lc0.scm
+++ b/gnu/packages/lc0.scm
@@ -18,6 +18,7 @@
(define-module (gnu packages lc0)
#:use-module (guix build utils)
+ #:use-module (guix build-system copy)
#:use-module (guix build-system meson)
#:use-module (guix build-system trivial)
#:use-module (guix download)
@@ -157,3 +158,59 @@ was finished being trained in April of 2022."))
"09gm8lgaick60rn4x9h9w5sxdqivr4ign73viviadw1gj7wsbnsg"
"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."))
+
+(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
+ "Maia’s 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"))