summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormsglm <msglm@techchud.xyz>2024-04-11 23:02:40 -0500
committermsglm <msglm@techchud.xyz>2024-04-11 23:02:40 -0500
commit016d82ad3f997bc3755cc75ce8d70c8c17d4f086 (patch)
treea86048f93c2ca072839315067bf446c675388352
parentc5cd5b7c33c64d9ffb5670476c3a30518932bbe2 (diff)
downloadguix-msglm-016d82ad3f997bc3755cc75ce8d70c8c17d4f086.tar.gz
guix-msglm-016d82ad3f997bc3755cc75ce8d70c8c17d4f086.tar.bz2
guix-msglm-016d82ad3f997bc3755cc75ce8d70c8c17d4f086.zip
New machine learning scm
stable-diffusion, rclip, and clip-cpp added clip-cpp
-rw-r--r--machinelearning.scm452
-rw-r--r--rclip.scm388
-rw-r--r--stablediffusion.scm38
3 files changed, 452 insertions, 426 deletions
diff --git a/machinelearning.scm b/machinelearning.scm
new file mode 100644
index 0000000..8f09dc1
--- /dev/null
+++ b/machinelearning.scm
@@ -0,0 +1,452 @@
+(define-module (machinelearning)
+ #:use-module (gnu packages protobuf)
+ #:use-module (gnu packages check)
+ #:use-module (gnu packages python)
+ #:use-module (gnu packages python-check)
+ #:use-module (gnu packages python-build)
+ #:use-module (gnu packages python-xyz)
+ #:use-module (gnu packages python-web)
+ #:use-module (gnu packages python-crypto)
+ #:use-module (gnu packages machine-learning)
+ #:use-module (gnu packages rust)
+ #:use-module (gnu packages maths)
+ #:use-module (gnu packages rust-apps)
+ #:use-module (gnu packages crates-io)
+ #:use-module (guix build-system python)
+ #:use-module (guix build-system pyproject)
+ #:use-module (guix build-system cargo)
+ #:use-module (guix build-system cmake)
+ #:use-module (guix build utils)
+ #:use-module (guix git-download)
+ #:use-module (guix packages)
+ #:use-module (guix gexp)
+ #:use-module (guix download)
+ #:use-module ((guix licenses) :prefix license:)
+ )
+
+(define-public poetry-plugin-export
+ (package
+ (name "poetry-plugin-export")
+ (version "1.7.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "poetry_plugin_export" version))
+ (sha256
+ (base32 "0bp2640l7v9digjccj0wz086s1xa4hdbrcvdpa84544a46vcyqng"))))
+ (build-system pyproject-build-system)
+ (propagated-inputs (list python-poetry-core-1.9.0))
+ (home-page "https://python-poetry.org/")
+ (synopsis "Poetry plugin to export the dependencies to various formats")
+ (description "Poetry plugin to export the dependencies to various formats")
+ (license license:expat)))
+
+(define-public python-poetry-core-1.9.0
+ (package
+ (inherit python-poetry-core)
+ (name "python-poetry-core")
+ (version "1.9.0")
+ ))
+
+(define-public poetry-1.8.2
+ (package
+ (inherit poetry)
+ (name "poetry")
+ (version "1.8.2")
+ ))
+
+(define-public poetry-1.3
+ (package
+ (inherit poetry)
+ (name "poetry")
+ (version "1.3")
+ ))
+
+(define-public python-installer
+ (package
+ (name "python-installer")
+ (version "0.7.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "installer" version))
+ (sha256
+ (base32 "0cdnqh3a3amw8k4s1pzfjh0hpvzw4pczgl702s1b16r82qqkwvd2"))))
+ (build-system pyproject-build-system)
+ (inputs (list python-flit-core))
+ (home-page "")
+ (synopsis "A library for installing Python wheels.")
+ (description
+ "This package provides a library for installing Python wheels.")
+ (license #f)))
+
+(define-public python-rclip
+ (package
+ (name "rclip")
+ (version "1.8.5")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "rclip" version))
+ (sha256
+ (base32 "1k5j02wk03143y9yw6jg93yywkg840p38pzb41c59yfz37am5178"))))
+ (build-system pyproject-build-system)
+ (propagated-inputs (list python-open-clip-torch
+ python-pillow
+ python-requests
+ python-pytorch
+ python-torchvision
+ python-tqdm
+ python-poetry-core-1.9.0
+ python-ftfy
+ ;poetry-1.8.2
+ ))
+ (arguments
+ '( #:phases
+ (modify-phases %standard-phases
+ (delete 'check) ;#TODO: see why this is broke
+ (delete 'sanity-check) ;TODO: Fix broken sanity-check
+ )))
+ (home-page "https://github.com/yurijmikhalevich/rclip")
+ (synopsis "AI-Powered Command-Line Photo Search Tool")
+ (description "AI-Powered Command-Line Photo Search Tool")
+ (license license:expat)))
+
+(define-public python-open-clip-torch
+ (package
+ (name "python-open-clip-torch")
+ (version "2.24.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/mlfoundations/open_clip")
+ (commit (string-append "v" version))
+ ))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0mby632z2qpahb8pd8cmn14bz4w1q0cngz7s6rmx2qwfg2fxf1ms"))))
+ (build-system pyproject-build-system)
+ (inputs (list python-ftfy
+ python-huggingface-hub
+ python-protobuf
+ python-regex
+ python-sentencepiece
+ python-timm
+ python-pytorch
+ python-torchvision
+ python-tqdm
+ python-wheel
+ ))
+ (arguments
+ '( #:phases
+ (modify-phases %standard-phases
+ (delete 'check) ;Networking required for checks, so disable them
+ (delete 'sanity-check) ;TODO: Fix broken sanity-check
+ )))
+ (home-page "https://github.com/mlfoundations/open_clip")
+ (synopsis "OpenCLIP")
+ (description "@code{OpenCLIP}")
+ (license license:expat)))
+
+(define-public python-ftfy
+ (package
+ (name "python-ftfy")
+ ;(version "6.2.0")
+ (version "5.5.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "ftfy" version))
+ (sha256
+ ;(base32 "1h3m9i1c2qp874fpg62gcp39yqdhc5mrsqd29ja9gvr5f0y18hjy"))))
+ (base32 "1ci6xrj4g01a97nymxpv9nj820nlmgzc4ybaz9k46i6bnxzpax7s"))))
+ (build-system pyproject-build-system)
+ (native-inputs (list poetry))
+ (propagated-inputs (list python-wcwidth))
+ (arguments
+ '( #:phases
+ (modify-phases %standard-phases
+ (delete 'check)
+ )))
+ (home-page "")
+ (synopsis "Fixes mojibake and other problems with Unicode, after the fact")
+ (description
+ "Fixes mojibake and other problems with Unicode, after the fact")
+ (license license:asl2.0)))
+
+(define-public python-expecttest
+ (package
+ (name "python-expecttest")
+ (version "0.2.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "expecttest" version))
+ (sha256
+ (base32 "1xbkpcp3477ccgr4ks16v0j22i7a939bs2rajvk0cigqlvw1qaz5"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:phases #~(modify-phases %standard-phases (delete 'check))))
+ (native-inputs (list poetry))
+ (home-page "https://github.com/ezyang/expecttest")
+ (synopsis "")
+ (description "")
+ (license license:expat)))
+
+(define-public python-timm
+ (package
+ (name "python-timm")
+ (version "0.9.16")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "timm" version))
+ (sha256
+ (base32 "1rkif1mkgryirn78aw9rkwplf3hzfqbw3c0slwqxynnmfprm87l9"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (delete 'check) ;takes FOREVER for some reason
+ (delete 'sanity-check ;Crashes; #TODO: fix this
+ ))))
+ (inputs (list python-huggingface-hub python-pyyaml
+ python-safetensors python-pytorch
+ python-torchvision python-pdm-backend
+
+ python-pytest python-pytest-timeout python-expecttest python-pytest-xdist))
+ (home-page "https://github.com/huggingface/pytorch-image-models")
+ (synopsis "PyTorch Image Models")
+ (description "@code{PyTorch} Image Models")
+ (license license:asl2.0)))
+
+(define-public rust-memmap2-0.5
+ (package
+ (name "rust-memmap2")
+ (version "0.5.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "memmap2" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "0vp9pxd20gyq8196v73chxdw6gfxz3g4lkdkvffd5slgawds2is6"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs (("rust-libc" ,rust-libc-0.2)
+ ("rust-stable-deref-trait" ,rust-stable-deref-trait-1))
+ #:cargo-development-inputs (("rust-owning-ref" ,rust-owning-ref-0.4)
+ ("rust-tempdir" ,rust-tempdir-0.3))))
+ (home-page "https://github.com/RazrFalcon/memmap2-rs")
+ (synopsis "Cross-platform Rust API for memory-mapped file IO")
+ (description "Cross-platform Rust API for memory-mapped file IO")
+ (license (list license:expat license:asl2.0))))
+
+(define-public rust-safetensors-0.4
+ (package
+ (name "rust-safetensors")
+ (version "0.4.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "safetensors" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "1vb9wsmsm7wfyvkl795wpc2iiwa3mx0vqhhym2q6yhrlzdmhx64d"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs (("rust-serde" ,rust-serde-1)
+ ("rust-serde-json" ,rust-serde-json-1))
+ #:cargo-development-inputs (("rust-criterion" ,rust-criterion-0.4)
+ ("rust-memmap2" ,rust-memmap2-0.5)
+ ("rust-proptest" ,rust-proptest-1))))
+ (home-page "https://github.com/huggingface/safetensors")
+ (synopsis
+ "Provides functions to read and write safetensors which aim to be safer than
+ their PyTorch counterpart.
+ The format is 8 bytes which is an unsized int, being the size of a JSON header,
+ the JSON header refers the `dtype` the `shape` and `data_offsets` which are the offsets
+ for the values in the rest of the file.
+ ")
+ (description
+ "This package provides functions to read and write safetensors which aim to be
+ safer than their @code{PyTorch} counterpart. The format is 8 bytes which is an
+ unsized int, being the size of a JSON header, the JSON header refers the `dtype`
+ the `shape` and `data_offsets` which are the offsets for the values in the rest
+ of the file.")
+ (license license:asl2.0)))
+
+(define-public python-safetensors
+ (package
+ (name "python-safetensors")
+ (version "0.4.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/huggingface/safetensors.git")
+ (commit (string-append "v" version))
+ ))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1gs0ivd5m95jyy6j1yqvm8pq068xsk405gv0nwq2821vr4ix9lw5"))))
+ (build-system cargo-build-system)
+ (arguments
+ (list
+ #:imported-modules `(,@%cargo-build-system-modules
+ ,@%pyproject-build-system-modules)
+ #:modules '((guix build cargo-build-system)
+ ((guix build pyproject-build-system) #:prefix py:)
+ (guix build utils))
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'configure 'get-safetensor-cargo
+ (lambda _
+ (copy-recursively "bindings/python/Cargo.toml" "./Cargo.toml")
+ (substitute* "./Cargo.toml" ( ("name = \"safetensors_rust\"") "name = \"safetensors_rust\"\npath = \"bindings/python//src/lib.rs\"" ) )
+ (substitute* "./Cargo.toml" ( ("path = \"../../safetensors\"") "path = \"safetensors\"" ) )
+ ))
+ (add-after 'prepare-python-module 'build-python-module
+ (assoc-ref py:%standard-phases 'build))
+ (add-after 'build-python-module 'install-python-module
+ (assoc-ref py:%standard-phases 'install))
+ (add-after 'compress-documentation 'remove-bloat
+ (lambda _
+ (delete-file-recursively "target")
+ (delete-file-recursively "attacks")
+ (delete-file-recursively "safetensors")
+ ))
+ )
+
+ #:cargo-inputs
+ `(
+ ;("rust-safetensors" ,rust-safetensors-0.4)
+ ("rust-pyo3" ,rust-pyo3-0.20)
+ ("rust-criterion" ,rust-criterion-0.5)
+ ("rust-memmap2" ,rust-memmap2-0.5)
+ ("rust-proptest" ,rust-proptest-1)
+ ("rust-serde" ,rust-serde-1)
+ ("rust-serde-json" ,rust-serde-json-1)
+ )
+ #:install-source? #false))
+ (inputs
+ (list maturin rust-safetensors-0.4 python-wheel))
+ (native-inputs
+ (list python-wrapper))
+ (home-page "https://github.com/huggingface/safetensors")
+ (synopsis "a new simple format for storing tensors safely")
+ (description "This repository implements a new simple format for storing tensors safely (as opposed to pickle) and that is still fast (zero-copy).")
+ (license license:asl2.0)))
+
+(define-public stable-diffusion-cpp
+ (package
+ (name "stable-diffusion-cpp")
+ (version "48bcce493f45a11d9d5a4c69943d03ff919d748f")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/leejet/stable-diffusion.cpp.git")
+ (recursive? #t)
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1sx0y3b2bz9b5nqmav4g0hrsxinih3scyywy3zam8ywamcfpvww1"))))
+ (build-system cmake-build-system)
+ (inputs (list openblas))
+ (arguments
+ '(
+ #:tests? #f
+ ;#:cmake "--config Release"
+ ;#:configure-flags (list "-DSD_CUBLAS=ON -DGGML_OPENBLAS=ON --config Release")
+ #:configure-flags (list "-DGGML_OPENBLAS=ON --config Release")
+ )
+ )
+ (home-page "https://github.com/leejet/stable-diffusion.cpp")
+ (synopsis "Inference of Stable Diffusion in pure C/C++")
+ (description "Inference of Stable Diffusion in pure C/C++")
+ (license license:expat)))
+
+
+
+(define-public clip-cpp
+ (package
+ (name "clip-cpp")
+ (version "f4ee24bb86680a27f83c8e8c70adbcf4cb776615")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/monatis/clip.cpp")
+ (recursive? #t)
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0wybslxzygs1bwdmiy9la0fzids112iiajb3ca6sjkhjp7nwakky"))))
+ (build-system cmake-build-system)
+ ;(inputs (list openblas))
+ (arguments
+ (list
+ #:tests? #f
+ ;#:configure-flags #~(list "-DCLIP_BUILD_IMAGE_SEARCH=ON -DCLIP_OPENBLAS=ON")
+ #:configure-flags #~(list "-DCLIP_OPENBLAS=ON")
+ #:modules '((ice-9 textual-ports)
+ (guix build utils)
+ ((guix build python-build-system) #:prefix python:)
+ (guix build cmake-build-system))
+ #:imported-modules `(,@%cmake-build-system-modules
+ (guix build python-build-system))
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'install 'install-python-scripts
+ (lambda _
+ (let ((bin (string-append #$output "/bin/")))
+ (define (make-script script)
+ (let ((suffix (if (string-suffix? ".py" script) "" ".py")))
+ (call-with-input-file
+ (string-append "../source/models/" script suffix)
+ (lambda (input)
+ (call-with-output-file (string-append bin script)
+ (lambda (output)
+ (format output "#!~a/bin/python3\n~a"
+ #$(this-package-input "python")
+ (get-string-all input))))))
+ (chmod (string-append bin script) #o555)))
+ (mkdir-p bin)
+ (make-script "convert_hf_to_gguf")
+ )))
+ (add-after 'install-python-scripts 'wrap-python-scripts
+ (assoc-ref python:%standard-phases 'wrap))
+ (replace 'install
+ (lambda _
+ (copy-file "bin/main" (string-append #$output "/bin/clip"))
+ (copy-file "bin/zsl" (string-append #$output "/bin/clip-zsl"))
+ (copy-file "bin/extract" (string-append #$output "/bin/clip-extract"))
+ )))))
+ (inputs
+ `(
+ ("python", python)
+ ("openblas", openblas)
+; ("ursearch"
+; ,(origin
+; (method git-fetch)
+; (uri (git-reference
+; (url "https://github.com/unum-cloud/usearch")
+; (recursive? #t)
+; (commit "v2.11.4")))
+; (sha256
+; (base32 "0l4gm6z5dal3146izqs7x82yf3sh4bsfwa9rkmnm2m4yc2snfbhp"))
+; )
+; )))
+)
+)
+; (native-inputs (list git-minimal))
+ (home-page "https://github.com/leejet/stable-diffusion.cpp")
+ (synopsis "Inference of Stable Diffusion in pure C/C++")
+ (description "Inference of Stable Diffusion in pure C/C++")
+ (license license:expat)))
diff --git a/rclip.scm b/rclip.scm
deleted file mode 100644
index c12a5be..0000000
--- a/rclip.scm
+++ /dev/null
@@ -1,388 +0,0 @@
-(define-module (rclip)
- #:use-module (gnu packages protobuf)
- #:use-module (gnu packages check)
- #:use-module (gnu packages python)
- #:use-module (gnu packages python-check)
- #:use-module (gnu packages python-build)
- #:use-module (gnu packages python-xyz)
- #:use-module (gnu packages python-web)
- #:use-module (gnu packages python-crypto)
- #:use-module (gnu packages machine-learning)
- #:use-module (gnu packages rust)
- #:use-module (gnu packages rust-apps)
- #:use-module (gnu packages crates-io)
- #:use-module (guix build-system python)
- #:use-module (guix build-system pyproject)
- #:use-module (guix build-system cargo)
- #:use-module (guix build utils)
- #:use-module (guix git-download)
- #:use-module (guix packages)
- #:use-module (guix gexp)
- #:use-module (guix download)
- #:use-module ((guix licenses) :prefix license:)
-)
-
-(define-public poetry-plugin-export
- (package
- (name "poetry-plugin-export")
- (version "1.7.1")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "poetry_plugin_export" version))
- (sha256
- (base32 "0bp2640l7v9digjccj0wz086s1xa4hdbrcvdpa84544a46vcyqng"))))
- (build-system pyproject-build-system)
- (propagated-inputs (list python-poetry-core-1.9.0))
- (home-page "https://python-poetry.org/")
- (synopsis "Poetry plugin to export the dependencies to various formats")
- (description "Poetry plugin to export the dependencies to various formats")
- (license license:expat)))
-
-(define-public python-poetry-core-1.9.0
- (package
- (inherit python-poetry-core)
- (name "python-poetry-core")
- (version "1.9.0")
- ))
-
-(define-public poetry-1.8.2
- (package
- (inherit poetry)
- (name "poetry")
- (version "1.8.2")
- ))
-
-(define-public poetry-1.3
- (package
- (inherit poetry)
- (name "poetry")
- (version "1.3")
- ))
-
-(define-public python-installer
- (package
- (name "python-installer")
- (version "0.7.0")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "installer" version))
- (sha256
- (base32 "0cdnqh3a3amw8k4s1pzfjh0hpvzw4pczgl702s1b16r82qqkwvd2"))))
- (build-system pyproject-build-system)
- (inputs (list python-flit-core))
- (home-page "")
- (synopsis "A library for installing Python wheels.")
- (description
- "This package provides a library for installing Python wheels.")
- (license #f)))
-
-(define-public python-rclip
- (package
- (name "rclip")
- (version "1.7.26")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "rclip" version))
- (sha256
- (base32 "0q42fl2kx6j2lvm8f6dqy8lr9i8njgb00ywmzxfgz93b6gyf1npz"))))
- (build-system pyproject-build-system)
- (propagated-inputs (list python-open-clip-torch
- python-pillow
- python-requests
- python-pytorch
- python-torchvision
- python-tqdm
- python-poetry-core-1.9.0
- python-ftfy
- ;poetry-1.8.2
- ))
- (arguments
- '( #:phases
- (modify-phases %standard-phases
- (delete 'check) ;#TODO: see why this is broke
- (delete 'sanity-check) ;TODO: Fix broken sanity-check
- )))
- (home-page "https://github.com/yurijmikhalevich/rclip")
- (synopsis "AI-Powered Command-Line Photo Search Tool")
- (description "AI-Powered Command-Line Photo Search Tool")
- (license license:expat)))
-
-(define-public python-open-clip-torch
- (package
- (name "python-open-clip-torch")
- (version "2.24.0")
- ;(source
- ; (origin
- ; (method url-fetch)
- ; (uri (pypi-uri "open_clip_torch" version))
- ; (sha256
- ; (base32 "1zqr08ci6fpsvgi5q2329hgd630bbxrlx2pbk71jff1ixqm4iqhs"))))
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/mlfoundations/open_clip")
- (commit (string-append "v" version))
- ))
- (file-name (git-file-name name version))
- (sha256
- (base32 "0mby632z2qpahb8pd8cmn14bz4w1q0cngz7s6rmx2qwfg2fxf1ms"))))
- (build-system pyproject-build-system)
- (inputs (list python-ftfy
- python-huggingface-hub
- python-protobuf
- python-regex
- python-sentencepiece
- python-timm
- python-pytorch
- python-torchvision
- python-tqdm
- python-wheel
- ))
- (arguments
- '( #:phases
- (modify-phases %standard-phases
- (delete 'check) ;Networking required for checks, so disable them
- (delete 'sanity-check) ;TODO: Fix broken sanity-check
- )))
- (home-page "https://github.com/mlfoundations/open_clip")
- (synopsis "OpenCLIP")
- (description "@code{OpenCLIP}")
- (license #f)))
-
-(define-public python-ftfy
- (package
- (name "python-ftfy")
- ;(version "6.2.0")
- (version "5.5.1")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "ftfy" version))
- (sha256
- ;(base32 "1h3m9i1c2qp874fpg62gcp39yqdhc5mrsqd29ja9gvr5f0y18hjy"))))
- (base32 "1ci6xrj4g01a97nymxpv9nj820nlmgzc4ybaz9k46i6bnxzpax7s"))))
- (build-system pyproject-build-system)
- (native-inputs (list poetry))
- (propagated-inputs (list python-wcwidth))
- (arguments
- '( #:phases
- (modify-phases %standard-phases
- (delete 'check)
- )))
- (home-page "")
- (synopsis "Fixes mojibake and other problems with Unicode, after the fact")
- (description
- "Fixes mojibake and other problems with Unicode, after the fact")
- (license license:asl2.0)))
-
-(define-public python-expecttest
- (package
- (name "python-expecttest")
- (version "0.2.1")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "expecttest" version))
- (sha256
- (base32 "1xbkpcp3477ccgr4ks16v0j22i7a939bs2rajvk0cigqlvw1qaz5"))))
- (build-system pyproject-build-system)
- (arguments
- (list
- #:phases #~(modify-phases %standard-phases (delete 'check))))
- (native-inputs (list poetry))
- (home-page "https://github.com/ezyang/expecttest")
- (synopsis "")
- (description "")
- (license license:expat)))
-
-(define-public python-timm
- (package
- (name "python-timm")
- (version "0.9.16")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "timm" version))
- (sha256
- (base32 "1rkif1mkgryirn78aw9rkwplf3hzfqbw3c0slwqxynnmfprm87l9"))))
- (build-system pyproject-build-system)
- (arguments
- (list
- #:phases
- #~(modify-phases %standard-phases
- (delete 'check) ;takes FOREVER for some reason
- (delete 'sanity-check ;Crashes; #TODO: fix this
- ))))
- (inputs (list python-huggingface-hub python-pyyaml
- python-safetensors python-pytorch
- python-torchvision python-pdm-backend
-
- python-pytest python-pytest-timeout python-expecttest python-pytest-xdist))
- (home-page "https://github.com/huggingface/pytorch-image-models")
- (synopsis "PyTorch Image Models")
- (description "@code{PyTorch} Image Models")
- (license license:asl2.0)))
-
-(define-public rust-memmap2-0.5
- (package
- (name "rust-memmap2")
- (version "0.5.0")
- (source
- (origin
- (method url-fetch)
- (uri (crate-uri "memmap2" version))
- (file-name (string-append name "-" version ".tar.gz"))
- (sha256
- (base32 "0vp9pxd20gyq8196v73chxdw6gfxz3g4lkdkvffd5slgawds2is6"))))
- (build-system cargo-build-system)
- (arguments
- `(#:cargo-inputs (("rust-libc" ,rust-libc-0.2)
- ("rust-stable-deref-trait" ,rust-stable-deref-trait-1))
- #:cargo-development-inputs (("rust-owning-ref" ,rust-owning-ref-0.4)
- ("rust-tempdir" ,rust-tempdir-0.3))))
- (home-page "https://github.com/RazrFalcon/memmap2-rs")
- (synopsis "Cross-platform Rust API for memory-mapped file IO")
- (description "Cross-platform Rust API for memory-mapped file IO")
- (license (list license:expat license:asl2.0))))
-
-(define-public rust-safetensors-0.4
- (package
- (name "rust-safetensors")
- (version "0.4.2")
- (source
- (origin
- (method url-fetch)
- (uri (crate-uri "safetensors" version))
- (file-name (string-append name "-" version ".tar.gz"))
- (sha256
- (base32 "1vb9wsmsm7wfyvkl795wpc2iiwa3mx0vqhhym2q6yhrlzdmhx64d"))))
- (build-system cargo-build-system)
- (arguments
- `(#:cargo-inputs (("rust-serde" ,rust-serde-1)
- ("rust-serde-json" ,rust-serde-json-1))
- #:cargo-development-inputs (("rust-criterion" ,rust-criterion-0.4)
- ("rust-memmap2" ,rust-memmap2-0.5)
- ("rust-proptest" ,rust-proptest-1))))
- (home-page "https://github.com/huggingface/safetensors")
- (synopsis
- "Provides functions to read and write safetensors which aim to be safer than
-their PyTorch counterpart.
-The format is 8 bytes which is an unsized int, being the size of a JSON header,
-the JSON header refers the `dtype` the `shape` and `data_offsets` which are the offsets
-for the values in the rest of the file.
-")
- (description
- "This package provides functions to read and write safetensors which aim to be
-safer than their @code{PyTorch} counterpart. The format is 8 bytes which is an
-unsized int, being the size of a JSON header, the JSON header refers the `dtype`
-the `shape` and `data_offsets` which are the offsets for the values in the rest
-of the file.")
- (license license:asl2.0)))
-
-(define-public python-safetensors
- (package
- (name "python-safetensors")
- (version "0.4.2")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/huggingface/safetensors.git")
- (commit (string-append "v" version))
- ))
- (file-name (git-file-name name version))
- (sha256
- (base32 "1gs0ivd5m95jyy6j1yqvm8pq068xsk405gv0nwq2821vr4ix9lw5"))))
- (build-system cargo-build-system)
- (arguments
- (list
- #:imported-modules `(,@%cargo-build-system-modules
- ,@%pyproject-build-system-modules)
- #:modules '((guix build cargo-build-system)
- ((guix build pyproject-build-system) #:prefix py:)
- (guix build utils))
- #:phases
- #~(modify-phases %standard-phases
- (add-before 'configure 'get-safetensor-cargo
- (lambda _
- (copy-recursively "bindings/python/Cargo.toml" "./Cargo.toml")
- (substitute* "./Cargo.toml" ( ("name = \"safetensors_rust\"") "name = \"safetensors_rust\"\npath = \"bindings/python//src/lib.rs\"" ) )
- (substitute* "./Cargo.toml" ( ("path = \"../../safetensors\"") "path = \"safetensors\"" ) )
- ))
- (add-after 'prepare-python-module 'build-python-module
- (assoc-ref py:%standard-phases 'build))
- (add-after 'build-python-module 'install-python-module
- (assoc-ref py:%standard-phases 'install))
- (add-after 'compress-documentation 'remove-bloat
- (lambda _
- (delete-file-recursively "target")
- (delete-file-recursively "attacks")
- (delete-file-recursively "safetensors")
- ))
- )
-
- #:cargo-inputs
- `(
- ;("rust-safetensors" ,rust-safetensors-0.4)
- ("rust-pyo3" ,rust-pyo3-0.20)
- ("rust-criterion" ,rust-criterion-0.5)
- ("rust-memmap2" ,rust-memmap2-0.5)
- ("rust-proptest" ,rust-proptest-1)
- ("rust-serde" ,rust-serde-1)
- ("rust-serde-json" ,rust-serde-json-1)
- )
- #:install-source? #false))
- (inputs
- (list maturin rust-safetensors-0.4 python-wheel))
- (native-inputs
- (list python-wrapper))
- (home-page "https://github.com/huggingface/safetensors")
- (synopsis "a new simple format for storing tensors safely")
- (description "This repository implements a new simple format for storing tensors safely (as opposed to pickle) and that is still fast (zero-copy).")
- (license license:asl2.0)))
-
-;(define-public python-safetensors
-; (package
-; (name "python-safetensors")
-; (version "0.4.2")
-; (source
-; (origin
-; (method url-fetch)
-; (uri (pypi-uri "safetensors" version))
-; (sha256
-; (base32 "0wxcij5hxk4jgphn1w2g3vrh7ham9nnxg27mhykqlppc175mvj5c"))))
-; (build-system pyproject-build-system)
-; (native-inputs (list python-h5py
-; python-huggingface-hub
-; python-hypothesis
-; python-pytest
-; python-pytest-benchmark
-; python-setuptools-rust
-; rust
-; rust-cargo
-; maturin
-;
-; ;Dev Deps
-; rust-criterion-0.5
-; ;rust-memmap2-0.5
-; rust-proptest-1
-; ))
-; (inputs (list rust-serde-1 rust-serde-json-1))
-; (arguments
-; '( #:phases
-; (modify-phases %standard-phases
-; (add-before 'build 'use-maturin-offline
-; (lambda _
-;
-; (substitute* "pyproject.toml" ( ("bindings = 'pyo3'") "bindings = 'pyo3'\ncargo-extra-args=[\"--offline --locked --frozen\"]" ) ) )
-; ))
-; ))
-; (home-page "")
-; (synopsis "")
-; (description "")
-; (license #f)))
-;
diff --git a/stablediffusion.scm b/stablediffusion.scm
deleted file mode 100644
index ffc0047..0000000
--- a/stablediffusion.scm
+++ /dev/null
@@ -1,38 +0,0 @@
-(define-module (stablediffusion)
- #:use-module (guix build-system cmake)
- #:use-module (guix git-download)
- #:use-module (guix packages)
- #:use-module (guix gexp)
- #:use-module (guix download)
- #:use-module ((guix licenses) :prefix license:)
- #:use-module (gnu packages maths)
- )
-(define-public stable-diffusion-cpp
- (package
- (name "stable-diffusion-cpp")
- (version "48bcce493f45a11d9d5a4c69943d03ff919d748f")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/leejet/stable-diffusion.cpp.git")
- (recursive? #t)
- (commit version)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1sx0y3b2bz9b5nqmav4g0hrsxinih3scyywy3zam8ywamcfpvww1"))))
- (build-system cmake-build-system)
- (inputs (list openblas))
- (arguments
- '(
- #:tests? #f
- ;#:cmake "--config Release"
- ;#:configure-flags (list "-DSD_CUBLAS=ON -DGGML_OPENBLAS=ON --config Release")
- #:configure-flags (list "-DGGML_OPENBLAS=ON --config Release")
- )
- )
- (home-page "https://github.com/leejet/stable-diffusion.cpp")
- (synopsis "Inference of Stable Diffusion in pure C/C++")
- (description "Inference of Stable Diffusion in pure C/C++")
- (license license:expat)))