def check_type_forward(self, in_types): type_check.expect(in_types.size() == 2) e1_type, e2_type = in_types type_check.expect( e1_type.ndim >= 2, e2_type.ndim >= 2, e1_type.shape[0] == e2_type.shape[0] ) in_sizes = type_check.Variable(self.in_sizes, 'in_sizes') type_check.expect( type_check.prod(e1_type.shape[1:]) == in_sizes[0], type_check.prod(e2_type.shape[1:]) == in_sizes[1] )
def check_type_forward(self, in_types): type_check._argname(in_types, ('x', )) x_type, = in_types if self._cnt == 0: type_check.expect( type_check.prod(x_type.shape) == type_check.prod(self.shape)) else: known_size = 1 for s in self.shape: if s > 0: known_size *= s size_var = type_check.make_variable(known_size, 'known_size(=%d)' % known_size) type_check.expect(type_check.prod(x_type.shape) % size_var == 0)
def check_type_forward(self, in_types): type_check._argname(in_types, ('x',)) x_type, = in_types if self._cnt == 0: type_check.expect( type_check.prod(x_type.shape) == type_check.prod(self.shape)) else: known_size = 1 for s in self.shape: if s > 0: known_size *= s size_var = type_check.make_variable( known_size, 'known_size(=%d)' % known_size) type_check.expect( type_check.prod(x_type.shape) % size_var == 0)
def check_type_forward(self, in_types): n_in = in_types.size() type_check.expect(2 <= n_in, n_in <= 3) x_type, w_type = in_types[:2] type_check._argname((x_type, w_type), ('x', 'W')) type_check.expect( x_type.dtype.kind == 'f', w_type.dtype.kind == 'f', x_type.ndim >= 2, w_type.ndim == 2, type_check.prod(x_type.shape[1:]) == w_type.shape[1], ) if type_check.eval(n_in) == 3: b_type = in_types[2] type_check._argname((b_type,), ('b',)) type_check.expect( b_type.dtype == x_type.dtype, b_type.ndim == 1, b_type.shape[0] == w_type.shape[0], ) if self.mask is not None: if self.use_batchwise_mask: type_check.expect( self.mask.shape[0] == x_type.shape[0], self.mask.shape[1:] == w_type.shape, ) else: type_check.expect(self.mask.shape == w_type.shape)
def check_type_forward(self, in_types): n_in = in_types.size() type_check.expect(2 <= n_in, n_in <= 3) x_type, w_type = in_types[:2] type_check.expect( x_type.dtype.kind == 'f', w_type.dtype.kind == 'f', x_type.ndim >= 2, w_type.ndim == 2, type_check.prod(x_type.shape[1:]) == w_type.shape[1], ) if type_check.eval(n_in) == 3: b_type = in_types[2] type_check.expect( b_type.dtype == x_type.dtype, b_type.ndim == 1, b_type.shape[0] == w_type.shape[0], ) if self.mask is not None: if self.use_batchwise_mask: type_check.expect( self.mask.shape[0] == x_type.shape[0], self.mask.shape[1:] == w_type.shape, ) else: type_check.expect(self.mask.shape == w_type.shape)
def check_type_forward(self, in_types): type_check.expect(in_types.size() == 1, ) x_type, = in_types cnt = _count_unknown_dims(self.shape) if cnt == 0: type_check.expect( type_check.prod(x_type.shape) == type_check.prod(self.shape)) else: known_size = 1 for s in self.shape: if s > 0: known_size *= s size_var = type_check.make_variable(known_size, 'known_size(=%d)' % known_size) type_check.expect(type_check.prod(x_type.shape) % size_var == 0)
def check_type_forward(self, in_types): type_check.expect(in_types.size() == 1) x_type, = in_types type_check.expect( x_type.dtype == numpy.float32, x_type.ndim >= 2, (type_check.prod(x_type.shape[1:]) == type_check.Variable(self.W.shape[1], 'W.shape[1]')), )
def check_type_forward(self, in_types): type_check.expect( in_types.size() == 1, ) x_type, = in_types cnt = _count_unknown_dims(self.shape) if cnt == 0: type_check.expect( type_check.prod(x_type.shape) == type_check.prod(self.shape)) else: known_size = 1 for s in self.shape: if s > 0: known_size *= s size_var = type_check.make_variable( known_size, 'known_size(=%d)' % known_size) type_check.expect( type_check.prod(x_type.shape) % size_var == 0)
def check_type_forward(self, in_types): n_in = in_types.size() type_check.expect(2 <= n_in, n_in <= 3) x_type, w_type = in_types[:2] type_check.expect( x_type.dtype.kind == 'f', w_type.dtype.kind == 'f', x_type.ndim >= 2, w_type.ndim >= 2, type_check.prod(x_type.shape[1:]) == \ type_check.prod(w_type.shape[1:]), ) if type_check.eval(n_in) == 3: b_type = in_types[2] type_check.expect( b_type.dtype == x_type.dtype, b_type.ndim == 1, b_type.shape[0] == w_type.shape[0], )
def check_type_forward(self, in_types): type_check.expect(in_types.size() >= 2, in_types.size() <= 3) x_type, w_type = in_types[:2] type_check.expect(x_type.dtype.kind == 'f', w_type.dtype.kind == 'f', x_type.ndim >= 2, w_type.ndim == 3, type_check.prod(x_type.shape[1:]) == w_type.shape[0]) if in_types.size().eval() == 3: b_type = in_types[2] type_check.expect(b_type.dtype.kind == 'f', b_type.ndim == 2, b_type.shape == w_type.shape[1:])
def check_type_forward(self, in_types): n_in = in_types.size() type_check.expect(2 <= n_in, n_in <= 3) x_type, w_type = in_types[:2] type_check.expect( x_type.dtype == numpy.float32, w_type.dtype == numpy.float32, x_type.ndim >= 2, w_type.ndim == 2, type_check.prod(x_type.shape[1:]) == w_type.shape[1], ) if n_in.eval() == 3: b_type = in_types[2] type_check.expect(b_type.dtype == numpy.float32, b_type.ndim == 1, b_type.shape[0] == w_type.shape[0])
def check_type_forward(self, in_types): n_in = in_types.size() type_check.expect(2 <= n_in, n_in <= 3) x_type, w_type = in_types[:2] type_check.expect( x_type.dtype == numpy.float32, w_type.dtype == numpy.float32, x_type.ndim >= 2, w_type.ndim == 2, type_check.prod(x_type.shape[1:]) == w_type.shape[1], ) if n_in.eval() == 3: b_type = in_types[2] type_check.expect( b_type.dtype == numpy.float32, b_type.ndim == 1, b_type.shape[0] == w_type.shape[0], )
def check_type_forward(self, in_types): n_in = in_types.size() type_check.expect(2 <= n_in, n_in <= 3) x_type, w_type = in_types[:2] type_check.expect( x_type.dtype.kind == 'f', w_type.dtype.kind == 'f', x_type.ndim >= 2, w_type.ndim == 2, type_check.prod(x_type.shape[1:]) == w_type.shape[1], ) if type_check.eval(n_in) == 3: b_type = in_types[2] type_check.expect( b_type.dtype == x_type.dtype, b_type.ndim == 1, b_type.shape[0] == w_type.shape[0], )
def check_type_forward(self, in_types): type_check.expect( 2 <= in_types.size(), in_types.size() <= 3, ) x_type = in_types[0] w_type = in_types[1] type_check.expect( x_type.dtype == numpy.float32, w_type.dtype == numpy.float32, x_type.ndim >= 2, w_type.ndim == 2, type_check.prod(x_type.shape[1:]) == w_type.shape[1], ) if in_types.size().eval() == 3: b_type = in_types[2] type_check.expect( b_type.ndim == 1, b_type.shape[0] == w_type.shape[0], )
def check_type_forward(self, in_types): type_check.expect( in_types.size() >= 2, in_types.size() <= 3 ) x_type, w_type = in_types[:2] type_check.expect( x_type.dtype.kind == 'f', w_type.dtype.kind == 'f', x_type.ndim >= 2, w_type.ndim == 3, type_check.prod(x_type.shape[1:]) == w_type.shape[0] ) if in_types.size().eval() == 3: b_type = in_types[2] type_check.expect( b_type.dtype.kind == 'f', b_type.ndim == 2, b_type.shape == w_type.shape[1:] )
def check_type_forward(self, in_types): n_in = in_types.size() type_check.expect(3 <= n_in, n_in <= 4) x_type, w_type, g_type = in_types[:3] type_check.expect( x_type.dtype.kind == "f", w_type.dtype.kind == "f", g_type.dtype.kind == "f", x_type.ndim >= 2, w_type.ndim == 2, g_type.ndim == 2, type_check.prod(x_type.shape[1:]) == w_type.shape[1], ) if n_in.eval() == 4: b_type = in_types[3] type_check.expect( b_type.dtype == x_type.dtype, b_type.ndim == 1, b_type.shape[0] == w_type.shape[0], )
def check_type_forward(self, in_types): n_in = in_types.size() type_check.expect(3 <= n_in, n_in <= 4) x_type, w_type, g_type = in_types[:3] type_check.expect( x_type.dtype.kind == "f", w_type.dtype.kind == "f", g_type.dtype.kind == "f", x_type.ndim >= 2, w_type.ndim == 2, g_type.ndim == 2, type_check.prod(x_type.shape[1:]) == w_type.shape[1], ) if n_in.eval() == 4: b_type = in_types[3] type_check.expect( b_type.dtype == x_type.dtype, b_type.ndim == 1, b_type.shape[0] == w_type.shape[0], )
def test_name(self): p = T.prod([]) self.assertEqual(str(p), 'prod([])')
def test_value(self): value = T.prod([2, 3]).eval() self.assertEqual(value, 6)
def test_name(self): p = T.prod([]) self.assertEqual(str(p), 'prod([])')
def test_value(self): value = T.prod([2, 3]).eval() self.assertEqual(value, 6)