![]() |
Input config for training.
Inherits From: DataConfig
, Config
, ParamsDict
tfm.vision.configs.semantic_segmentation.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 = 1000,
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,
image_feature: tfm.vision.configs.semantic_segmentation.DenseFeatureConfig
= DenseFeatureConfig()
,
output_size: List[int] = dataclasses.field(default_factory=list),
crop_size: List[int] = dataclasses.field(default_factory=list),
weights: Optional[tfm.hyperparams.Config
] = None,
dtype: str = 'float32',
resize_eval_groundtruth: bool = True,
groundtruth_padded_size: List[int] = dataclasses.field(default_factory=list),
aug_scale_min: float = 1.0,
aug_scale_max: float = 1.0,
aug_rand_hflip: bool = True,
preserve_aspect_ratio: bool = True,
aug_policy: Optional[str] = None,
file_type: str = 'tfrecord',
decoder: Optional[tfm.vision.configs.common.DataDecoder
] = common.DataDecoder()
,
additional_dense_features: List[tfm.vision.configs.semantic_segmentation.DenseFeatureConfig
] = dataclasses.field(default_factory=list)
)
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
@classmethod
from_args( *args, **kwargs )
Builds a config from the given list of arguments.
from_json
@classmethod
from_json( file_path: str )
Wrapper for from_yaml
.
from_yaml
@classmethod
from_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_params must be present in the ParamsDict. If
False, keys in override_params can 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 specfiies 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
)
Class Variables | |
---|---|
IMMUTABLE_TYPES |
(<class 'str'>,
<class 'int'>,
<class 'float'>,
<class 'bool'>,
<class 'NoneType'>)
|
RESERVED_ATTR |
['_locked', '_restrictions']
|
SEQUENCE_TYPES |
(<class 'list'>, <class 'tuple'>)
|
apply_tf_data_service_before_batching |
False
|
aug_policy |
None
|
aug_rand_hflip |
True
|
aug_scale_max |
1.0
|
aug_scale_min |
1.0
|
block_length |
1
|
cache |
False
|
cycle_length |
10
|
decoder |
Instance of tfm.vision.configs.common.DataDecoder
|
default_params |
None
|
deterministic |
None
|
drop_remainder |
True
|
dtype |
'float32'
|
enable_shared_tf_data_service_between_parallel_trainers |
False
|
enable_tf_data_service |
False
|
file_type |
'tfrecord'
|
global_batch_size |
0
|
image_feature |
Instance of tfm.vision.configs.semantic_segmentation.DenseFeatureConfig
|
input_path |
''
|
is_training |
True
|
prefetch_buffer_size |
None
|
preserve_aspect_ratio |
True
|
resize_eval_groundtruth |
True
|
restrictions |
None
|
seed |
None
|
sharding |
True
|
shuffle_buffer_size |
1000
|
tf_data_service_address |
None
|
tf_data_service_job_name |
None
|
tfds_as_supervised |
False
|
tfds_data_dir |
''
|
tfds_name |
''
|
tfds_skip_decoding_feature |
''
|
tfds_split |
''
|
trainer_id |
None
|
weights |
None
|