From 289e95bff3c00299df295d8f8797155776a6ee65 Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Mon, 9 Mar 2020 19:25:08 +0100 Subject: WIP: Add mxnet. * gnu/packages/machine-learning.scm (mxnet): New variable. --- gnu/packages/machine-learning.scm | 62 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm index 50c41dc113..9408c4b8e0 100644 --- a/gnu/packages/machine-learning.scm +++ b/gnu/packages/machine-learning.scm @@ -60,6 +60,8 @@ #:use-module (gnu packages graphviz) #:use-module (gnu packages gstreamer) #:use-module (gnu packages image) + #:use-module (gnu packages image-processing) + #:use-module (gnu packages jemalloc) #:use-module (gnu packages linux) #:use-module (gnu packages lisp-xyz) #:use-module (gnu packages maths) @@ -2121,3 +2123,63 @@ These include a barrier, broadcast, and allreduce.") technique that can be used for visualisation similarly to t-SNE, but also for general non-linear dimension reduction.") (license license:bsd-3))) + +(define-public mxnet + (package + (name "mxnet") + (version "1.6.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/apache/incubator-mxnet") + (commit version) + ;; TODO: Test if possible to include system version of those deps: + ;; mkldnn + ;; openmp + (recursive? #t))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1jlk0a9kls4fxxq4sap21hk6k3vhqhlflx5jm8i2amwh1z22sj09")))) + (build-system cmake-build-system) + (arguments + `(#:configure-flags '("-DUSE_CUDA=OFF") + #:parallel-build? #f ; TODO: Try rebuilding in parallel. + #:phases + (modify-phases %standard-phases + (replace 'check + (lambda _ + ;; Skip tests that require internet access. + (invoke "ctest" "--timeout" "6000"))) + ;; (add-before 'check 'increase-test-timeout + ;; (lambda _ + ;; ;; TODO: Set right timeout. + ;; (setenv "CTEST_TEST_TIMEOUT" "6000") + ;; #t)) + ))) + (native-inputs + `(("pkg-config" ,pkg-config) + ("perl" ,perl) + ;; TODO: Use our gtest + ;; ("googletest" ,googletest) + )) + (inputs + `(("lapack" ,lapack) + ("openblas" ,openblas) + ("opencv" ,opencv) + ("jemalloc" ,jemalloc))) + (home-page "https://mxnet.apache.org/") + (synopsis "Distributed/Mobile Deep Learning") + (description + "Apache MXNet (incubating) is a deep learning framework. It allows you +to mix symbolic and imperative programming. At its core, MXNet contains a +dynamic dependency scheduler that automatically parallelizes both symbolic and +imperative operations on the fly. A graph optimization layer on top of that +makes symbolic execution fast and memory efficient. MXNet is portable and +lightweight, scaling effectively to multiple GPUs and multiple machines. + +MXNet is more than a deep learning project. It is a collection of blue prints +and guidelines for building deep learning systems, and interesting insights of +DL systems for hackers.") + (license license:asl2.0))) -- cgit v1.2.3