class_docstr: This class should be used as a base for all DeepSpeed configs. It extends
  pydantic.BaseModel to allow for deprecated fields. To enable this feature,
  add deprecated=True to pydantic.Field:
  
  my_dep_field: int = Field(0, deprecated=True)
  
  Deprecated Field kwargs:
  - deprecated: [True|False], default False
      Enables / Disables deprecated fields
  - new_param: str, default ""
      Name of the field replacing the deprecated field
  - set_new_param: [True|False], default True
      If new_param is provided, enables setting the value of that param with
      deprecated field value
  - new_param_fn: callable, default (lambda x: x)
      If new_param is provided and set_new_param is True, this function will
      modify the value of the deprecated field before placing that value in
      the new_param field
  
  Example:
      my_new_field is replacing a deprecated my_old_field. The expected type
      for my_new_field is int while the expected type for my_old_field is
      str. We want to maintain backward compatibility with our configs, so we
      define the fields with:
  
      class MyExampleConfig(DeepSpeedConfigModel):
          my_new_field: int = 0
          my_old_field: str = Field('0',
                                    deprecated=True,
                                    new_param='my_new_field',
                                    new_param_fn=(lambda x: int(x)))
class_docstr_tok: ["This","class","should","be","used","as","a","base","for","all","DeepSpeed","configs",".","It","extends","pydantic.BaseModel","to","allow","for","deprecated","fields",".","To","enable","this","feature",",","add","deprecated=True","to","pydantic.Field",":","my_dep_field",":","int","=","Field","(","0",",","deprecated=True",")","Deprecated","Field","kwargs",":","-","deprecated",":","[","True|False","]",",","default","False","Enables","\/","Disables","deprecated","fields","-","new_param",":","str",",","default","``","''","Name","of","the","field","replacing","the","deprecated","field","-","set_new_param",":","[","True|False","]",",","default","True","If","new_param","is","provided",",","enables","setting","the","value","of","that","param","with","deprecated","field","value","-","new_param_fn",":","callable",",","default","(","lambda","x",":","x",")","If","new_param","is","provided","and","set_new_param","is","True",",","this","function","will","modify","the","value","of","the","deprecated","field","before","placing","that","value","in","the","new_param","field","Example",":","my_new_field","is","replacing","a","deprecated","my_old_field",".","The","expected","type","for","my_new_field","is","int","while","the","expected","type","for","my_old_field","is","str",".","We","want","to","maintain","backward","compatibility","with","our","configs",",","so","we","define","the","fields","with",":","class","MyExampleConfig","(","DeepSpeedConfigModel",")",":","my_new_field",":","int","=","0","my_old_field",":","str","=","Field","(","'","0","'",",","deprecated=True",",","new_param='my_new_field","'",",","new_param_fn=","(","lambda","x",":","int","(","x",")",")",")"]
code: def _deprecated_fields_check(self, pydantic_config):
      fields = pydantic_config.__fields__
      for field in fields.values():
          if field.field_info.extra.get("deprecated", False):
              self._process_deprecated_field(pydantic_config, field)
  
imports: import json
  import collections
  import collections.abc
  from functools import reduce
  from pydantic import BaseModel
  from deepspeed.utils import logger
label_desc: Use image node_id 3 for calling the DeepSpeedConfigModel obj's underlying member method code with example usage: obj._deprecated_fields_check(pydantic_config) without return types