| from typing import List |
|
|
| from transformers import PretrainedConfig |
|
|
| """ |
| The configuration of a model is an object that |
| will contain all the necessary information to build the model. |
| |
| The three important things to remember when writing you own configuration are the following: |
| |
| - you have to inherit from PretrainedConfig, |
| - the __init__ of your PretrainedConfig must accept any kwargs, |
| - those kwargs need to be passed to the superclass __init__. |
| """ |
|
|
|
|
| class BBSNetConfig(PretrainedConfig): |
|
|
| """ |
| Defining a model_type for your configuration is not mandatory, |
| unless you want to register your model with the auto classes.""" |
|
|
| model_type = "bbsnet" |
|
|
| def __init__(self, **kwargs): |
| super().__init__(**kwargs) |
|
|
|
|
| if __name__ == "__main__": |
| """ |
| With this done, you can easily create and save your configuration like |
| you would do with any other model config of the library. |
| Here is how we can create a resnet50d config and save it: |
| """ |
| bbsnet_config = BBSNetConfig() |
| bbsnet_config.save_pretrained("custom-bbsnet") |
|
|
| """ |
| This will save a file named config.json inside the folder custom-resnet. |
| You can then reload your config with the from_pretrained method: |
| """ |
| bbsnet_config = BBSNetConfig.from_pretrained("custom-bbsnet") |
|
|
| """ |
| You can also use any other method of the PretrainedConfig class, |
| like push_to_hub() to directly upload your config to the Hub. |
| """ |
|
|