34
34
if importlib .util .find_spec ("pydantic" ) is not None :
35
35
from pydantic import BaseModel
36
36
from pydantic import field_validator
37
- from pydantic_core .core_schema import FieldValidationInfo
37
+ from pydantic_core .core_schema import ValidationInfo
38
38
39
39
__all__ .append ("SolverConfig" )
40
40
@@ -81,7 +81,7 @@ class SWAConfig(BaseModel):
81
81
avg_range : Optional [Tuple [int , int ]] = None
82
82
83
83
@field_validator ("avg_range" )
84
- def avg_range_check (cls , v , info : FieldValidationInfo ):
84
+ def avg_range_check (cls , v , info : ValidationInfo ):
85
85
if v [0 ] > v [1 ]:
86
86
raise ValueError (
87
87
f"'avg_range' should be a valid range, but got { v } ."
@@ -145,7 +145,7 @@ def save_freq_check(cls, v):
145
145
return v
146
146
147
147
@field_validator ("start_eval_epoch" )
148
- def start_eval_epoch_check (cls , v , info : FieldValidationInfo ):
148
+ def start_eval_epoch_check (cls , v , info : ValidationInfo ):
149
149
if info .data ["eval_during_train" ]:
150
150
if v <= 0 :
151
151
raise ValueError (
@@ -155,7 +155,7 @@ def start_eval_epoch_check(cls, v, info: FieldValidationInfo):
155
155
return v
156
156
157
157
@field_validator ("eval_freq" )
158
- def eval_freq_check (cls , v , info : FieldValidationInfo ):
158
+ def eval_freq_check (cls , v , info : ValidationInfo ):
159
159
if info .data ["eval_during_train" ]:
160
160
if v <= 0 :
161
161
raise ValueError (
@@ -165,15 +165,15 @@ def eval_freq_check(cls, v, info: FieldValidationInfo):
165
165
return v
166
166
167
167
@field_validator ("ema" )
168
- def ema_check (cls , v , info : FieldValidationInfo ):
168
+ def ema_check (cls , v , info : ValidationInfo ):
169
169
if "swa" in info .data and info .data ["swa" ] is not None :
170
170
raise ValueError (
171
171
"The config of 'swa' should not be used when 'ema' is specifed."
172
172
)
173
173
return v
174
174
175
175
@field_validator ("swa" )
176
- def swa_check (cls , v , info : FieldValidationInfo ):
176
+ def swa_check (cls , v , info : ValidationInfo ):
177
177
if "ema" in info .data and info .data ["ema" ] is not None :
178
178
raise ValueError (
179
179
"The config of 'ema' should not be used when 'swa' is specifed."
@@ -212,7 +212,7 @@ class InferConfig(BaseModel):
212
212
213
213
# Fine-grained validator(s) below
214
214
@field_validator ("engine" )
215
- def engine_check (cls , v , info : FieldValidationInfo ):
215
+ def engine_check (cls , v , info : ValidationInfo ):
216
216
if v == "tensorrt" and info .data ["device" ] != "gpu" :
217
217
raise ValueError (
218
218
"'device' should be 'gpu' when 'engine' is 'tensorrt', "
@@ -319,7 +319,7 @@ def seed_check(cls, v):
319
319
return v
320
320
321
321
@field_validator ("use_wandb" )
322
- def use_wandb_check (cls , v , info : FieldValidationInfo ):
322
+ def use_wandb_check (cls , v , info : ValidationInfo ):
323
323
if not isinstance (info .data ["wandb_config" ], dict ):
324
324
raise ValueError (
325
325
"'wandb_config' should be a dict when 'use_wandb' is True, "
0 commit comments