|  View source on GitHub | 
Input config for training.
Inherits From: DataConfig, Config, ParamsDict
tfm.vision.configs.image_classification.DataConfig(
    default_params: dataclasses.InitVar[Optional[Mapping[str, Any]]] = None,
    restrictions: dataclasses.InitVar[Optional[List[str]]] = None,
    input_path: Union[Sequence[str], str, tfm.hyperparams.Config] = '',
    tfds_name: Union[str, tfm.hyperparams.Config] = '',
    tfds_split: str = '',
    global_batch_size: int = 0,
    is_training: bool = True,
    drop_remainder: bool = True,
    shuffle_buffer_size: int = 10000,
    cache: bool = False,
    cycle_length: int = 10,
    block_length: int = 1,
    deterministic: Optional[bool] = None,
    sharding: bool = True,
    enable_tf_data_service: bool = False,
    tf_data_service_address: Optional[str] = None,
    tf_data_service_job_name: Optional[str] = None,
    tfds_data_dir: str = '',
    tfds_as_supervised: bool = False,
    tfds_skip_decoding_feature: str = '',
    enable_shared_tf_data_service_between_parallel_trainers: bool = False,
    apply_tf_data_service_before_batching: bool = False,
    trainer_id: Optional[str] = None,
    seed: Optional[int] = None,
    prefetch_buffer_size: Optional[int] = None,
    autotune_algorithm: Optional[str] = None,
    weights: Optional[tfm.hyperparams.Config] = None,
    dtype: str = 'float32',
    is_multilabel: bool = False,
    aug_rand_hflip: bool = True,
    aug_crop: Optional[bool] = True,
    crop_area_range: Optional[Tuple[float, float]] = tfm.vision.configs.image_classification.DataConfig.crop_area_range,
    aug_type: Optional[tfm.vision.configs.common.Augmentation] = None,
    three_augment: bool = False,
    color_jitter: float = 0.0,
    random_erasing: Optional[tfm.vision.configs.common.RandomErasing] = None,
    file_type: str = 'tfrecord',
    image_field_key: str = 'image/encoded',
    label_field_key: str = 'image/class/label',
    decode_jpeg_only: bool = True,
    mixup_and_cutmix: Optional[tfm.vision.configs.common.MixupAndCutmix] = None,
    decoder: Optional[tfm.vision.configs.common.DataDecoder] = dataclasses.field(default_factory=common.DataDecoder),
    aug_policy: Optional[str] = None,
    randaug_magnitude: Optional[int] = 10,
    center_crop_fraction: Optional[float] = 0.875,
    tf_resize_method: str = 'bilinear',
    repeated_augment: Optional[int] = None
)
Methods
as_dict
as_dict()
Returns a dict representation of params_dict.ParamsDict.
For the nested params_dict.ParamsDict, a nested dict will be returned.
from_args
@classmethodfrom_args( *args, **kwargs )
Builds a config from the given list of arguments.
from_json
@classmethodfrom_json( file_path: str )
Wrapper for from_yaml.
from_yaml
@classmethodfrom_yaml( file_path: str )
get
get(
    key, value=None
)
Accesses through built-in dictionary get method.
lock
lock()
Makes the ParamsDict immutable.
override
override(
    override_params, is_strict=True
)
Override the ParamsDict with a set of given params.
| Args | |
|---|---|
| override_params | a dict or a ParamsDict specifying the parameters to be overridden. | 
| is_strict | a boolean specifying whether override is strict or not. If
True, keys in override_paramsmust be present in the ParamsDict. If
False, keys inoverride_paramscan be different from what is currently
defined in the ParamsDict. In this case, the ParamsDict will be extended
to include the new keys. | 
replace
replace(
    **kwargs
)
Overrides/returns a unlocked copy with the current config unchanged.
validate
validate()
Validate the parameters consistency based on the restrictions.
This method validates the internal consistency using the pre-defined list of restrictions. A restriction is defined as a string which specifies a binary operation. The supported binary operations are {'==', '!=', '<', '<=', '>', '>='}. Note that the meaning of these operators are consistent with the underlying Python immplementation. Users should make sure the define restrictions on their type make sense.
For example, for a ParamsDict like the following
a:
  a1: 1
  a2: 2
b:
  bb:
    bb1: 10
    bb2: 20
  ccc:
    a1: 1
    a3: 3
one can define two restrictions like this ['a.a1 == b.ccc.a1', 'a.a2 <= b.bb.bb2']
| What it enforces are | |
|---|---|
| 
 | 
| Raises | |
|---|---|
| KeyError | if any of the following happens (1) any of parameters in any of restrictions is not defined in ParamsDict, (2) any inconsistency violating the restriction is found. | 
| ValueError | if the restriction defined in the string is not supported. | 
__contains__
__contains__(
    key
)
Implements the membership test operator.
__eq__
__eq__(
    other
)