def test_CumprodOp(self): x = T.tensor3('x') a = np.random.random((3, 5, 2)).astype(config.floatX) f = theano.function([x], cumprod(x)) assert np.allclose(np.cumprod(a), f(a)) # Test axis=None for axis in range(len(a.shape)): f = theano.function([x], cumprod(x, axis=axis)) assert np.allclose(np.cumprod(a, axis=axis), f(a))
def test_CumprodOp(self): x = T.tensor3('x') a = np.random.random((3, 5, 2)).astype(config.floatX) # Test axis out of bounds self.assertRaises(ValueError, cumprod, x, axis=3) self.assertRaises(ValueError, cumprod, x, axis=-4) f = theano.function([x], cumprod(x)) assert np.allclose(np.cumprod(a), f(a)) # Test axis=None for axis in range(-len(a.shape), len(a.shape)): f = theano.function([x], cumprod(x, axis=axis)) assert np.allclose(np.cumprod(a, axis=axis), f(a))
def test_infer_shape(self): x = T.tensor3("x") a = np.random.random((3, 5, 2)).astype(config.floatX) # Test axis=None self._compile_and_check([x], [self.op(x)], [a], self.op_class) for axis in range(-len(a.shape), len(a.shape)): self._compile_and_check([x], [cumprod(x, axis=axis)], [a], self.op_class)
def test_infer_shape(self): x = T.tensor3('x') a = np.random.random((3, 5, 2)).astype(config.floatX) # Test axis=None self._compile_and_check([x], [self.op(x)], [a], self.op_class) for axis in range(len(a.shape)): self._compile_and_check([x], [cumprod(x, axis=axis)], [a], self.op_class)
def test_cum_op(self): x = T.tensor3("x") a = np.random.random((3, 5, 2)).astype(config.floatX) # Test axis out of bounds with pytest.raises(ValueError): cumsum(x, axis=3) with pytest.raises(ValueError): cumsum(x, axis=-4) with pytest.raises(ValueError): cumprod(x, axis=3) with pytest.raises(ValueError): cumprod(x, axis=-4) f = theano.function([x], [cumsum(x), cumprod(x)]) s, p = f(a) assert np.allclose(np.cumsum(a), s) # Test axis=None assert np.allclose(np.cumprod(a), p) # Test axis=None for axis in range(-len(a.shape), len(a.shape)): f = theano.function([x], [cumsum(x, axis=axis), cumprod(x, axis=axis)]) s, p = f(a) assert np.allclose(np.cumsum(a, axis=axis), s) assert np.allclose(np.cumprod(a, axis=axis), p)