1515import tempfile
1616import unittest
1717
18- import numpy
1918import numpy as np
2019from op_test import is_custom_device
2120
@@ -81,7 +80,7 @@ def tearDown(self):
8180
8281 def check_with_opt_state_dict (self , use_save_load = True ):
8382 paddle .seed (100 )
84- numpy .random .seed (100 )
83+ np .random .seed (100 )
8584
8685 class SimpleNet (paddle .nn .Layer ):
8786 def __init__ (self , input_size , output_size ):
@@ -108,8 +107,8 @@ def __init__(self, num_samples):
108107 self .num_samples = num_samples
109108
110109 def __getitem__ (self , idx ):
111- data = numpy .random .random ([input_size ]).astype ('float16' )
112- label = numpy .random .random ([output_size ]).astype ('float16' )
110+ data = np .random .random ([input_size ]).astype ('float16' )
111+ label = np .random .random ([output_size ]).astype ('float16' )
113112 return data , label
114113
115114 def __len__ (self ):
@@ -184,7 +183,7 @@ def test_weight_decay_int(self):
184183
185184 def test_step_without_closure (self ):
186185 paddle .seed (100 )
187- numpy .random .seed (100 )
186+ np .random .seed (100 )
188187 paddle .disable_static ()
189188 x = paddle .arange (26 , dtype = "float32" ).reshape ([2 , 13 ])
190189 linear = paddle .nn .Linear (13 , 5 )
@@ -211,7 +210,7 @@ def test_step_without_closure(self):
211210
212211 def test_step_with_closure (self ):
213212 paddle .seed (100 )
214- numpy .random .seed (100 )
213+ np .random .seed (100 )
215214 paddle .disable_static ()
216215 x = paddle .arange (26 , dtype = "float32" ).reshape ([2 , 13 ])
217216 linear = paddle .nn .Linear (13 , 5 )
@@ -240,6 +239,25 @@ def closure():
240239
241240 loss = optimizer .step (closure )
242241
242+ def test_maximize_dygraph (self ):
243+ paddle .seed (100 )
244+ np .random .seed (100 )
245+ paddle .disable_static ()
246+ x = paddle .tensor ([0.0 , 0.0 ], dtype = "float32" )
247+ x .stop_gradient = False
248+ optimizer = paddle .optimizer .SGD (
249+ learning_rate = 0.5 ,
250+ parameters = [x ],
251+ maximize = True ,
252+ )
253+ for epoch in range (5 ):
254+ optimizer .clear_grad ()
255+ y = - ((x [0 ] - 1 ) ** 2 ) - (x [1 ] - 4 ) ** 2
256+ loss = paddle .sum (y )
257+ loss .backward ()
258+ optimizer .step ()
259+ np .testing .assert_allclose (x .numpy (), [1.0 , 4.0 ], atol = 1e-5 )
260+
243261
244262if __name__ == '__main__' :
245263 paddle .enable_static ()
0 commit comments