Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 8 additions & 8 deletions ppsci/utils/config.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@
if importlib.util.find_spec("pydantic") is not None:
from pydantic import BaseModel
from pydantic import field_validator
from pydantic_core.core_schema import FieldValidationInfo
from pydantic_core.core_schema import ValidationInfo

__all__.append("SolverConfig")

Expand Down Expand Up @@ -81,7 +81,7 @@ class SWAConfig(BaseModel):
avg_range: Optional[Tuple[int, int]] = None

@field_validator("avg_range")
def avg_range_check(cls, v, info: FieldValidationInfo):
def avg_range_check(cls, v, info: ValidationInfo):
if v[0] > v[1]:
raise ValueError(
f"'avg_range' should be a valid range, but got {v}."
Expand Down Expand Up @@ -145,7 +145,7 @@ def save_freq_check(cls, v):
return v

@field_validator("start_eval_epoch")
def start_eval_epoch_check(cls, v, info: FieldValidationInfo):
def start_eval_epoch_check(cls, v, info: ValidationInfo):
if info.data["eval_during_train"]:
if v <= 0:
raise ValueError(
Expand All @@ -155,7 +155,7 @@ def start_eval_epoch_check(cls, v, info: FieldValidationInfo):
return v

@field_validator("eval_freq")
def eval_freq_check(cls, v, info: FieldValidationInfo):
def eval_freq_check(cls, v, info: ValidationInfo):
if info.data["eval_during_train"]:
if v <= 0:
raise ValueError(
Expand All @@ -165,15 +165,15 @@ def eval_freq_check(cls, v, info: FieldValidationInfo):
return v

@field_validator("ema")
def ema_check(cls, v, info: FieldValidationInfo):
def ema_check(cls, v, info: ValidationInfo):
if "swa" in info.data and info.data["swa"] is not None:
raise ValueError(
"The config of 'swa' should not be used when 'ema' is specifed."
)
return v

@field_validator("swa")
def swa_check(cls, v, info: FieldValidationInfo):
def swa_check(cls, v, info: ValidationInfo):
if "ema" in info.data and info.data["ema"] is not None:
raise ValueError(
"The config of 'ema' should not be used when 'swa' is specifed."
Expand Down Expand Up @@ -212,7 +212,7 @@ class InferConfig(BaseModel):

# Fine-grained validator(s) below
@field_validator("engine")
def engine_check(cls, v, info: FieldValidationInfo):
def engine_check(cls, v, info: ValidationInfo):
if v == "tensorrt" and info.data["device"] != "gpu":
raise ValueError(
"'device' should be 'gpu' when 'engine' is 'tensorrt', "
Expand Down Expand Up @@ -319,7 +319,7 @@ def seed_check(cls, v):
return v

@field_validator("use_wandb")
def use_wandb_check(cls, v, info: FieldValidationInfo):
def use_wandb_check(cls, v, info: ValidationInfo):
if not isinstance(info.data["wandb_config"], dict):
raise ValueError(
"'wandb_config' should be a dict when 'use_wandb' is True, "
Expand Down