def setUp(self): self.inputs = tuple([ self._setup_tensor(-1, 1, shape, self.dtype) for shape in self.shapes ]) if self.dtype == numpy.float16: # Avoid numpy issue #10899 self.forward_answer = numpy.einsum( *self._get_args(self.inputs), dtype=numpy.float64 ).astype(self.dtype) else: self.forward_answer = numpy.einsum(*self._get_args(self.inputs)) self.g = self._setup_tensor( -1, 1, self.forward_answer.shape, self.dtype) self.gg_inputs = tuple([ self._setup_tensor(-1, 1, shape, self.dtype) for shape in self.shapes ]) self.op = lambda *xs: einsum.einsum(*self._get_args(xs))
def test_bad_ellipsis_sum(self): with self.assertRaises(ValueError): einsum.einsum(self.subscripts, *self.inputs)
def test_raise_parse_error(self): with self.assertRaises(ValueError): einsum.einsum(self.subscripts, *self.inputs)
def test_raise_invalid_type(self): with self.assertRaises(utils.type_check.InvalidType): einsum.einsum(self.subscripts, *self.inputs)
def test_warn(self): with warnings.catch_warnings(record=True) as ws: warnings.simplefilter("always") einsum.einsum(self.subscripts, *self.inputs) self.assertEqual(len(ws), 1)