Skip to content

unitorch.cli.models.swin¤

SwinProcessor¤

Tip

core/process/swin is the section for configuration of SwinProcessor.

Bases: SwinProcessor

Swin Transformer processor for image tasks.

Initialize the SwinProcessor.

Parameters:

Name Type Description Default
vision_config_path str

The path to the vision model configuration file.

required
Source code in src/unitorch/cli/models/swin/processing.py
26
27
28
29
30
31
32
33
34
35
36
37
38
def __init__(
    self,
    vision_config_path: str,
):
    """
    Initialize the SwinProcessor.

    Args:
        vision_config_path (str): The path to the vision model configuration file.
    """
    super().__init__(
        vision_config_path=vision_config_path,
    )

from_core_configure classmethod ¤

from_core_configure(config, **kwargs)

Create an instance of SwinProcessor from a core configuration.

Parameters:

Name Type Description Default
config

The core configuration.

required
**kwargs

Additional keyword arguments.

{}

Returns:

Name Type Description
dict

The SwinProcessor configuration.

Source code in src/unitorch/cli/models/swin/processing.py
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
@classmethod
@add_default_section_for_init("core/process/swin")
def from_core_configure(cls, config, **kwargs):
    """
    Create an instance of SwinProcessor from a core configuration.

    Args:
        config: The core configuration.
        **kwargs: Additional keyword arguments.

    Returns:
        dict: The SwinProcessor configuration.
    """
    config.set_default_section("core/process/swin")
    pretrained_name = config.getoption(
        "pretrained_name", "swin-tiny-patch4-window7-224"
    )
    vision_config_path = config.getoption("vision_config_path", None)
    vision_config_path = pop_value(
        vision_config_path,
        nested_dict_value(pretrained_swin_infos, pretrained_name, "vision_config"),
    )

    vision_config_path = cached_path(vision_config_path)

    return {
        "vision_config_path": vision_config_path,
    }

SwinForImageClassification¤

Tip

core/model/classification/swin is the section for configuration of SwinForImageClassification.

Bases: SwinForImageClassification

Swin Transformer model for image classification.

Initialize the SwinForImageClassification model.

Parameters:

Name Type Description Default
config_path str

The path to the model configuration file.

required
num_classes Optional[int]

The number of classes for classification. Defaults to 1.

1
Source code in src/unitorch/cli/models/swin/modeling.py
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
def __init__(
    self,
    config_path: str,
    num_classes: Optional[int] = 1,
):
    """
    Initialize the SwinForImageClassification model.

    Args:
        config_path (str): The path to the model configuration file.
        num_classes (Optional[int]): The number of classes for classification. Defaults to 1.
    """
    super().__init__(
        config_path=config_path,
        num_classes=num_classes,
    )

forward ¤

forward(pixel_values: Tensor)

Perform forward pass of the SwinForImageClassification model.

Parameters:

Name Type Description Default
pixel_values Tensor

The input pixel values of shape (batch_size, channels, height, width).

required

Returns:

Name Type Description
ClassificationOutputs

The model outputs.

Source code in src/unitorch/cli/models/swin/modeling.py
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
@autocast(device_type=("cuda" if torch.cuda.is_available() else "cpu"))
def forward(
    self,
    pixel_values: torch.Tensor,
):
    """
    Perform forward pass of the SwinForImageClassification model.

    Args:
        pixel_values (torch.Tensor): The input pixel values of shape (batch_size, channels, height, width).

    Returns:
        ClassificationOutputs: The model outputs.
    """
    outputs = super().forward(pixel_values=pixel_values)
    return ClassificationOutputs(outputs=outputs)

from_core_configure classmethod ¤

from_core_configure(config, **kwargs)

Create an instance of SwinForImageClassification from a core configuration.

Parameters:

Name Type Description Default
config

The core configuration.

required
**kwargs

Additional keyword arguments.

{}

Returns:

Name Type Description
SwinForImageClassification

An instance of the SwinForImageClassification model.

Source code in src/unitorch/cli/models/swin/modeling.py
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
@classmethod
@add_default_section_for_init("core/model/classification/swin")
def from_core_configure(cls, config, **kwargs):
    """
    Create an instance of SwinForImageClassification from a core configuration.

    Args:
        config: The core configuration.
        **kwargs: Additional keyword arguments.

    Returns:
        SwinForImageClassification: An instance of the SwinForImageClassification model.
    """
    config.set_default_section("core/model/classification/swin")
    pretrained_name = config.getoption(
        "pretrained_name", "swin-tiny-patch4-window7-224"
    )
    config_path = config.getoption("config_path", None)
    config_path = pop_value(
        config_path,
        nested_dict_value(pretrained_swin_infos, pretrained_name, "config"),
    )

    config_path = cached_path(config_path)
    num_classes = config.getoption("num_classes", 1)

    inst = cls(
        config_path=config_path,
        num_classes=num_classes,
    )
    pretrained_weight_path = config.getoption("pretrained_weight_path", None)
    weight_path = pop_value(
        pretrained_weight_path,
        nested_dict_value(pretrained_swin_infos, pretrained_name, "weight"),
        check_none=False,
    )
    if weight_path is not None:
        inst.from_pretrained(weight_path)

    return inst