gnu: Add python-keras.

* gnu/packages/machine-learning.scm (python-keras): New variable.
This commit is contained in:
Ricardo Wurmus 2019-06-19 14:26:45 +02:00 committed by Ricardo Wurmus
parent 90afa80dd9
commit f1765b57b8
No known key found for this signature in database
GPG Key ID: 197A5888235FACAC

View File

@ -54,6 +54,7 @@ (define-module (gnu packages machine-learning)
#:use-module (gnu packages dejagnu)
#:use-module (gnu packages gcc)
#:use-module (gnu packages glib)
#:use-module (gnu packages graphviz)
#:use-module (gnu packages gstreamer)
#:use-module (gnu packages image)
#:use-module (gnu packages linux)
@ -68,6 +69,7 @@ (define-module (gnu packages machine-learning)
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages serialization)
#:use-module (gnu packages sphinx)
#:use-module (gnu packages statistics)
#:use-module (gnu packages sqlite)
#:use-module (gnu packages swig)
@ -1840,3 +1842,76 @@ (define-public python-keras-preprocessing
module of the Keras deep learning library. It provides utilities for working
with image data, text data, and sequence data.")
(license license:expat)))
(define-public python-keras
(package
(name "python-keras")
(version "2.2.4")
(source
(origin
(method url-fetch)
(uri (pypi-uri "Keras" version))
(sha256
(base32
"1j8bsqzh49vjdxy6l1k4iwax5vpjzniynyd041xjavdzvfii1dlh"))))
(build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'remove-tests-for-unavailable-features
(lambda _
(delete-file "keras/backend/theano_backend.py")
(delete-file "keras/backend/cntk_backend.py")
(delete-file "tests/keras/backend/backend_test.py")
;; FIXME: This doesn't work because Tensorflow is missing the
;; coder ops library.
(delete-file "tests/keras/test_callbacks.py")
#t))
(replace 'check
(lambda _
;; These tests attempt to download data files from the internet.
(delete-file "tests/integration_tests/test_datasets.py")
(delete-file "tests/integration_tests/imagenet_utils_test.py")
(setenv "PYTHONPATH"
(string-append (getcwd) "/build/lib:"
(getenv "PYTHONPATH")))
(invoke "py.test" "-v"
"-p" "no:cacheprovider"
"--ignore" "keras/utils"))))))
(propagated-inputs
`(("python-h5py" ,python-h5py)
("python-keras-applications" ,python-keras-applications)
("python-keras-preprocessing" ,python-keras-preprocessing)
("python-numpy" ,python-numpy)
("python-pydot" ,python-pydot)
("python-pyyaml" ,python-pyyaml)
("python-scipy" ,python-scipy)
("python-six" ,python-six)
("tensorflow" ,tensorflow)
("graphviz" ,graphviz)))
(native-inputs
`(("python-pandas" ,python-pandas)
("python-pytest" ,python-pytest)
("python-pytest-cov" ,python-pytest-cov)
("python-pytest-pep8" ,python-pytest-pep8)
("python-pytest-timeout" ,python-pytest-timeout)
("python-pytest-xdist" ,python-pytest-xdist)
("python-sphinx" ,python-sphinx)
("python-requests" ,python-requests)))
(home-page "https://github.com/keras-team/keras")
(synopsis "High-level deep learning framework")
(description "Keras is a high-level neural networks API, written in Python
and capable of running on top of TensorFlow. It was developed with a focus on
enabling fast experimentation. Use Keras if you need a deep learning library
that:
@itemize
@item Allows for easy and fast prototyping (through user friendliness,
modularity, and extensibility).
@item Supports both convolutional networks and recurrent networks, as well as
combinations of the two.
@item Runs seamlessly on CPU and GPU.
@end itemize\n")
(license license:expat)))