Skip to content

TridentNet

The ResNeXt model is based on the "Scale-Aware Trident Networks for Object Detection" paper.

Architecture overview

This paper replaces the bottleneck block of ResNet architectures by a multi-scale version.

TridentNet architecture

The key takeaways from the paper are the following:

  • switch bottleneck to a 3 branch system
  • all parallel branches share the same parameters but using different dilation values

Model builders

The following model builders can be used to instantiate a TridentNet model, with or without pre-trained weights. All the model builders internally rely on the ResNet base class.

tridentnet50

tridentnet50(pretrained: bool = False, progress: bool = True, **kwargs: Any) -> ResNet

TridentNet-50 from "Scale-Aware Trident Networks for Object Detection"

PARAMETER DESCRIPTION
pretrained

If True, returns a model pre-trained on ImageNet

TYPE: bool DEFAULT: False

progress

If True, displays a progress bar of the download to stderr

TYPE: bool DEFAULT: True

kwargs

keyword args of ResNet

TYPE: Any DEFAULT: {}

RETURNS DESCRIPTION
ResNet

classification model

Source code in holocron/models/classification/tridentnet.py
def tridentnet50(pretrained: bool = False, progress: bool = True, **kwargs: Any) -> ResNet:
    """TridentNet-50 from
    ["Scale-Aware Trident Networks for Object Detection"](https://arxiv.org/pdf/1901.01892.pdf)

    Args:
        pretrained: If True, returns a model pre-trained on ImageNet
        progress: If True, displays a progress bar of the download to stderr
        kwargs: keyword args of [`ResNet`][holocron.models.classification.resnet.ResNet]

    Returns:
        classification model
    """
    return _tridentnet("tridentnet50", pretrained, progress, [3, 4, 6, 3], [64, 128, 256, 512], **kwargs)