graph LR
ClassyModel["ClassyModel"]
Model_Backbones["Model Backbones"]
Prediction_Heads["Prediction Heads"]
Model_Backbones -- "is-a" --> ClassyModel
Model_Backbones -- "provides features to" --> Prediction_Heads
Prediction_Heads -- "consumes features from" --> Model_Backbones
The ClassyVision model subsystem is designed with a clear separation of concerns, centered around the abstract ClassyModel component. This foundational interface ensures uniformity across diverse neural network architectures. Model Backbones, which are specialized implementations extending ClassyModel, are responsible for the crucial task of feature extraction from raw input data, transforming it into rich, high-dimensional representations. These extracted features are then passed to Prediction Heads, which consume them to perform task-specific transformations, ultimately yielding the final predictions. This modular architecture facilitates flexible composition, allowing various backbones and heads to be combined, thereby streamlining the development and experimentation with different model configurations.
Serves as the abstract base class for all neural network models within ClassyVision. It defines a standardized interface for model construction, feature extraction, and the integration of prediction heads, ensuring consistency across diverse model architectures. This component is fundamental for the framework's extensibility, allowing new model backbones to be easily integrated.
Related Classes/Methods:
These components represent specific neural network architectures (e.g., DenseNet, EfficientNet, ResNeXt, VisionTransformer, AnyNet, RegNet, ResNeXt3D) designed for feature extraction from input data. Each backbone provides a unique way to transform raw inputs into a rich, high-dimensional feature representation suitable for downstream tasks. They are the "feature extractors" of the model.
Related Classes/Methods:
classy_vision.models.densenet.DenseNet:103-276classy_vision.models.efficientnet.EfficientNet:257-481classy_vision.models.resnext.ResNeXt:259-477classy_vision.models.vision_transformer.VisionTransformer:189-394classy_vision.models.anynet.AnyNet:407-536classy_vision.models.regnet.RegNet:139-203classy_vision.models.resnext3d.ResNeXt3D:288-417
These components (e.g., FullyConvolutionalLinearHead, VisionTransformerHead) are responsible for transforming the features extracted by the Model Backbones into final predictions. They typically apply linear transformations or other task-specific layers to produce outputs like class probabilities for classification. They act as the final layer(s) of the neural network.
Related Classes/Methods: