CNNModel¶
tiatoolbox
.models
.architecture
.vanilla
.CNNModel
- class CNNModel(backbone, num_classes=1)[source]¶
Retrieve the model backbone and attach an extra FCN to perform classification.
This class initializes a Convolutional Neural Network (CNN) model with a specified backbone and attaches a fully connected layer for classification tasks.
- Parameters:
- feat_extract¶
Backbone CNN model.
- Type:
nn.Module
- pool¶
Type of pooling applied after feature extraction.
- Type:
nn.Module
- classifier¶
Linear classifier module used to map the features to the output.
- Type:
nn.Module
Example
>>> model = CNNModel("resnet18", num_classes=2) >>> output = model(torch.randn(1, 3, 224, 224)) >>> print(output.shape)
Initialize
CNNModel
.Methods
Pass input data through the model.
Run inference on an input batch.
Define the post-processing of this class of model.
Attributes
training
- forward(imgs)[source]¶
Pass input data through the model.
- Parameters:
imgs (torch.Tensor) – Model input.
self (CNNModel)
- Returns:
The output logits after passing through the model.
- Return type:
- static infer_batch(model, batch_data, device='cpu')[source]¶
Run inference on an input batch.
Contains logic for forward operation as well as i/o aggregation.
- Parameters:
model (nn.Module) – PyTorch defined model.
batch_data (torch.Tensor) – A batch of data generated by torch.utils.data.DataLoader.
device (str) – Transfers model to the specified device. Default is “cpu”.
- Return type:
Example
>>> output = _infer_batch(model, batch_data, "cuda") >>> print(output)