From 3df109adfccedeb134dea4ba2ea9a2da89872048 Mon Sep 17 00:00:00 2001
From: Isuxiz Slidder <48672727+Isuxiz@users.noreply.github.com>
Date: 星期一, 31 三月 2025 17:51:52 +0800
Subject: [PATCH] Update model.py to fix "IndexError: index 1 is out of bounds for dimension 1 with size 0" (#2454)
---
funasr/schedulers/tri_stage_scheduler.py | 18 +++++++-----------
1 files changed, 7 insertions(+), 11 deletions(-)
diff --git a/funasr/schedulers/tri_stage_scheduler.py b/funasr/schedulers/tri_stage_scheduler.py
index 8dc71b4..7fc13b2 100644
--- a/funasr/schedulers/tri_stage_scheduler.py
+++ b/funasr/schedulers/tri_stage_scheduler.py
@@ -8,21 +8,19 @@
import torch
from torch.optim.lr_scheduler import _LRScheduler
-from typeguard import check_argument_types
from funasr.schedulers.abs_scheduler import AbsBatchStepScheduler
class TriStageLR(_LRScheduler, AbsBatchStepScheduler):
def __init__(
- self,
- optimizer: torch.optim.Optimizer,
- last_epoch: int = -1,
- phase_ratio: Optional[List[float]] = None,
- init_lr_scale: float = 0.01,
- final_lr_scale: float = 0.01,
+ self,
+ optimizer: torch.optim.Optimizer,
+ last_epoch: int = -1,
+ phase_ratio: Optional[List[float]] = None,
+ init_lr_scale: float = 0.01,
+ final_lr_scale: float = 0.01,
):
- assert check_argument_types()
self.optimizer = optimizer
self.last_epoch = last_epoch
self.phase_ratio = phase_ratio
@@ -44,9 +42,7 @@
self.decay_steps = int(self.max_update * self.phase_ratio[2])
self.warmup_rate = (
- (self.peak_lr - self.init_lr) / self.warmup_steps
- if self.warmup_steps != 0
- else 0
+ (self.peak_lr - self.init_lr) / self.warmup_steps if self.warmup_steps != 0 else 0
)
self.decay_factor = -math.log(self.final_lr_scale) / self.decay_steps
--
Gitblit v1.9.1