nolearn icon indicating copy to clipboard operation
nolearn copied to clipboard

Dependency on both backends in requirements.txt switches off GPU support

Open mirekphd opened this issue 7 years ago • 3 comments

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.

mirekphd avatar May 18 '18 08:05 mirekphd

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.

BenjaminBossan avatar May 19 '18 10:05 BenjaminBossan

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.

mirekphd avatar May 19 '18 10:05 mirekphd

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.

BenjaminBossan avatar May 19 '18 20:05 BenjaminBossan