def METHOD_NAME(self, device_0, device_1):
    set_determinism(0)
    model_one = _TestModelOne(10, 20, 3)
    model_two = _TestModelTwo(10, 20, 10, 4)
    model_one.to(device_0)
    model_two.to(device_1)
    # test skip layer.bias
    model_dict, ch, unch = copy_model_state(model_one, model_two, exclude_vars="layer.bias")
    x = np.random.randn(4, 10)
    x = torch.tensor(x, device=device_0, dtype=torch.float32)
    output = model_one(x).detach().cpu().numpy()
    expected = np.array(
        [
            [-0.34172416, 0.0375042, -0.98340976],
            [-0.03364138, -0.08927619, -0.2246768],
            [-0.35700908, -0.15556987, -0.27658707],
            [0.61680925, -0.6106281, -0.02123314],
        ]
    )
    np.testing.assert_allclose(output, expected, atol=1e-3)
    self.assertEqual(len(ch), 1)
    self.assertEqual(len(unch), 3)