numenta / nupic-legacy

Numenta Platform for Intelligent Computing is an implementation of Hierarchical Temporal Memory (HTM), a theory of intelligence based strictly on the neuroscience of the neocortex.
http://numenta.org/
GNU Affero General Public License v3.0
6.34k stars 1.56k forks source link

Nupic uses a very old version of Numpy #3396

Closed JonnoFTW closed 7 years ago

JonnoFTW commented 7 years ago

The version of numpy required in requirements.txt is 1.9.2. Nupic runs fine with the latest version of numpy (1.11.2). I haven't tried compiling nupic with the latest version though. I suggest you update the requirements to include the latest version so that when running a project that uses nupic and numpy, we can make use of the latest performance improvements and APIs.

rhyolight commented 7 years ago

@numenta/nupic-committers Any objections? Are we leaving anyone behind by updating numpy?

scottpurdy commented 7 years ago

Probably fine to upgrade, just need to make sure it passes CI on all platforms. Also, it is more of a nupic.core issue since we have to compile against the headers. If it works there then it should be fine here.

rhyolight commented 7 years ago

@scottpurdy do we really need this in NuPIC's requirements.txt?

numpy==1.9.2

See also: https://github.com/numenta/nupic.core/issues/1140

breznak commented 7 years ago

@rhyolight I think we had errs for someone with older/newer releases..so let's see how the newest version fares.

scottpurdy commented 7 years ago

@rhyolight I don't understand your question. Yes, we need numpy with a specific version in requirements.txt. And we should update it in nupic when we update the version dependency on nupic.core to keep the versions of numpy in sync.

rhyolight commented 7 years ago

@scottpurdy Since NuPIC depends on nupic.core, which depends on numpy, I was just wondering if we could remove NuPIC's dependency on numpy. But maybe that's bad python practice, since it really does need numpy and there is nothing declaring that besides requirements.txt.

oxtopus commented 7 years ago

nupic has explicit dependencies on numpy independent of nupic.bindings. numpy needs its own entry in requirements.txt like everything else AND it needs to be the same version as what is in nupic.bindings or else there will be a conflict.

rhyolight commented 7 years ago

Now that https://github.com/numenta/nupic.core/issues/1140 is fixed, nupic.core is using numpy 1.11.2. In order to fix this, we'll need to release a version of nupic.core and test it with nupic.