File tree Expand file tree Collapse file tree 1 file changed +11
-1
lines changed
checkpoint/orbax/checkpoint/_src/checkpoint_managers Expand file tree Collapse file tree 1 file changed +11
-1
lines changed Original file line number Diff line number Diff line change @@ -157,7 +157,17 @@ def should_preserve(
157
157
) -> Sequence [bool ]:
158
158
if self .interval_steps == 0 :
159
159
raise ValueError ("interval_steps must not be 0." )
160
- result = [ckpt .step % self .interval_steps == 0 for ckpt in checkpoints ]
160
+ result = []
161
+ previous_step = None
162
+ for i , ckpt in enumerate (checkpoints ):
163
+ if i == 0 :
164
+ result .append (True ) # Always preserve the first checkpoint.
165
+ previous_step = ckpt .step
166
+ elif ckpt .step - previous_step >= self .interval_steps :
167
+ result .append (True )
168
+ previous_step = ckpt .step
169
+ else :
170
+ result .append (False )
161
171
_log_preservation_decision (
162
172
f"EveryNSteps (interval_steps={ self .interval_steps } )" ,
163
173
checkpoints ,
You can’t perform that action at this time.
0 commit comments