[Numpy-discussion] [SciPy-Dev] 1.8.0rc1
Julian Taylor
jtaylor.debian at googlemail.com
Mon Sep 30 19:44:35 EDT 2013
On 01.10.2013 01:30, Charles R Harris wrote:
>
>
>
> On Mon, Sep 30, 2013 at 5:12 PM, Christoph Gohlke <cgohlke at uci.edu
> <mailto:cgohlke at uci.edu>> wrote:
>
> On 9/30/2013 3:45 PM, Charles R Harris wrote:
> >
> >
> >
> > On Mon, Sep 30, 2013 at 3:51 PM, Christoph Gohlke <cgohlke at uci.edu
> <mailto:cgohlke at uci.edu>
> > <mailto:cgohlke at uci.edu <mailto:cgohlke at uci.edu>>> wrote:
> >
> >
> >
> > On 9/30/2013 11:02 AM, Nathaniel Smith wrote:> Everyone please do
> > actually test this! It is really in your best
> > > interest, and I think people don't always realize this.
> > >
> > > Here's how it works:
> > > - If you test it *now*, and it breaks your code that worked
> with 1.7,
> > > and you *tell* us this now, then it's *our* problem and we
> hold up the
> > > release to fix the bug.
> > > - If you test it *after* we release, and it breaks your
> code, then we
> > > are sad but you have to work around it (because we can't
> magically
> > > make that release not have happened, your users will be using it
> > > anyway), and we put it on the stack with all the other bugs.
> All of
> > > which we care about but it's a large enough stack that it's
> not going
> > > to get any special priority, because, see above about how at
> this
> > > point you'll have had to work around it anyway.
> > >
> > > -n
> > >
> > > On Mon, Sep 30, 2013 at 4:17 PM, Charles R Harris
> > > <charlesr.harris at gmail.com
> <mailto:charlesr.harris at gmail.com> <mailto:charlesr.harris at gmail.com
> <mailto:charlesr.harris at gmail.com>>> wrote:
> > >> Hi All,
> > >>
> > >> NumPy 1.8.0rc1 is up now on sourceforge .The binary builds
> are included
> > >> except for Python 3.3 on windows, which will arrive later.
> Many thanks to
> > >> Ralf for the binaries, and to those who found and fixed the
> bugs in the last
> > >> beta. Any remaining bugs are all my fault ;) I hope this
> will be the last
> > >> release before final, so please test it thoroughly.
> > >>
> > >> Chuck
> >
> >
> > Hello,
> >
> > NumPy 1.8.0rc1 looks good. All tests pass on Windows and most
> 3rd party
> > packages test OK now. Thank you.
> >
> > A few tests still fail in the following packages when run with
> > numpy-MKL-1.8.0rc1-win-amd64-py3.3 compared to
> > numpy-MKL-1.7.1-win-amd64-py3.3:
> >
> > 1) Pandas 0.12.0
> >
> > ```
> >
> ======================================================================
> > FAIL: test_nansum_buglet (pandas.tests.test_series.TestNanops)
> >
> ----------------------------------------------------------------------
> > Traceback (most recent call last):
> > File
> "X:\Python33\lib\site-packages\pandas\tests\test_series.py",
> > line 254, in test_nansum_buglet
> > assert_almost_equal(result, 1)
> > File
> "X:\Python33\lib\site-packages\pandas\util\testing.py", line
> > 134, in assert_almost_equal
> > np.testing.assert_(isiterable(b))
> > File
> "D:\Dev\Compile\Test\numpy-build\numpy\testing\utils.py", line
> > 44, in assert_
> > raise AssertionError(msg)
> > AssertionError
> > ```
> >
> > Possibly related:
> >
> > ```
> > >>> import numpy as np
> > >>> from pandas import Series
> > >>> s = Series([0.0])
> > >>> result = np.nansum(s)
> > >>> print(result)
> > Traceback (most recent call last):
> > File "<stdin>", line 1, in <module>
> > File "X:\Python33\lib\site-packages\pandas\core\base.py", line
> > 19, in
> > __str__
> > return self.__unicode__()
> > File
> "X:\Python33\lib\site-packages\pandas\core\series.py", line
> > 1115, in __unicode__
> > length=len(self) > 50,
> > TypeError: len() of unsized object
> > ```
> >
> > 2) Bottleneck 0.7.0
> >
> >
> https://github.com/kwgoodman/bottleneck/issues/71#issuecomment-25331701
> >
> > 3) skimage 0.8.2
> >
> > These tests passed with numpy 1.8.0b2:
> >
> > ```
> >
> ======================================================================
> > FAIL: test_grey.test_non_square_image
> >
> ----------------------------------------------------------------------
> > Traceback (most recent call last):
> > File "X:\Python33\lib\site-packages\nose\case.py", line
> 198, in
> > runTest
> > self.test(*self.arg)
> > File
> >
> "X:\Python33\lib\site-packages\skimage\morphology\tests\test_grey.py",
> > line 162, in test_non_square_image
> > testing.assert_array_equal(binary_res, grey_res)
> > File
> "X:\Python33\lib\site-packages\numpy\testing\utils.py", line
> > 718, in assert_array_equal
> > verbose=verbose, header='Arrays are not equal')
> > File
> "X:\Python33\lib\site-packages\numpy\testing\utils.py", line
> > 644, in assert_array_compare
> > raise AssertionError(msg)
> > AssertionError:
> > Arrays are not equal
> >
> > (mismatch 50.6328125%)
> > x: array([[False, False, False, ..., False, False, False],
> > [False, False, False, ..., False, False, False],
> > [False, False, False, ..., False, False, False],...
> > y: array([[ True, True, True, ..., True, False, False],
> > [ True, True, True, ..., False, False, False],
> > [ True, True, True, ..., False, False, False],...
> >
> >
> ======================================================================
> > FAIL: test_grey.test_binary_erosion
> >
> ----------------------------------------------------------------------
> > Traceback (most recent call last):
> > File "X:\Python33\lib\site-packages\nose\case.py", line
> 198, in
> > runTest
> > self.test(*self.arg)
> > File
> >
> "X:\Python33\lib\site-packages\skimage\morphology\tests\test_grey.py",
> > line 169, in test_binary_erosion
> > testing.assert_array_equal(binary_res, grey_res)
> > File
> "X:\Python33\lib\site-packages\numpy\testing\utils.py", line
> > 718, in assert_array_equal
> > verbose=verbose, header='Arrays are not equal')
> > File
> "X:\Python33\lib\site-packages\numpy\testing\utils.py", line
> > 644, in assert_array_compare
> > raise AssertionError(msg)
> > AssertionError:
> > Arrays are not equal
> >
> > (mismatch 48.260498046875%)
> > x: array([[False, False, False, ..., False, False, False],
> > [False, False, False, ..., False, False, False],
> > [False, False, False, ..., False, False, False],...
> > y: array([[ True, True, True, ..., True, False, False],
> > [ True, True, True, ..., False, False, False],
> > [ True, True, True, ..., False, False, False],...
> >
> >
> ======================================================================
> > FAIL: test_grey.test_binary_closing
> >
> ----------------------------------------------------------------------
> > Traceback (most recent call last):
> > File "X:\Python33\lib\site-packages\nose\case.py", line
> 198, in
> > runTest
> > self.test(*self.arg)
> > File
> >
> "X:\Python33\lib\site-packages\skimage\morphology\tests\test_grey.py",
> > line 183, in test_binary_closing
> > testing.assert_array_equal(binary_res, grey_res)
> > File
> "X:\Python33\lib\site-packages\numpy\testing\utils.py", line
> > 718, in assert_array_equal
> > verbose=verbose, header='Arrays are not equal')
> > File
> "X:\Python33\lib\site-packages\numpy\testing\utils.py", line
> > 644, in assert_array_compare
> > raise AssertionError(msg)
> > AssertionError:
> > Arrays are not equal
> >
> > (mismatch 66.302490234375%)
> > x: array([[False, False, False, ..., False, False, False],
> > [False, False, False, ..., False, False, False],
> > [False, False, False, ..., False, False, False],...
> > y: array([[ True, True, True, ..., True, True, True],
> > [ True, True, True, ..., True, True, True],
> > [ True, True, True, ..., False, False, False],...
> >
> >
> ======================================================================
> > FAIL: test_grey.test_binary_opening
> >
> ----------------------------------------------------------------------
> > Traceback (most recent call last):
> > File "X:\Python33\lib\site-packages\nose\case.py", line
> 198, in
> > runTest
> > self.test(*self.arg)
> > File
> >
> "X:\Python33\lib\site-packages\skimage\morphology\tests\test_grey.py",
> > line 190, in test_binary_opening
> > testing.assert_array_equal(binary_res, grey_res)
> > File
> "X:\Python33\lib\site-packages\numpy\testing\utils.py", line
> > 718, in assert_array_equal
> > verbose=verbose, header='Arrays are not equal')
> > File
> "X:\Python33\lib\site-packages\numpy\testing\utils.py", line
> > 644, in assert_array_compare
> > raise AssertionError(msg)
> > AssertionError:
> > Arrays are not equal
> >
> > (mismatch 58.465576171875%)
> > x: array([[False, False, False, ..., False, False, False],
> > [False, False, False, ..., False, False, False],
> > [False, False, False, ..., False, False, False],...
> > y: array([[ True, True, True, ..., True, True, False],
> > [ True, True, True, ..., True, True, False],
> > [ True, True, True, ..., False, False, False],...
> > ```
> >
> > I'll bet the skimage problems come from
> > https://github.com/numpy/numpy/pull/3811. They may be doing something
> > naughty...
> >
> > Chuck
> >
>
> A bool image is convolved with a uint8 kernel and the result compared
> for equality with an uint32 scalar...
>
> https://github.com/scikit-image/scikit-image/blob/master/skimage/morphology/binary.py#L32
>
>
> Looks like the result of the convolution is probably output as a bool,
> which now means 0,1, which does not work when checking equality with the
> number of pixels in the kernel. I'd call expressing the result of a
> convolution as a boolean very naughty.
using a view should fix it:
conv = ndimage.convolve((image > 0).view(np.uint8), selem, output=out,
mode='constant', cval=1)
but it needs check for sum(selem) < 255 too.
More information about the NumPy-Discussion
mailing list