Source: theano Version: 1.0.5+dfsg-8 Severity: serious Justification: FTBFS Tags: bookworm sid ftbfs User: lu...@debian.org Usertags: ftbfs-20221220 ftbfs-bookworm
Hi, During a rebuild of all packages in sid, your package failed to build on amd64. Relevant part (hopefully): > =================================== FAILURES > =================================== > ____________ TestDownsampleFactorMax.test_DownsampleFactorMaxStride > ____________ > > self = <theano.tensor.signal.tests.test_pool.TestDownsampleFactorMax object > at 0x7f9a14696d10> > > def test_DownsampleFactorMaxStride(self): > rng = np.random.RandomState(utt.fetch_seed()) > # maxpool, stride, ignore_border, input, output sizes > examples = ( > ((1, 1), (1, 1), True, (4, 10, 16, 16), (4, 10, 16, 16)), > ((1, 1), (5, 7), True, (4, 10, 16, 16), (4, 10, 4, 3)), > ((1, 1), (1, 1), False, (4, 10, 16, 16), (4, 10, 16, 16)), > ((1, 1), (5, 7), False, (4, 10, 16, 16), (4, 10, 4, 3)), > ((3, 3), (1, 1), True, (4, 10, 16, 16), (4, 10, 14, 14)), > ((3, 3), (3, 3), True, (4, 10, 16, 16), (4, 10, 5, 5)), > ((3, 3), (5, 7), True, (4, 10, 16, 16), (4, 10, 3, 2)), > ((3, 3), (1, 1), False, (4, 10, 16, 16), (4, 10, 14, 14)), > ((3, 3), (3, 3), False, (4, 10, 16, 16), (4, 10, 6, 6)), > ((3, 3), (5, 7), False, (4, 10, 16, 16), (4, 10, 4, 3)), > ((5, 3), (1, 1), True, (4, 10, 16, 16), (4, 10, 12, 14)), > ((5, 3), (3, 3), True, (4, 10, 16, 16), (4, 10, 4, 5)), > ((5, 3), (5, 7), True, (4, 10, 16, 16), (4, 10, 3, 2)), > ((5, 3), (1, 1), False, (4, 10, 16, 16), (4, 10, 12, 14)), > ((5, 3), (3, 3), False, (4, 10, 16, 16), (4, 10, 5, 6)), > ((5, 3), (5, 7), False, (4, 10, 16, 16), (4, 10, 4, 3)), > ((16, 16), (1, 1), True, (4, 10, 16, 16), (4, 10, 1, 1)), > ((16, 16), (5, 7), True, (4, 10, 16, 16), (4, 10, 1, 1)), > ((16, 16), (1, 1), False, (4, 10, 16, 16), (4, 10, 1, 1)), > ((16, 16), (5, 7), False, (4, 10, 16, 16), (4, 10, 1, 1)), > ((3,), (5,), True, (16,), (3,)), > ((3,), (5,), True, (2, 16,), (2, 3,)), > ((5,), (3,), True, (2, 3, 16,), (2, 3, 4,)), > ((5, 1, 3), (3, 3, 3), True, (2, 16, 16, 16), (2, 4, 6, 5)), > ((5, 1, 3), (3, 3, 3), True, (4, 2, 16, 16, 16), (4, 2, 4, 6, 5)), > ) > > for example, mode in product(examples, ['max', > 'sum', > 'average_inc_pad', > 'average_exc_pad']): > (maxpoolshp, stride, ignore_border, inputshp, outputshp) = example > # generate random images > imval = rng.rand(*inputshp) > images = theano.shared(imval) > # Pool op > numpy_output_val = \ > > self.numpy_max_pool_nd_stride(imval, maxpoolshp, > ignore_border, stride, > mode) > > theano/tensor/signal/tests/test_pool.py:406: > _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > _ > > input = array([[[[7.00437122e-01, 8.44186643e-01, 6.76514336e-01, ..., > 7.00844752e-01, 2.93228106e-01, 7.74479454e-0... > [8.75885705e-01, 9.43403362e-01, 2.46839958e-01, ..., > 6.39886889e-01, 3.33503280e-01, 3.56632048e-04]]]]) > ws = (1, 1), ignore_border = True, stride = (1, 1), mode = 'max' > > @staticmethod > def numpy_max_pool_nd_stride(input, ws, ignore_border=False, stride=None, > mode='max'): > '''Helper function, implementing pooling in pure numpy > this function provides stride input to indicate the stide size > for the pooling regions. if not indicated, stride == ws.''' > nd = len(ws) > if stride is None: > stride = ws > assert len(stride) == len(ws) > > out_shp = list(input.shape[:-nd]) > for i in range(nd): > out = 0 > if input.shape[-nd + i] - ws[i] >= 0: > out = (input.shape[-nd + i] - ws[i]) // stride[i] + 1 > if not ignore_border: > if out > 0: > if input.shape[-nd + i] - ((out - 1) * stride[i] + ws[i]) > > 0: > if input.shape[-nd + i] - out * stride[i] > 0: > out += 1 > else: > if input.shape[-nd + i] > 0: > out += 1 > out_shp.append(out) > > func = np.max > if mode == 'sum': > func = np.sum > elif mode != 'max': > func = np.average > > output_val = np.zeros(out_shp) > for l in np.ndindex(*input.shape[:-nd]): > for r in np.ndindex(*output_val.shape[-nd:]): > region = [] > for i in range(nd): > r_stride = r[i] * stride[i] > r_end = builtins.min(r_stride + ws[i], input.shape[-nd + > i]) > region.append(slice(r_stride, r_end)) > > patch = input[l][region] > E IndexError: only integers, slices (`:`), ellipsis (`...`), > numpy.newaxis (`None`) and integer or boolean arrays are valid indices > > theano/tensor/signal/tests/test_pool.py:304: IndexError > ________ TestDownsampleFactorMax.test_DownsampleFactorMaxPaddingStride > _________ > > self = <theano.tensor.signal.tests.test_pool.TestDownsampleFactorMax object > at 0x7f9a14696980> > > def test_DownsampleFactorMaxPaddingStride(self): > ignore_border = True # padding does not support ignore_border=False > rng = np.random.RandomState(utt.fetch_seed()) > # maxpool, stride, pad, input sizes > examples = ( > ((3,), (2,), (2,), (5,)), > ((3,), (2,), (2,), (4, 5)), > ((3,), (2,), (2,), (4, 2, 5, 5)), > ((3, 3), (2, 2), (2, 2), (4, 2, 5, 5)), > ((4, 4), (2, 2), (1, 2), (4, 2, 5, 5)), > ((3, 4), (1, 1), (2, 1), (4, 2, 5, 6)), > ((4, 3), (1, 2), (0, 0), (4, 2, 6, 5)), > ((2, 2), (2, 2), (1, 1), (4, 2, 5, 5)), > ((4, 3, 2), (1, 2, 2), (0, 2, 1), (4, 6, 6, 5)), > ((4, 3, 2), (1, 2, 2), (0, 2, 1), (4, 2, 6, 5, 5)), > ) > for example, mode in product(examples, > ['max', 'sum', 'average_inc_pad', > 'average_exc_pad']): > (maxpoolshp, stridesize, padsize, inputsize) = example > imval = rng.rand(*inputsize) - 0.5 > images = theano.shared(imval) > > > numpy_output_val = self.numpy_max_pool_nd_stride_pad( > imval, maxpoolshp, ignore_border, > stridesize, padsize, mode) > > theano/tensor/signal/tests/test_pool.py:484: > _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > _ > > input = array([0.20043712, 0.34418664, 0.17651434, 0.22785806, 0.45145796]) > ws = (3,), ignore_border = True, stride = (2,), pad = (2,), mode = 'max' > > @staticmethod > def numpy_max_pool_nd_stride_pad( > input, ws, ignore_border=True, stride=None, pad=None, mode='max'): > assert ignore_border > nd = len(ws) > if pad is None: > pad = (0,) * nd > if stride is None: > stride = (0,) * nd > assert len(pad) == len(ws) == len(stride) > assert all(ws[i] > pad[i] for i in range(nd)) > > def pad_img(x): > # initialize padded input > y = np.zeros( > x.shape[0:-nd] + > tuple(x.shape[-nd + i] + pad[i] * 2 for i in range(nd)), > dtype=x.dtype) > # place the unpadded input in the center > block = ((slice(None),) * (len(x.shape) - nd) + > tuple(slice(pad[i], x.shape[-nd + i] + pad[i]) > for i in range(nd))) > y[block] = x > return y > > pad_img_shp = list(input.shape[:-nd]) > out_shp = list(input.shape[:-nd]) > for i in range(nd): > padded_size = input.shape[-nd + i] + 2 * pad[i] > pad_img_shp.append(padded_size) > out_shp.append((padded_size - ws[i]) // stride[i] + 1) > output_val = np.zeros(out_shp) > padded_input = pad_img(input) > func = np.max > if mode == 'sum': > func = np.sum > elif mode != 'max': > func = np.average > inc_pad = mode == 'average_inc_pad' > > for l in np.ndindex(*input.shape[:-nd]): > for r in np.ndindex(*output_val.shape[-nd:]): > region = [] > for i in range(nd): > r_stride = r[i] * stride[i] > r_end = builtins.min(r_stride + ws[i], pad_img_shp[-nd + > i]) > if not inc_pad: > r_stride = builtins.max(r_stride, pad[i]) > r_end = builtins.min(r_end, input.shape[-nd + i] + > pad[i]) > region.append(slice(r_stride, r_end)) > > patch = padded_input[l][region] > E IndexError: only integers, slices (`:`), ellipsis (`...`), > numpy.newaxis (`None`) and integer or boolean arrays are valid indices > > theano/tensor/signal/tests/test_pool.py:197: IndexError > =============================== warnings summary > =============================== > theano/gof/cmodule.py:23 > /<<PKGBUILDDIR>>/theano/gof/cmodule.py:23: DeprecationWarning: > > `numpy.distutils` is deprecated since NumPy 1.23.0, as a result > of the deprecation of `distutils` itself. It will be removed for > Python >= 3.12. For older Python versions it will remain present. > It is recommended to use `setuptools < 60.0` for those Python versions. > For more details, see: > https://numpy.org/devdocs/reference/distutils_status_migration.html > > > import numpy.distutils > > theano/scalar/basic.py:2323 > /<<PKGBUILDDIR>>/theano/scalar/basic.py:2323: DeprecationWarning: `np.bool` > is a deprecated alias for the builtin `bool`. To silence this warning, use > `bool` by itself. Doing this will not modify any behavior and is safe. If you > specifically wanted the numpy scalar type, use `np.bool_` here. > Deprecated in NumPy 1.20; for more details and guidance: > https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations > self.ctor = getattr(np, o_type.dtype) > > theano/tensor/signal/tests/test_conv.py: 3081 warnings > theano/tensor/signal/tests/test_pool.py: 11605 warnings > /<<PKGBUILDDIR>>/theano/tensor/basic.py:381: DeprecationWarning: > `np.complex` is a deprecated alias for the builtin `complex`. To silence this > warning, use `complex` by itself. Doing this will not modify any behavior and > is safe. If you specifically wanted the numpy scalar type, use > `np.complex128` here. > Deprecated in NumPy 1.20; for more details and guidance: > https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations > np.complex(data) # works for all numeric scalars > > theano/tensor/signal/tests/test_pool.py::TestDownsampleFactorMax::test_DownsampleFactorMax_hessian > /<<PKGBUILDDIR>>/theano/tests/breakpoint.py:3: DeprecationWarning: the imp > module is deprecated in favour of importlib and slated for removal in Python > 3.12; see the module's documentation for alternative uses > import imp > > theano/tensor/signal/tests/test_pool.py::TestDownsampleFactorMax::test_max_pool_3d_3D_deprecated_interface > /<<PKGBUILDDIR>>/theano/tensor/signal/tests/test_pool.py:911: UserWarning: > DEPRECATION: the 'ds' parameter is not going to exist anymore as it is going > to be replaced by the parameter 'ws'. > output = pool_3d(input=images, > > theano/tensor/signal/tests/test_pool.py::TestDownsampleFactorMax::test_max_pool_3d_3D_deprecated_interface > /<<PKGBUILDDIR>>/theano/tensor/signal/tests/test_pool.py:911: UserWarning: > DEPRECATION: the 'st' parameter is not going to exist anymore as it is going > to be replaced by the parameter 'stride'. > output = pool_3d(input=images, > > theano/tensor/signal/tests/test_pool.py::TestDownsampleFactorMax::test_max_pool_3d_3D_deprecated_interface > /<<PKGBUILDDIR>>/theano/tensor/signal/tests/test_pool.py:911: UserWarning: > DEPRECATION: the 'padding' parameter is not going to exist anymore as it is > going to be replaced by the parameter 'pad'. > output = pool_3d(input=images, > > theano/tensor/signal/tests/test_pool.py::TestDownsampleFactorMax::test_pooling_with_tensor_vars_deprecated_interface > /<<PKGBUILDDIR>>/theano/tensor/signal/tests/test_pool.py:1095: UserWarning: > DEPRECATION: the 'ds' parameter is not going to exist anymore as it is going > to be replaced by the parameter 'ws'. > y = pool_2d(input=x, > > theano/tensor/signal/tests/test_pool.py::TestDownsampleFactorMax::test_pooling_with_tensor_vars_deprecated_interface > /<<PKGBUILDDIR>>/theano/tensor/signal/tests/test_pool.py:1095: UserWarning: > DEPRECATION: the 'st' parameter is not going to exist anymore as it is going > to be replaced by the parameter 'stride'. > y = pool_2d(input=x, > > theano/tensor/signal/tests/test_pool.py::TestDownsampleFactorMax::test_pooling_with_tensor_vars_deprecated_interface > /<<PKGBUILDDIR>>/theano/tensor/signal/tests/test_pool.py:1095: UserWarning: > DEPRECATION: the 'padding' parameter is not going to exist anymore as it is > going to be replaced by the parameter 'pad'. > y = pool_2d(input=x, > > theano/tensor/signal/tests/test_pool.py::TestDownsampleFactorMax::test_pooling_with_tensor_vars_deprecated_interface > /<<PKGBUILDDIR>>/theano/tensor/signal/tests/test_pool.py:1111: UserWarning: > DEPRECATION: the 'ds' parameter is not going to exist anymore as it is going > to be replaced by the parameter 'ws'. > y = pool_2d(input=x, > > theano/tensor/signal/tests/test_pool.py::TestDownsampleFactorMax::test_pooling_with_tensor_vars_deprecated_interface > /<<PKGBUILDDIR>>/theano/tensor/signal/tests/test_pool.py:1111: UserWarning: > DEPRECATION: the 'st' parameter is not going to exist anymore as it is going > to be replaced by the parameter 'stride'. > y = pool_2d(input=x, > > theano/tensor/signal/tests/test_pool.py::TestDownsampleFactorMax::test_pooling_with_tensor_vars_deprecated_interface > /<<PKGBUILDDIR>>/theano/tensor/signal/tests/test_pool.py:1111: UserWarning: > DEPRECATION: the 'padding' parameter is not going to exist anymore as it is > going to be replaced by the parameter 'pad'. > y = pool_2d(input=x, > > -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html > =========================== short test summary info > ============================ > FAILED > theano/tensor/signal/tests/test_pool.py::TestDownsampleFactorMax::test_DownsampleFactorMaxStride > FAILED > theano/tensor/signal/tests/test_pool.py::TestDownsampleFactorMax::test_DownsampleFactorMaxPaddingStride > ========== 2 failed, 424 passed, 14698 warnings in 259.23s (0:04:19) > =========== The full build log is available from: http://qa-logs.debian.net/2022/12/20/theano_1.0.5+dfsg-8_unstable.log All bugs filed during this archive rebuild are listed at: https://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=ftbfs-20221220;users=lu...@debian.org or: https://udd.debian.org/bugs/?release=na&merged=ign&fnewerval=7&flastmodval=7&fusertag=only&fusertagtag=ftbfs-20221220&fusertaguser=lu...@debian.org&allbugs=1&cseverity=1&ctags=1&caffected=1#results A list of current common problems and possible solutions is available at http://wiki.debian.org/qa.debian.org/FTBFS . You're welcome to contribute! If you reassign this bug to another package, please mark it as 'affects'-ing this package. See https://www.debian.org/Bugs/server-control#affects If you fail to reproduce this, please provide a build log and diff it with mine so that we can identify if something relevant changed in the meantime.