tfm.vision.configs.backbones.Backbone

Configuration for backbones.

Inherits From: OneOfConfig, Config, ParamsDict

type 'str', type of backbone be used, one of the fields below.
resnet resnet backbone config.
dilated_resnet dilated resnet backbone for semantic segmentation config.
revnet revnet backbone config.
efficientnet efficientnet backbone config.
spinenet spinenet backbone config.
spinenet_mobile mobile spinenet backbone config.
mobilenet mobilenet backbone config.
mobiledet mobiledet backbone config.
BUILDER

default_params Dataclass field
restrictions Dataclass field

Methods

as_dict

View source

Returns a dict representation of OneOfConfig.

For the nested base_config.Config, a nested dict will be returned.

from_args

View source

Builds a config from the given list of arguments.

from_json

View source

Wrapper for from_yaml.

from_yaml

View source

get

View source

Returns selected config based on the value of type.

If type is not set (None), None is returned.

lock

View source

Makes the ParamsDict immutable.

override

View source

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

View source

Overrides/returns a unlocked copy with the current config unchanged.

validate

View source

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:

  • a.a1 = 1 == b.ccc.a1 = 1
  • a.a2 = 2 <= b.bb.bb2 = 20

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__

View source

Implements the membership test operator.

__eq__

IMMUTABLE_TYPES (<class 'str'>, <class 'int'>, <class 'float'>, <class 'bool'>, <class 'NoneType'>)
RESERVED_ATTR ['_locked', '_restrictions']
SEQUENCE_TYPES (<class 'list'>, <class 'tuple'>)
default_params None
dilated_resnet Instance of tfm.vision.configs.backbones.DilatedResNet
efficientnet Instance of tfm.vision.configs.backbones.EfficientNet
mobiledet Instance of tfm.vision.configs.backbones.MobileDet
mobilenet Instance of tfm.vision.configs.backbones.MobileNet
resnet Instance of tfm.vision.configs.backbones.ResNet
restrictions None
revnet Instance of tfm.vision.configs.backbones.RevNet
spinenet Instance of tfm.vision.configs.backbones.SpineNet
spinenet_mobile Instance of tfm.vision.configs.backbones.SpineNetMobile
type None