From 8f367b056f263ade12f3064f814bd8b09bfbbb49 Mon Sep 17 00:00:00 2001 From: ypatz <29460548+ypatz@users.noreply.github.com> Date: Thu, 14 Aug 2025 15:10:58 +0800 Subject: [PATCH] fix the dataclass error when python version >= 3.11 (#4108) --- paddlespeech/server/engine/asr/online/ctc_endpoint.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/paddlespeech/server/engine/asr/online/ctc_endpoint.py b/paddlespeech/server/engine/asr/online/ctc_endpoint.py index 1b8ad1cb7..f509cb9ee 100644 --- a/paddlespeech/server/engine/asr/online/ctc_endpoint.py +++ b/paddlespeech/server/engine/asr/online/ctc_endpoint.py @@ -12,6 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. from dataclasses import dataclass +from dataclasses import field import numpy as np @@ -38,13 +39,16 @@ class OnlineCTCEndpoingOpt: # that rule to a very large number. # rule1 times out after 5 seconds of silence, even if we decoded nothing. - rule1: OnlineCTCEndpointRule = OnlineCTCEndpointRule(False, 5000, 0) + rule1: OnlineCTCEndpointRule = field( + default_factory=lambda: OnlineCTCEndpointRule(False, 5000, 0)) # rule2 times out after 1.0 seconds of silence after decoding something, # even if we did not reach a final-state at all. - rule2: OnlineCTCEndpointRule = OnlineCTCEndpointRule(True, 1000, 0) + rule2: OnlineCTCEndpointRule = field( + default_factory=lambda: OnlineCTCEndpointRule(True, 1000, 0)) # rule3 times out after the utterance is 20 seconds long, regardless of # anything else. - rule3: OnlineCTCEndpointRule = OnlineCTCEndpointRule(False, 0, 20000) + rule3: OnlineCTCEndpointRule = field( + default_factory=lambda: OnlineCTCEndpointRule(False, 0, 20000)) class OnlineCTCEndpoint: