TensorFlow

DoneSubmitted by Ricardo Wurmus.
Details
4 participants
  • Björn Höfling
  • Ludovic Courtès
  • Ricardo Wurmus
  • Fis Trivial
Owner
unassigned
Severity
normal
R
R
Ricardo Wurmus wrote on 8 May 2018 16:54
(address . guix-patches@gnu.org)
idj603y42r9.fsf@bimsb-sys02.mdc-berlin.net
This patch series adds a package for TensorFlow (without GPU support).I don’t know how useful this is because it just provides a single 180+MBstatically linked archive (and header files). It is only the “core”part of TensorFlow.
The problem here is that the build system is Bazel, which cannot easilybe built from source. Bazel bundles 60+ third-party Java packages, someof which are very complex and are very difficult to package. TensorFlowcomes with an unsupported Makefile that builds a single staticallylinked library of only the core parts. That’s what this packageprovides.
Note that TensorFlow 1.8 has been released a few days ago. This packageonly adds version 1.7.
--Ricardo
R
R
Ricardo Wurmus wrote on 8 May 2018 16:59
[PATCH 2/3] gnu: Add gemmlowp-for-tensorflow.
(address . 31386@debbugs.gnu.org)(name . Ricardo Wurmus)(address . ricardo.wurmus@mdc-berlin.de)
20180508145909.25354-2-ricardo.wurmus@mdc-berlin.de
* gnu/packages/machine-learning.scm (gemmlowp-for-tensorflow): New variable.--- gnu/packages/machine-learning.scm | 54 ++++++++++++++++++++++++++++++++++++++- 1 file changed, 53 insertions(+), 1 deletion(-)
Toggle diff (72 lines)diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scmindex f0d35484e..87fbec6b6 100644--- a/gnu/packages/machine-learning.scm+++ b/gnu/packages/machine-learning.scm@@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU-;;; Copyright © 2015, 2016, 2017 Ricardo Wurmus <rekado@elephly.net>+;;; Copyright © 2015, 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016, 2017 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2016 Hartmut Goebel <h.goebel@crazy-compilers.com>@@ -557,6 +557,58 @@ Support Vector Machines, Spectral Clustering, Kernel PCA, Gaussian Processes and a QP solver.") (license license:gpl2))) +;; TODO: We may need to pass "-msse4.1" as an additional optimization flag+;; when building for x86_64. This is strongly recommended by the authors in+;; the README.md.+(define-public gemmlowp-for-tensorflow+ (let ((commit "7c7c744640ddc3d0af18fb245b4d23228813a71b"))+ (package+ (name "gemmlowp")+ (version (string-append "0-1." (string-take commit 7)))+ (source (origin+ (method url-fetch)+ (uri (string-append "https://mirror.bazel.build/"+ "github.com/google/gemmlowp/archive/"+ commit ".zip"))+ (sha256+ (base32+ "1kxj8h017q4r1dcva61vziwmks66rvr0iw93lg45fwws4n8cqlmq"))))+ (build-system cmake-build-system)+ (arguments+ `(#:phases+ (modify-phases %standard-phases+ ;; This directory contains the CMakeLists.txt.+ (add-after 'unpack 'chdir+ (lambda _ (chdir "contrib") #t))+ ;; There is no install target+ (replace 'install+ (lambda* (#:key outputs #:allow-other-keys)+ (let* ((out (assoc-ref outputs "out"))+ (lib (string-append out "/lib/"))+ (inc (string-append out "/include/")))+ (install-file "../build/libeight_bit_int_gemm.so" lib)+ (for-each (lambda (dir)+ (let ((target (string-append inc "/" dir)))+ (mkdir-p target)+ (for-each (lambda (h)+ (install-file h target))+ (find-files (string-append "../" dir)+ "\\.h$"))))+ '("meta" "profiling" "public" "fixedpoint"+ "eight_bit_int_gemm" "internal"))+ #t))))))+ (native-inputs+ `(("unzip" ,unzip)))+ (home-page "https://github.com/google/gemmlowp")+ (synopsis "Small self-contained low-precision GEMM library")+ (description+ "This is a small self-contained low-precision @dfn{general matrix+multiplication} (GEMM) library. It is not a full linear algebra library.+Low-precision means that the input and output matrix entries are integers on+at most 8 bits. To avoid overflow, results are internally accumulated on more+than 8 bits, and at the end only some significant 8 bits are kept.")+ (license license:asl2.0))))+ (define-public dlib (package (name "dlib")-- 2.15.1
R
R
Ricardo Wurmus wrote on 8 May 2018 16:59
[PATCH 1/3] gnu: eigen: Include unsupported features.
(address . 31386@debbugs.gnu.org)(name . Ricardo Wurmus)(address . ricardo.wurmus@mdc-berlin.de)
20180508145909.25354-1-ricardo.wurmus@mdc-berlin.de
* gnu/packages/algebra.scm (eigen)[source]: Do not build the tests forunsupported features, but include the files.--- gnu/packages/algebra.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-)
Toggle diff (19 lines)diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scmindex 03a61be47..6daf588cd 100644--- a/gnu/packages/algebra.scm+++ b/gnu/packages/algebra.scm@@ -732,9 +732,10 @@ Sine Transform} (DST) and @dfn{Discrete Hartley Transform} (DHT).") ;; but maintainers say it's a known issue and it's unsupported ;; anyway, so just skip them. '(begin+ (substitute* "unsupported/CMakeLists.txt"+ (("add_subdirectory\\(test.*")+ "# Do not build the tests for unsupported features.\n")) (substitute* "CMakeLists.txt"- (("add_subdirectory\\(unsupported\\)")- "# Do not build the tests for unsupported features.\n") ;; Work around ;; <http://eigen.tuxfamily.org/bz/show_bug.cgi?id=1114>. (("\"include/eigen3\"")-- 2.15.1
R
R
Ricardo Wurmus wrote on 8 May 2018 16:59
[PATCH 3/3] gnu: Add tensorflow-core.
(address . 31386@debbugs.gnu.org)(name . Ricardo Wurmus)(address . ricardo.wurmus@mdc-berlin.de)
20180508145909.25354-3-ricardo.wurmus@mdc-berlin.de
* gnu/packages/machine-learning.scm (tensorflow-core): New variable.--- gnu/packages/machine-learning.scm | 113 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 113 insertions(+)
Toggle diff (140 lines)diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scmindex 87fbec6b6..e02e89ef4 100644--- a/gnu/packages/machine-learning.scm+++ b/gnu/packages/machine-learning.scm@@ -36,6 +36,7 @@ #:use-module (guix build-system r) #:use-module (guix git-download) #:use-module (gnu packages)+ #:use-module (gnu packages algebra) #:use-module (gnu packages autotools) #:use-module (gnu packages boost) #:use-module (gnu packages check)@@ -48,6 +49,7 @@ #:use-module (gnu packages ocaml) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config)+ #:use-module (gnu packages protobuf) #:use-module (gnu packages python) #:use-module (gnu packages statistics) #:use-module (gnu packages swig)@@ -609,6 +611,117 @@ at most 8 bits. To avoid overflow, results are internally accumulated on more than 8 bits, and at the end only some significant 8 bits are kept.") (license license:asl2.0)))) +(define-public tensorflow-core+ (package+ (name "tensorflow-core")+ (version "1.7.0")+ (source+ (origin+ (method git-fetch)+ (uri (git-reference+ (url "https://github.com/tensorflow/tensorflow.git")+ (commit (string-append "v" version))))+ (file-name (string-append "tensorflow-" version "-checkout"))+ (sha256+ (base32+ "0jljzbwhmxi8crbivwachcmlfrrv279qrsvwc62cnnbyw0n1g0kp"))))+ (build-system gnu-build-system)+ (arguments+ `(#:tests? #f ; no "check" target+ #:make-flags+ (list "-f" "tensorflow/contrib/makefile/Makefile"+ "CC=gcc")+ #:phases+ (modify-phases %standard-phases+ (delete 'configure)+ (add-after 'unpack 'fix-version+ (lambda _+ (substitute* "tensorflow/tools/git/gen_git_source.sh"+ (("^GIT_VERSION=.*")+ (string-append "GIT_VERSION=" ,version "\n")))+ #t))+ (add-after 'unpack 'unpack-third-party+ (lambda* (#:key inputs #:allow-other-keys)+ (with-directory-excursion "tensorflow/contrib/makefile/"+ (let ((fft2d "downloads/fft2d")+ (nsync "downloads/nsync"))+ (mkdir-p fft2d)+ (invoke "tar" "xf" (assoc-ref inputs "fft2d")+ "-C" fft2d "--strip-components=1")+ (mkdir-p nsync)+ (invoke "tar" "xf" (assoc-ref inputs "nsync")+ "-C" nsync "--strip-components=1")))))+ ;; FIXME: it would be nice to build a separate package for nsync and+ ;; use it here. Unfortunately, I could not build Tensorflow with a+ ;; separately built nsync.+ (add-before 'build 'build-nsync+ (lambda _+ (with-directory-excursion "tensorflow/contrib/makefile/"+ (invoke "bash" "compile_nsync.sh")+ (setenv "TARGET_NSYNC_LIB"+ "tensorflow/contrib/makefile/downloads/nsync/builds/default.linux.c++11/nsync.a")+ (setenv "HOST_NSYNC_LIB"+ "tensorflow/contrib/makefile/downloads/nsync/builds/default.linux.c++11/nsync.a")+ #t)))+ (add-after 'unpack 'find-eigen-headers+ (lambda* (#:key inputs #:allow-other-keys)+ ;; Ensure that Eigen headers can be found+ (setenv "CPLUS_INCLUDE_PATH"+ (string-append (getenv "CPLUS_INCLUDE_PATH")+ ":"+ (assoc-ref inputs "eigen")+ "/include/eigen3"))+ #t))+ (replace 'install+ (lambda* (#:key outputs #:allow-other-keys)+ (let* ((out (assoc-ref outputs "out"))+ (lib (string-append out "/lib"))+ (inc (string-append out "/include")))+ (install-file "tensorflow/contrib/makefile/gen/lib/libtensorflow-core.a" lib)+ (for-each (lambda (file)+ (let ((target (string-append inc "/"+ (dirname file))))+ (mkdir-p target)+ (install-file file target)))+ (find-files "tensorflow/core" ".*\\.h$"))+ #t))))))+ (native-inputs+ `(("protobuf" ,protobuf) ; protoc+ ;; "You may use, copy, modify this code for any purpose and without+ ;; fee. You may distribute this ORIGINAL package."+ ("fft2d"+ ,(origin+ (method url-fetch)+ (uri "https://mirror.bazel.build/www.kurims.kyoto-u.ac.jp/~ooura/fft.tgz")+ (sha256+ (base32+ "15jjkfvhqvl2c0753d2di8hz0pyzn598g74wqy79awdrf1y67fsj"))))+ ("nsync"+ ,(origin+ (method url-fetch)+ (uri (string-append "https://mirror.bazel.build/"+ "github.com/google/nsync/archive/"+ "0559ce013feac8db639ee1bf776aca0325d28777.tar.gz"))+ (sha256+ (base32+ "0qdkyqym34x739mmzv97ah5r7ph462v5xkxqxvidmcfqbi64b132"))))+ ("googletest" ,googletest)))+ (inputs+ `(("eigen" ,eigen-for-tensorflow)+ ("gemmlowp" ,gemmlowp-for-tensorflow)+ ("protobuf" ,protobuf)+ ("zlib" ,zlib)))+ (home-page "https://tensorflow.org")+ (synopsis "Machine learning framework")+ (description+ "TensorFlow is a software library for high performance numerical+computation. Its flexible architecture allows easy deployment of computation+across a variety of platforms, and from desktops to clusters of servers to+mobile and edge devices.++This package provides only the core library.")+ (license license:asl2.0)))+ (define-public dlib (package (name "dlib")-- 2.15.1
F
F
Fis Trivial wrote on 8 May 2018 19:52
Re: [bug#31386] TensorFlow
(name . Ricardo Wurmus)(address . ricardo.wurmus@mdc-berlin.de)(name . 31386@debbugs.gnu.org)(address . 31386@debbugs.gnu.org)
BLUPR16MB0500F19BA959CD0EAC62637B929A0@BLUPR16MB0500.namprd16.prod.outlook.com
Ricardo Wurmus writes:
Toggle quote (14 lines)> This patch series adds a package for TensorFlow (without GPU support). > I don’t know how useful this is because it just provides a single 180+MB > statically linked archive (and header files). It is only the “core” > part of TensorFlow. > > The problem here is that the build system is Bazel, which cannot easily > be built from source. Bazel bundles 60+ third-party Java packages, some > of which are very complex and are very difficult to package. TensorFlow > comes with an unsupported Makefile that builds a single statically > linked library of only the core parts. That’s what this package > provides. > > Note that TensorFlow 1.8 has been released a few days ago. This package > only adds version 1.7.
That's still amazing. I thought about packaging bazel and looked into the nix package[1]. The package definition from nix isn't very long, but requires patches. I dropped the matter since I'm not familiar with java. [1]: https://github.com/NixOS/nixpkgs/tree/master/pkgs/development/tools/build-managers/bazel
B
B
Björn Höfling wrote on 8 May 2018 21:26
(name . Fis Trivial)(address . ybbs.daans@hotmail.com)
20180508212627.2e3449e6@alma-ubu
On Tue, 8 May 2018 17:52:10 +0000Fis Trivial <ybbs.daans@hotmail.com> wrote:

Toggle quote (7 lines)> I thought about packaging bazel and looked into the nix package[1].> The package definition from nix isn't very long, but requires> patches. I dropped the matter since I'm not familiar with java.> > [1]:> https://github.com/NixOS/nixpkgs/tree/master/pkgs/development/tools/build-managers/bazel
NixOS is just using the bundled dependencies. For Guix, we at leasthave to check that all this bundled source code is really freesoftware, not just open source. Better we unbundle them and use thedependencies from Guix.
Björn
-----BEGIN PGP SIGNATURE-----Version: GnuPG v2
iEYEARECAAYFAlrx+eQACgkQvyhstlk+X/1hzQCgliYo1S9sWYfMTyQsdykmWYV1vVsAn13RL3TrCVq03S7OcbjrGfAqP9lv=5pou-----END PGP SIGNATURE-----

L
L
Ludovic Courtès wrote on 10 May 2018 00:43
(name . Ricardo Wurmus)(address . ricardo.wurmus@mdc-berlin.de)(address . 31386@debbugs.gnu.org)
87zi18v4am.fsf@gnu.org
Ricardo Wurmus <ricardo.wurmus@mdc-berlin.de> skribis:
Toggle quote (5 lines)> This patch series adds a package for TensorFlow (without GPU support).> I don’t know how useful this is because it just provides a single 180+MB> statically linked archive (and header files). It is only the “core”> part of TensorFlow.
Quite an achievement! I wonder if people would normally use this .alibrary. Doesn’t TensorFlow have Python bindings as well?
Thank you,Ludo’.
L
L
Ludovic Courtès wrote on 10 May 2018 00:44
Re: [bug#31386] [PATCH 1/3] gnu: eigen: Include unsupported features.
(name . Ricardo Wurmus)(address . ricardo.wurmus@mdc-berlin.de)(address . 31386@debbugs.gnu.org)
87vabwv48t.fsf@gnu.org
Ricardo Wurmus <ricardo.wurmus@mdc-berlin.de> skribis:
Toggle quote (3 lines)> * gnu/packages/algebra.scm (eigen)[source]: Do not build the tests for> unsupported features, but include the files.
I was reluctant about installing those, but IIRC they go to$includedir/…/unsupported, right? In that case, it’s up to users toexplicitly #include from unsupported/ so it’s probably fine.
Thanks,Ludo’.
L
L
Ludovic Courtès wrote on 10 May 2018 00:48
Re: [bug#31386] [PATCH 2/3] gnu: Add gemmlowp-for-tensorflow.
(name . Ricardo Wurmus)(address . ricardo.wurmus@mdc-berlin.de)(address . 31386@debbugs.gnu.org)
87po24v42b.fsf@gnu.org
Ricardo Wurmus <ricardo.wurmus@mdc-berlin.de> skribis:
Toggle quote (2 lines)> * gnu/packages/machine-learning.scm (gemmlowp-for-tensorflow): New variable.
[...]
Toggle quote (4 lines)> +;; TODO: We may need to pass "-msse4.1" as an additional optimization flag> +;; when building for x86_64. This is strongly recommended by the authors in> +;; the README.md.
It’d be nice to produce a patch to have “function multi-versioning” forthe hot parts, as described athttps://clearlinux.org/documentation/clear-linux/tutorials/fmv.
Toggle quote (3 lines)> +(define-public gemmlowp-for-tensorflow> + (let ((commit "7c7c744640ddc3d0af18fb245b4d23228813a71b"))
Could you comment on how you chose this commit? Is it because it startswith “7c7c”? ;-)
Otherwise LGTM!
Ludo’.
L
L
Ludovic Courtès wrote on 10 May 2018 00:51
Re: [bug#31386] [PATCH 3/3] gnu: Add tensorflow-core.
(name . Ricardo Wurmus)(address . ricardo.wurmus@mdc-berlin.de)(address . 31386@debbugs.gnu.org)
87k1scv3wl.fsf@gnu.org
Ricardo Wurmus <ricardo.wurmus@mdc-berlin.de> skribis:
Toggle quote (2 lines)> * gnu/packages/machine-learning.scm (tensorflow-core): New variable.
[...]
Toggle quote (4 lines)> + #:make-flags> + (list "-f" "tensorflow/contrib/makefile/Makefile"> + "CC=gcc")
Perhaps we should add a comment on why not Bazel.
Toggle quote (6 lines)> + (native-inputs> + `(("protobuf" ,protobuf) ; protoc> + ;; "You may use, copy, modify this code for any purpose and without> + ;; fee. You may distribute this ORIGINAL package."> + ("fft2d"
Doesn’t that make fft2d non-free, if we cannot redistribute modified copies?
Toggle quote (4 lines)> + ,(origin> + (method url-fetch)> + (uri "https://mirror.bazel.build/www.kurims.kyoto-u.ac.jp/~ooura/fft.tgz")
Unversioned URL. :-/
Thank you!
Ludo’.
R
R
Ricardo Wurmus wrote on 10 May 2018 10:34
(name . Ludovic Courtès)(address . ludo@gnu.org)(address . 31386@debbugs.gnu.org)
87bmdngb93.fsf@mdc-berlin.de
Ludovic Courtès <ludo@gnu.org> writes:
Toggle quote (20 lines)> Ricardo Wurmus <ricardo.wurmus@mdc-berlin.de> skribis:>>> * gnu/packages/machine-learning.scm (tensorflow-core): New variable.>> [...]>>> + #:make-flags>> + (list "-f" "tensorflow/contrib/makefile/Makefile">> + "CC=gcc")>> Perhaps we should add a comment on why not Bazel.>>> + (native-inputs>> + `(("protobuf" ,protobuf) ; protoc>> + ;; "You may use, copy, modify this code for any purpose and without>> + ;; fee. You may distribute this ORIGINAL package.">> + ("fft2d">> Doesn’t that make fft2d non-free, if we cannot redistribute modified copies?
I really don’t understand the second sentence. The first sentence saysthat “this code” may be copied and modified “for any purpose”. Thesecond sentence doesn’t seem to add anything, but that depends on howyou read it.
You may *only* distribute this [source archive]. You may *also* distribute this [unmodified package].
I wrote an email to the author’s email address, but I don’t know if thataddress is still in use.
Anyway: I just went to http://www.kurims.kyoto-u.ac.jp/~ooura/fft.html,where this sentence has been removed. The license notice now looks likethis:
Copyright Takuya OOURA, 1996-2001
You may use, copy, modify and distribute this code for any purpose (include commercial use) and without fee. Please refer to this package when you modify this code.
The notice in the readme.txt is unchanged, though.
Toggle quote (6 lines)>> + ,(origin>> + (method url-fetch)>> + (uri "https://mirror.bazel.build/www.kurims.kyoto-u.ac.jp/~ooura/fft.tgz")>> Unversioned URL. :-/
Yeah :(
The upstream URL is also unversioned, but it looks like development hasceased in 2006.
--Ricardo
R
R
Ricardo Wurmus wrote on 10 May 2018 10:40
Re: [bug#31386] [PATCH 2/3] gnu: Add gemmlowp-for-tensorflow.
(name . Ludovic Courtès)(address . ludo@gnu.org)(address . 31386@debbugs.gnu.org)
87a7t7gayk.fsf@mdc-berlin.de
Ludovic Courtès <ludo@gnu.org> writes:
Toggle quote (14 lines)> Ricardo Wurmus <ricardo.wurmus@mdc-berlin.de> skribis:>>> * gnu/packages/machine-learning.scm (gemmlowp-for-tensorflow): New variable.>> [...]>>> +;; TODO: We may need to pass "-msse4.1" as an additional optimization flag>> +;; when building for x86_64. This is strongly recommended by the authors in>> +;; the README.md.>> It’d be nice to produce a patch to have “function multi-versioning” for> the hot parts, as described at> <https://clearlinux.org/documentation/clear-linux/tutorials/fmv>.
Yeah, that would be nice. However, I don’t know how to test theresulting binary.
Toggle quote (6 lines)>> +(define-public gemmlowp-for-tensorflow>> + (let ((commit "7c7c744640ddc3d0af18fb245b4d23228813a71b"))>> Could you comment on how you chose this commit? Is it because it starts> with “7c7c”? ;-)
That’s the commit that the TensorFlow build system refers to.
--Ricardo
R
R
Ricardo Wurmus wrote on 10 May 2018 10:42
Re: [bug#31386] [PATCH 1/3] gnu: eigen: Include unsupported features.
(name . Ludovic Courtès)(address . ludo@gnu.org)(address . 31386@debbugs.gnu.org)
878t8rgavt.fsf@mdc-berlin.de
Ludovic Courtès <ludo@gnu.org> writes:
Toggle quote (9 lines)> Ricardo Wurmus <ricardo.wurmus@mdc-berlin.de> skribis:>>> * gnu/packages/algebra.scm (eigen)[source]: Do not build the tests for>> unsupported features, but include the files.>> I was reluctant about installing those, but IIRC they go to> $includedir/…/unsupported, right? In that case, it’s up to users to> explicitly #include from unsupported/ so it’s probably fine.
That’s correct.
As it turns out, this alone is not sufficient for TensorFlow. They havesome additional Eigen source files that they bundle with the TensorFlowsources, which must be present at build time.
--Ricardo
L
L
Ludovic Courtès wrote on 10 May 2018 22:24
Re: [bug#31386] [PATCH 3/3] gnu: Add tensorflow-core.
(name . Ricardo Wurmus)(address . ricardo.wurmus@mdc-berlin.de)(address . 31386@debbugs.gnu.org)
871sejuumw.fsf@gnu.org
Ricardo Wurmus <ricardo.wurmus@mdc-berlin.de> skribis:
Toggle quote (10 lines)> Anyway: I just went to http://www.kurims.kyoto-u.ac.jp/~ooura/fft.html,> where this sentence has been removed. The license notice now looks like> this:>> Copyright Takuya OOURA, 1996-2001>> You may use, copy, modify and distribute this code for any purpose> (include commercial use) and without fee. Please refer to this> package when you modify this code.
That looks better, thanks for checking.
Ludo’.
R
R
Ricardo Wurmus wrote on 2 Jan 2019 17:16
Add tensorflow.
(address . guix-patches@gnu.org)(address . 31386-done@debbugs.gnu.org)
idjd0pf5926.fsf@bimsb-sys02.mdc-berlin.net
Hi Guix,
the following series of patches supersedes #31386. The first twopatches are for “tensorflow-core”, which is pretty useless. Everythingafter that is for the “tensorflow” package, which provides the Pythoninterface people commonly use.
The package is horrible, so let’s try to fix this together. I’ve cut afew corners, so I don’t want to add this to Guix as is. We should tryto reduce the amount of bundled third-party code.
I haven’t been able to test this, because I’ve hit an unrelated bug (thedreaded miscompilation of the info-dir derivation).
--Ricardo
Closed
R
R
Ricardo Wurmus wrote on 2 Jan 2019 17:29
Re: TensorFlow
(address . 31386@debbugs.gnu.org)
idjbm4z58gl.fsf@bimsb-sys02.mdc-berlin.net
The new patches can be seen here:
https://issues.guix.info/issue/33952
-- Ricardo
?
Your comment

This issue is archived.

To comment on this conversation send email to 31386@debbugs.gnu.org