nolearn
nolearn copied to clipboard
Dependency on both backends in requirements.txt switches off GPU support
Currently nolearn has a dependency on both Theano and Lasagne, which forces installation of CPU-only versions, overriding the GPU-enabled builds we might have already installed before. See how Keras setup does not force any of its backends as its requirements and please consider removing these dependencies from your requirements.txt.
Theano is the only backend for nolearn, whereas keras has several backends. This is why it makes sense to install the backend with nolearn but not with keras.
which forces installation of CPU-only versions
I don't see why that should be the case, I never had this problem. Regardless, you should consider using virtual environments (if you don't already do so) to prevent python libraries from overriding your global installs.
Please note that the 0.8 version of Theano you are forcing us to use is not only CPU-only, but also extremely old (in fact more than 2 years old, see Theano release history).
0.8.0
Mar 21, 2016
Latest version (Theano is an abandoned project): 1.0.1 Dec 7, 2017
It is also not true that there is only one dependency - see requirements.txt:
Theano==0.8
-e git+https://github.com/Lasagne/Lasagne.git@8f4f9b2#egg=Lasagne==0.2.git
By your own admission - if it has several backends, it does not make sense to install these backends.
I don't think you understand, Lasagne and Theano are not separate backends, Lasagne strictly depends on Theano.
0.8 version of Theano
This is the version required by Lasagne, a higher version would probably not work well with it.
you are forcing us to use is not only CPU-only
Why should this be CPU only? Older Theano should still work on GPU. If you really want to, edit the setup.py yourself or try to upgrade Theano to 1.0 after installing nolearn.
It is also not true that there is only one dependency
nolearn has more than one dependency, yes, but that has nothing to do with your arguments. These requirements are all needed for nolearn to work.
By your own admission - if it has several backends
Nowhere did I say this.