summary refs log tree commit diff
diff options
context:
space:
mode:
authorVinicius Monego <monego@posteo.net>2020-11-23 12:40:32 -0300
committerLeo Famulari <leo@famulari.name>2020-11-25 18:38:00 -0500
commit6a5da0d0342641c935451152b39df34b4f1ac680 (patch)
tree87e918b1c2d2760931150e43329f99e444cf401a
parent8cd10a76b886cc92ef20562eeebba53f401e3b35 (diff)
downloadguix-6a5da0d0342641c935451152b39df34b4f1ac680.tar.gz
gnu: Add python-opentsne.
* gnu/packages/machine-learning.scm (python-opentsne): New variable.

Signed-off-by: Leo Famulari <leo@famulari.name>
-rw-r--r--gnu/packages/machine-learning.scm45
1 files changed, 45 insertions, 0 deletions
diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm
index 2ad148b48e..f1d0922ef2 100644
--- a/gnu/packages/machine-learning.scm
+++ b/gnu/packages/machine-learning.scm
@@ -896,6 +896,51 @@ data analysis.")
 for k-neighbor-graph construction and approximate nearest neighbor search.")
     (license license:bsd-2)))
 
+(define-public python-opentsne
+  (package
+    (name "python-opentsne")
+    (version "0.4.4")
+    (source
+     (origin
+       ;; No tests in the PyPI tarball.
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/pavlin-policar/openTSNE")
+             (commit (string-append "v" version))))
+       (file-name (string-append name "-" version "-checkout"))
+       (sha256
+        (base32 "08wamsssmyf6511cbmglm67dp48i6xazs89m1cskdk219v90bc76"))))
+    (build-system python-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         ;; Benchmarks require the 'macosko2015' data files.
+         (add-after 'unpack 'delete-benchmark
+           (lambda _
+             (delete-file-recursively "benchmarks")
+             #t))
+         ;; Numba needs a writable dir to cache functions.
+         (add-before 'check 'set-numba-cache-dir
+           (lambda _
+             (setenv "NUMBA_CACHE_DIR" "/tmp")
+             #t)))))
+    (native-inputs
+     `(("python-cython" ,python-cython)))
+    (inputs
+     `(("fftw" ,fftw)))
+    (propagated-inputs
+     `(("python-numpy" ,python-numpy)
+       ("python-pynndescent" ,python-pynndescent)
+       ("python-scikit-learn" ,python-scikit-learn)
+       ("python-scipy" ,python-scipy)))
+    (home-page "https://github.com/pavlin-policar/openTSNE")
+    (synopsis "Extensible, parallel implementations of t-SNE")
+    (description
+     "This is a modular Python implementation of t-Distributed Stochastic
+Neighbor Embedding (t-SNE), a popular dimensionality-reduction algorithm for
+visualizing high-dimensional data sets.")
+    (license license:bsd-3)))
+
 (define-public python-scikit-rebate
   (package
     (name "python-scikit-rebate")