EfficientNetB0ImageClassifier
EfficientNet-B0 image classifier (Tan & Le, 2019).
Compact baseline of the EfficientNet family, which scales network width, depth, and resolution jointly. The classifier head is replaced to match the number of target classes. Supports ImageNet pretrained weights.
Parameters
- epochs : integer, default=
10 - The number of epochs to train the model. An epoch is a full iteration over the training data.
- learning_rate : number, default=
0.001 - Learning rate for the Adam optimizer.
- batch_size : integer, default=
32 - Number of images processed together in each training step. Larger values speed up training but require more memory.
- image_size : integer, default=
224 - Images are resized to this value (in pixels) for both width and height. Use 224 for ImageNet-pretrained models.
- dropout_rate : number, default=
0.0 - Dropout rate applied before the output layer. Values between 0.2 and 0.5 help prevent overfitting.
- weight_decay : number, default=
0.0 - L2 regularization coefficient for the Adam optimizer. Typical values: 1e-4 to 1e-2.
- pretrained : boolean, default=
True - If True, loads weights pretrained on ImageNet. Recommended when your dataset is small or similar to natural images.
- freeze_backbone : boolean, default=
False - If True, freezes the convolutional backbone and only trains the classifier head. Useful for very small datasets.
- device : string, default=
CPU - Hardware device used for training and inference (CPU/GPU).
Methods
calculate_metrics(self, split: DashAI.back.core.enums.metrics.SplitEnum = <SplitEnum.VALIDATION: 'validation'>, level: DashAI.back.core.enums.metrics.LevelEnum = <LevelEnum.LAST: 'last'>, log_index: int = None, x_data: 'DashAIDataset' = None, y_data: 'DashAIDataset' = None)
BaseModelCalculate and save metrics for a given data split and level.
Parameters
- split : SplitEnum
- The data split to evaluate (TRAIN, VALIDATION, or TEST). Defaults to SplitEnum.VALIDATION.
- level : LevelEnum
- The metric granularity level (LAST, TRIAL, STEP, or BATCH). Defaults to LevelEnum.LAST.
- log_index : int, optional
- Explicit step index for the metric entry. If None, the next step index is computed automatically. Defaults to None.
- x_data : DashAIDataset, optional
- Input features. If None, the dataset stored in the model for the given split is used. Defaults to None.
- y_data : DashAIDataset, optional
- Target labels. If None, the labels stored in the model for the given split are used. Defaults to None.
get_metadata(cls) -> Dict[str, Any]
BaseModelGet metadata values for the current model.
Returns
- Dict[str, Any]
- Dictionary containing UI metadata such as the model icon used in the DashAI frontend.
get_schema(cls) -> dict
ConfigObjectGenerates the component related Json Schema.
Returns
- dict
- Dictionary representing the Json Schema of the component.
load(cls, filename: 'str')
TorchvisionImageClassifierLoad a model checkpoint from disk.
Parameters
- filename : str
- Path to the checkpoint file.
Returns
- BaseTorchvisionImageClassifier
- Instance with loaded weights.
predict(self, x)
TorchvisionImageClassifierReturn per class probability matrix for each image.
Parameters
- x : DashAIDataset
- Input dataset containing images.
Returns
- np.ndarray
- Array of shape (n_samples, n_classes) with softmax probabilities.
prepare_dataset(self, dataset: 'DashAIDataset', is_fit: bool = False) -> 'DashAIDataset'
BaseModelHook for model specific preprocessing of input features.
Parameters
- dataset : DashAIDataset
- The input dataset to preprocess.
- is_fit : bool
- Whether the call is part of a fitting phase. Defaults to False.
Returns
- DashAIDataset
- The preprocessed dataset ready to be fed into the model.
prepare_output(self, dataset, is_fit=False)
TorchvisionImageClassifierEncode string labels to integer indices matching the model's class order.
save(self, filename: 'str') -> 'None'
TorchvisionImageClassifierSave the model checkpoint to disk.
Parameters
- filename : str
- Path where the checkpoint will be saved.
train(self, x_train, y_train, x_validation=None, y_validation=None)
TorchvisionImageClassifierFine-tune the backbone on the provided image dataset.
Parameters
- x_train : DashAIDataset
- Input dataset containing images.
- y_train : DashAIDataset
- Target dataset containing string labels.
- x_validation : DashAIDataset, optional
- Validation input features. Defaults to None.
- y_validation : DashAIDataset, optional
- Validation target labels. Defaults to None.
Returns
- BaseTorchvisionImageClassifier
- The trained model instance.
validate_and_transform(self, raw_data: dict) -> dict
ConfigObjectIt takes the data given by the user to initialize the model and returns it with all the objects that the model needs to work.
Parameters
- raw_data : dict
- A dictionary with the data provided by the user to initialize the model.
Returns
- dict
- A validated dictionary with the necessary objects.