numenta / htmresearch

Experimental algorithms. Unsupported.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Fix broken travis-ci build job

rhyolight opened this issue · comments

Stuff is broken. Current problem is numpy version mismatch after installing matplotlib.

I had the same issue. Installing latest numpy works fine so perhaps we should upgrade nupic to latest?

perhaps we should upgrade nupic to latest?

👍 💯

Maybe the problem is that the NuPIC build binary being downloaded wasn't built using the latest numpy?

Ok, maybe upgrading to numpy 1.9.1 isn't going to be simple? I got this unit test error after doing it locally:

tests/unit/py2/nupic/encoders/coordinate_test.py:85: CoordinateEncoderTest.testBitForCoordinate FAILED

======================================================= FAILURES =======================================================
______________________________________ CoordinateEncoderTest.testBitForCoordinate ______________________________________
self = <tests.unit.py2.nupic.encoders.coordinate_test.CoordinateEncoderTest testMethod=testBitForCoordinate>

    def testBitForCoordinate(self):
      n = 1000
      b1 = self.encoder._bitForCoordinate(np.array([2, 5, 10]), n)
      b2 = self.encoder._bitForCoordinate(np.array([2, 5, 11]), n)
>     b3 = self.encoder._bitForCoordinate(np.array([2497477, -923478]), n)

tests/unit/py2/nupic/encoders/coordinate_test.py:89:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

coordinate = array([2497477, -923478]), n = 1000

    @staticmethod
    def _bitForCoordinate(coordinate, n):
      """
        Maps the coordinate to a bit in the SDR.

        @param coordinate (numpy.array) Coordinate
        @param n (int) The number of available bits in the SDR
        @return (int) The index to a bit in the SDR
        """
>     random = numpy.random.RandomState(coordinate)

nupic/encoders/coordinate.py:171:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

>   ???

mtrand.pyx:613:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

>   ???
E   ValueError: Seed must be between 0 and 4294967295

@chetan51 Do you have any ideas about the test failure above when using numpy 1.9.1?

My guess would be that that version of numpy only supports integer seeds, and the coordinate encoder is trying to use a tuple seed. We will have to update coordinate encoder.