| from transformers import PretrainedConfig |
| from transformers.utils import logging |
|
|
| logger = logging.get_logger(__name__) |
|
|
|
|
| class UniFormerWithProjectionHeadConfig(PretrainedConfig): |
| |
| model_type = 'uniformer' |
| |
| def __init__( |
| self, |
| projection_size=None, |
| embed_dim=[64, 128, 320, 512], |
| image_size=384, |
| in_chans=3, |
| depth=[5, 8, 20, 7], |
| patch_size=[4, 2, 2, 2], |
| head_dim=64, |
| mlp_ratio=4, |
| qkv_bias=True, |
| num_classes=1000, |
| qk_scale=None, |
| representation_size=None, |
| drop_rate=0.0, |
| drop_path_rate=0.3, |
| attn_drop_rate=0.0, |
| conv_stem=False, |
| layer_norm_eps=1e-6, |
| **kwargs, |
| ): |
| super().__init__( |
| layer_norm_eps=layer_norm_eps, |
| image_size=image_size, |
| qkv_bias=qkv_bias, |
| **kwargs, |
| ) |
| self.projection_size = projection_size |
| self.embed_dim = embed_dim |
| self.in_chans = in_chans |
| self.depth = depth |
| self.patch_size = patch_size |
| self.head_dim = head_dim |
| self.mlp_ratio = mlp_ratio |
| self.num_classes = num_classes |
| self.qk_scale = qk_scale |
| self.representation_size = representation_size |
| self.drop_rate = drop_rate |
| self.drop_path_rate = drop_path_rate |
| self.attn_drop_rate = attn_drop_rate |
| self.conv_stem = conv_stem |
|
|