| from transformers import PretrainedConfig | |
| """Spice CNN model configuration""" | |
| SPICE_CNN_PRETRAINED_CONFIG_ARCHIVE_MAP = { | |
| "spicecloud/spice-cnn-base": "https://huggingface.co/spice-cnn-base/resolve/main/config.json" | |
| } | |
| # Define custom convnet configuration | |
| class SpiceCNNConfig(PretrainedConfig): | |
| """ | |
| This is the configuration class to store the configuration of a [`SpiceCNNModel`]. | |
| It is used to instantiate an SpiceCNN model according to the specified arguments, | |
| defining the model architecture. Instantiating a configuration with the defaults | |
| will yield a similar configuration to that of the SpiceCNN | |
| [spicecloud/spice-cnn-base](https://huggingface.co/spicecloud/spice-cnn-base) | |
| architecture. | |
| Configuration objects inherit from [`PretrainedConfig`] and can be used to control | |
| the model outputs. Read the documentation from [`PretrainedConfig`] for more | |
| information. | |
| """ | |
| model_type = "spicecnn" | |
| def __init__( | |
| self, | |
| in_channels: int = 3, | |
| num_classes: int = 10, | |
| dropout_rate: float = 0.4, | |
| hidden_size: int = 128, | |
| num_filters: int = 16, | |
| kernel_size: int = 3, | |
| stride: int = 1, | |
| padding: int = 1, | |
| pooling_size: int = 2, | |
| **kwargs | |
| ): | |
| super().__init__(**kwargs) | |
| self.in_channels = in_channels | |
| self.num_classes = num_classes | |
| self.dropout_rate = dropout_rate | |
| self.hidden_size = hidden_size | |
| self.num_filters = num_filters | |
| self.kernel_size = kernel_size | |
| self.stride = stride | |
| self.padding = padding | |
| self.pooling_size = pooling_size | |