Skip to content

Commit e6b6678

Browse files
committed
Fix converter callable functions (optimizer, scheduler)
1 parent b1ec8e7 commit e6b6678

File tree

1 file changed

+12
-2
lines changed

1 file changed

+12
-2
lines changed

src/otx/tools/converter.py

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -277,12 +277,22 @@ def update_inference_batch_size(param_value: int) -> None:
277277
config["data"]["test_subset"]["batch_size"] = param_value
278278

279279
def update_learning_rate(param_value: float) -> None:
280-
config["model"]["init_args"]["optimizer"]["init_args"]["lr"] = param_value
280+
optimizer = config["model"]["init_args"]["optimizer"]
281+
if isinstance(optimizer, dict) and "init_args" in optimizer:
282+
optimizer["init_args"]["lr"] = param_value
283+
else:
284+
warn("Warning: learning_rate is not updated", stacklevel=1)
281285

282286
def update_learning_rate_warmup_iters(param_value: int) -> None:
283287
scheduler = config["model"]["init_args"]["scheduler"]
284-
if scheduler["class_path"] == "otx.core.schedulers.LinearWarmupSchedulerCallable":
288+
if (
289+
isinstance(scheduler, dict)
290+
and "class_path" in scheduler
291+
and scheduler["class_path"] == "otx.core.schedulers.LinearWarmupSchedulerCallable"
292+
):
285293
scheduler["init_args"]["num_warmup_steps"] = param_value
294+
else:
295+
warn("Warning: learning_rate_warmup_iters is not updated", stacklevel=1)
286296

287297
def update_num_iters(param_value: int) -> None:
288298
config["max_epochs"] = param_value

0 commit comments

Comments
 (0)