def test_conversion_gpu_to_cpuC(): rational = Rational(version='C', cuda=True) rational.cpu() params = np.all([str(para.device) == 'cpu' for para in rational.parameters()]) cpu_f = "PYTORCH_C" in rational.activation_function.__qualname__ new_res = rational(inp).detach().numpy() coherent_compute = np.all(np.isclose(new_res, expected_res, atol=5e-02)) assert params and cpu_f and coherent_compute
def test_conversion_cpu_to_gpuD(): rational = Rational(version='D', cuda=False, trainable=False) rational.cuda() params = np.all(['cuda' in str(para.device) for para in rational.parameters()]) cpu_f = "CUDA_D" in rational.activation_function.__qualname__ new_res = rational(cuda_inp).clone().detach().cpu().numpy() coherent_compute = np.all(np.isclose(new_res, expected_res, atol=5e-02)) assert params and cpu_f and coherent_compute