def test_unary(symbol, dims): sizes = {'a': 3, 'b': 4} shape = tuple(sizes[d] for d in dims) inputs = OrderedDict((d, bint(sizes[d])) for d in dims) dtype = 'real' data = torch.rand(shape) + 0.5 if symbol == '~': data = data.byte() dtype = 2 expected_data = unary_eval(symbol, data) x = Tensor(data, inputs, dtype) actual = unary_eval(symbol, x) check_funsor(actual, inputs, funsor.Domain((), dtype), expected_data)
def test_unary(symbol, dims): sizes = {'a': 3, 'b': 4} shape = tuple(sizes[d] for d in dims) inputs = OrderedDict((d, bint(sizes[d])) for d in dims) dtype = 'real' data = rand(shape) + 0.5 if symbol == '~': data = ops.astype(data, 'uint8') dtype = 2 if get_backend() != "torch" and symbol in [ "abs", "sqrt", "exp", "log", "log1p", "sigmoid" ]: expected_data = getattr(ops, symbol)(data) else: expected_data = unary_eval(symbol, data) x = Tensor(data, inputs, dtype) actual = unary_eval(symbol, x) check_funsor(actual, inputs, funsor.Domain((), dtype), expected_data)