def test_scalar_cast_grad(): """ test_scalar_cast_grad """ input_x = 255.5 input_t = get_py_obj_dtype(ms.int8) def fx_cast(x): output = F.scalar_cast(x, input_t) return output gfn = C.grad(fx_cast)(input_x) expect_dx = 1 assert gfn == expect_dx
def first_derivative_if(x): """ first_derivative_if """ return grad(if_test)(x)
def third_derivative(x): """ third_derivative """ return grad(second_derivative)(x)
def second_derivative(x): """ second_derivative """ return grad(first_derivative)(x)
def first_derivative(x): """ first_derivative """ return grad(single)(x)
def second_derivative_if(x): """ second_derivative_if """ return grad(first_derivative_if)(x)
def grad_fx_cast(input_x): return C.grad(fx_cast)(input_x)
def invoke_while(x, y): return C.grad(dont_unroll_while)(x, y)
def df_factorial(x): return C.grad(factorial)(x)
def grad_rec(input_x): return C.grad(rec)(input_x)
def df_t2_while(input_x, input_y): return C.grad(t2_while)(input_x, input_y)
def test_grad_factorial(): res = C.grad(factorial)(3) assert res == 11
def test_grad_while2(): res = C.grad(t2_while)(2, 3) assert res == 3
def test_grad_rec(): """ test_grad_rec """ res = C.grad(rec)(10) assert res == 1
def construct(self, x, y): return C.grad(self.network)(x, y)
def mainf(x, y): return C.grad(mul)(x, y)
def construct(self, input_): return C.grad(self.network)(input_)
def force_fn(R: Tensor): return -C.grad(energy_fn)(R)