1010from neat_optim .state import ArrayState # noqa: E402
1111
1212
13+ def _to_numpy (tensor ) -> np .ndarray :
14+ return tensorflow .convert_to_tensor (tensor ).numpy ()
15+
16+
1317def _run_reference (
1418 initial_param : np .ndarray ,
1519 gradients : list [np .ndarray ],
@@ -38,7 +42,7 @@ def _run_keras(
3842 optimizer .apply_gradients (
3943 [(keras .ops .array (gradient , dtype = "float32" ), variable )]
4044 )
41- return optimizer , keras . ops . convert_to_numpy (variable )
45+ return optimizer , _to_numpy (variable )
4246
4347
4448def test_keras_optimizer_can_apply_gradients () -> None :
@@ -49,7 +53,7 @@ def test_keras_optimizer_can_apply_gradients() -> None:
4953
5054 optimizer .apply_gradients ([(gradient , variable )])
5155
52- values = keras . ops . convert_to_numpy (variable )
56+ values = _to_numpy (variable )
5357 assert values .shape == (2 ,)
5458 assert optimizer .variables
5559
@@ -99,12 +103,12 @@ def test_keras_optimizer_matches_reference_projection_mode() -> None:
99103
100104 np .testing .assert_allclose (keras_param , reference .param , atol = 1e-6 )
101105 np .testing .assert_allclose (
102- keras . ops . convert_to_numpy (optimizer .momentums [0 ]),
106+ _to_numpy (optimizer .momentums [0 ]),
103107 reference .state .momentum ,
104108 atol = 1e-6 ,
105109 )
106110 np .testing .assert_allclose (
107- keras . ops . convert_to_numpy (optimizer .nces [0 ]),
111+ _to_numpy (optimizer .nces [0 ]),
108112 reference .state .nce ,
109113 atol = 1e-6 ,
110114 )
@@ -134,7 +138,7 @@ def test_keras_optimizer_matches_reference_with_weight_decay_modes() -> None:
134138 )
135139 np .testing .assert_allclose (decoupled_param , decoupled_reference .param , atol = 1e-6 )
136140 np .testing .assert_allclose (
137- keras . ops . convert_to_numpy (decoupled_optimizer .momentums [0 ]),
141+ _to_numpy (decoupled_optimizer .momentums [0 ]),
138142 decoupled_reference .state .momentum ,
139143 atol = 1e-6 ,
140144 )
@@ -159,7 +163,7 @@ def test_keras_optimizer_matches_reference_with_weight_decay_modes() -> None:
159163 )
160164 np .testing .assert_allclose (coupled_param , coupled_reference .param , atol = 1e-6 )
161165 np .testing .assert_allclose (
162- keras . ops . convert_to_numpy (coupled_optimizer .momentums [0 ]),
166+ _to_numpy (coupled_optimizer .momentums [0 ]),
163167 coupled_reference .state .momentum ,
164168 atol = 1e-6 ,
165169 )
@@ -191,7 +195,7 @@ def test_keras_optimizer_matches_reference_when_nce_is_disabled() -> None:
191195
192196 np .testing .assert_allclose (keras_param , reference .param , atol = 1e-6 )
193197 np .testing .assert_allclose (
194- keras . ops . convert_to_numpy (optimizer .nces [0 ]),
198+ _to_numpy (optimizer .nces [0 ]),
195199 np .zeros_like (initial_param ),
196200 atol = 1e-6 ,
197201 )
0 commit comments