@@ -789,200 +789,190 @@ def _cfgv2(url='', **kwargs):
789
789
@register_model
790
790
def convnext_atto (pretrained = False , ** kwargs ):
791
791
# timm femto variant (NOTE: still tweaking depths, will vary between 3-4M param, current is 3.7M
792
- model_args = dict (
793
- depths = (2 , 2 , 6 , 2 ), dims = (40 , 80 , 160 , 320 ), conv_mlp = True , ** kwargs )
794
- model = _create_convnext ('convnext_atto' , pretrained = pretrained , ** model_args )
792
+ model_args = dict (depths = (2 , 2 , 6 , 2 ), dims = (40 , 80 , 160 , 320 ), conv_mlp = True )
793
+ model = _create_convnext ('convnext_atto' , pretrained = pretrained , ** dict (model_args , ** kwargs ))
795
794
return model
796
795
797
796
798
797
@register_model
799
798
def convnext_atto_ols (pretrained = False , ** kwargs ):
800
799
# timm femto variant with overlapping 3x3 conv stem, wider than non-ols femto above, current param count 3.7M
801
- model_args = dict (
802
- depths = (2 , 2 , 6 , 2 ), dims = (40 , 80 , 160 , 320 ), conv_mlp = True , stem_type = 'overlap_tiered' , ** kwargs )
803
- model = _create_convnext ('convnext_atto_ols' , pretrained = pretrained , ** model_args )
800
+ model_args = dict (depths = (2 , 2 , 6 , 2 ), dims = (40 , 80 , 160 , 320 ), conv_mlp = True , stem_type = 'overlap_tiered' )
801
+ model = _create_convnext ('convnext_atto_ols' , pretrained = pretrained , ** dict (model_args , ** kwargs ))
804
802
return model
805
803
806
804
807
805
@register_model
808
806
def convnext_femto (pretrained = False , ** kwargs ):
809
807
# timm femto variant
810
- model_args = dict (
811
- depths = (2 , 2 , 6 , 2 ), dims = (48 , 96 , 192 , 384 ), conv_mlp = True , ** kwargs )
812
- model = _create_convnext ('convnext_femto' , pretrained = pretrained , ** model_args )
808
+ model_args = dict (depths = (2 , 2 , 6 , 2 ), dims = (48 , 96 , 192 , 384 ), conv_mlp = True )
809
+ model = _create_convnext ('convnext_femto' , pretrained = pretrained , ** dict (model_args , ** kwargs ))
813
810
return model
814
811
815
812
816
813
@register_model
817
814
def convnext_femto_ols (pretrained = False , ** kwargs ):
818
815
# timm femto variant
819
- model_args = dict (
820
- depths = (2 , 2 , 6 , 2 ), dims = (48 , 96 , 192 , 384 ), conv_mlp = True , stem_type = 'overlap_tiered' , ** kwargs )
821
- model = _create_convnext ('convnext_femto_ols' , pretrained = pretrained , ** model_args )
816
+ model_args = dict (depths = (2 , 2 , 6 , 2 ), dims = (48 , 96 , 192 , 384 ), conv_mlp = True , stem_type = 'overlap_tiered' )
817
+ model = _create_convnext ('convnext_femto_ols' , pretrained = pretrained , ** dict (model_args , ** kwargs ))
822
818
return model
823
819
824
820
825
821
@register_model
826
822
def convnext_pico (pretrained = False , ** kwargs ):
827
823
# timm pico variant
828
- model_args = dict (
829
- depths = (2 , 2 , 6 , 2 ), dims = (64 , 128 , 256 , 512 ), conv_mlp = True , ** kwargs )
830
- model = _create_convnext ('convnext_pico' , pretrained = pretrained , ** model_args )
824
+ model_args = dict (depths = (2 , 2 , 6 , 2 ), dims = (64 , 128 , 256 , 512 ), conv_mlp = True )
825
+ model = _create_convnext ('convnext_pico' , pretrained = pretrained , ** dict (model_args , ** kwargs ))
831
826
return model
832
827
833
828
834
829
@register_model
835
830
def convnext_pico_ols (pretrained = False , ** kwargs ):
836
831
# timm nano variant with overlapping 3x3 conv stem
837
- model_args = dict (
838
- depths = (2 , 2 , 6 , 2 ), dims = (64 , 128 , 256 , 512 ), conv_mlp = True , stem_type = 'overlap_tiered' , ** kwargs )
839
- model = _create_convnext ('convnext_pico_ols' , pretrained = pretrained , ** model_args )
832
+ model_args = dict (depths = (2 , 2 , 6 , 2 ), dims = (64 , 128 , 256 , 512 ), conv_mlp = True , stem_type = 'overlap_tiered' )
833
+ model = _create_convnext ('convnext_pico_ols' , pretrained = pretrained , ** dict (model_args , ** kwargs ))
840
834
return model
841
835
842
836
843
837
@register_model
844
838
def convnext_nano (pretrained = False , ** kwargs ):
845
839
# timm nano variant with standard stem and head
846
- model_args = dict (
847
- depths = (2 , 2 , 8 , 2 ), dims = (80 , 160 , 320 , 640 ), conv_mlp = True , ** kwargs )
848
- model = _create_convnext ('convnext_nano' , pretrained = pretrained , ** model_args )
840
+ model_args = dict (depths = (2 , 2 , 8 , 2 ), dims = (80 , 160 , 320 , 640 ), conv_mlp = True )
841
+ model = _create_convnext ('convnext_nano' , pretrained = pretrained , ** dict (model_args , ** kwargs ))
849
842
return model
850
843
851
844
852
845
@register_model
853
846
def convnext_nano_ols (pretrained = False , ** kwargs ):
854
847
# experimental nano variant with overlapping conv stem
855
- model_args = dict (
856
- depths = (2 , 2 , 8 , 2 ), dims = (80 , 160 , 320 , 640 ), conv_mlp = True , stem_type = 'overlap' , ** kwargs )
857
- model = _create_convnext ('convnext_nano_ols' , pretrained = pretrained , ** model_args )
848
+ model_args = dict (depths = (2 , 2 , 8 , 2 ), dims = (80 , 160 , 320 , 640 ), conv_mlp = True , stem_type = 'overlap' )
849
+ model = _create_convnext ('convnext_nano_ols' , pretrained = pretrained , ** dict (model_args , ** kwargs ))
858
850
return model
859
851
860
852
861
853
@register_model
862
854
def convnext_tiny_hnf (pretrained = False , ** kwargs ):
863
855
# experimental tiny variant with norm before pooling in head (head norm first)
864
- model_args = dict (
865
- depths = (3 , 3 , 9 , 3 ), dims = (96 , 192 , 384 , 768 ), head_norm_first = True , conv_mlp = True , ** kwargs )
866
- model = _create_convnext ('convnext_tiny_hnf' , pretrained = pretrained , ** model_args )
856
+ model_args = dict (depths = (3 , 3 , 9 , 3 ), dims = (96 , 192 , 384 , 768 ), head_norm_first = True , conv_mlp = True )
857
+ model = _create_convnext ('convnext_tiny_hnf' , pretrained = pretrained , ** dict (model_args , ** kwargs ))
867
858
return model
868
859
869
860
870
861
@register_model
871
862
def convnext_tiny (pretrained = False , ** kwargs ):
872
- model_args = dict (depths = (3 , 3 , 9 , 3 ), dims = (96 , 192 , 384 , 768 ), ** kwargs )
873
- model = _create_convnext ('convnext_tiny' , pretrained = pretrained , ** model_args )
863
+ model_args = dict (depths = (3 , 3 , 9 , 3 ), dims = (96 , 192 , 384 , 768 ))
864
+ model = _create_convnext ('convnext_tiny' , pretrained = pretrained , ** dict ( model_args , ** kwargs ) )
874
865
return model
875
866
876
867
877
868
@register_model
878
869
def convnext_small (pretrained = False , ** kwargs ):
879
- model_args = dict (depths = [3 , 3 , 27 , 3 ], dims = [96 , 192 , 384 , 768 ], ** kwargs )
880
- model = _create_convnext ('convnext_small' , pretrained = pretrained , ** model_args )
870
+ model_args = dict (depths = [3 , 3 , 27 , 3 ], dims = [96 , 192 , 384 , 768 ])
871
+ model = _create_convnext ('convnext_small' , pretrained = pretrained , ** dict ( model_args , ** kwargs ) )
881
872
return model
882
873
883
874
884
875
@register_model
885
876
def convnext_base (pretrained = False , ** kwargs ):
886
- model_args = dict (depths = [3 , 3 , 27 , 3 ], dims = [128 , 256 , 512 , 1024 ], ** kwargs )
887
- model = _create_convnext ('convnext_base' , pretrained = pretrained , ** model_args )
877
+ model_args = dict (depths = [3 , 3 , 27 , 3 ], dims = [128 , 256 , 512 , 1024 ])
878
+ model = _create_convnext ('convnext_base' , pretrained = pretrained , ** dict ( model_args , ** kwargs ) )
888
879
return model
889
880
890
881
891
882
@register_model
892
883
def convnext_large (pretrained = False , ** kwargs ):
893
- model_args = dict (depths = [3 , 3 , 27 , 3 ], dims = [192 , 384 , 768 , 1536 ], ** kwargs )
894
- model = _create_convnext ('convnext_large' , pretrained = pretrained , ** model_args )
884
+ model_args = dict (depths = [3 , 3 , 27 , 3 ], dims = [192 , 384 , 768 , 1536 ])
885
+ model = _create_convnext ('convnext_large' , pretrained = pretrained , ** dict ( model_args , ** kwargs ) )
895
886
return model
896
887
897
888
898
889
@register_model
899
890
def convnext_large_mlp (pretrained = False , ** kwargs ):
900
- model_args = dict (depths = [3 , 3 , 27 , 3 ], dims = [192 , 384 , 768 , 1536 ], head_hidden_size = 1536 , ** kwargs )
901
- model = _create_convnext ('convnext_large_mlp' , pretrained = pretrained , ** model_args )
891
+ model_args = dict (depths = [3 , 3 , 27 , 3 ], dims = [192 , 384 , 768 , 1536 ], head_hidden_size = 1536 )
892
+ model = _create_convnext ('convnext_large_mlp' , pretrained = pretrained , ** dict ( model_args , ** kwargs ) )
902
893
return model
903
894
904
895
905
896
@register_model
906
897
def convnext_xlarge (pretrained = False , ** kwargs ):
907
- model_args = dict (depths = [3 , 3 , 27 , 3 ], dims = [256 , 512 , 1024 , 2048 ], ** kwargs )
908
- model = _create_convnext ('convnext_xlarge' , pretrained = pretrained , ** model_args )
898
+ model_args = dict (depths = [3 , 3 , 27 , 3 ], dims = [256 , 512 , 1024 , 2048 ])
899
+ model = _create_convnext ('convnext_xlarge' , pretrained = pretrained , ** dict ( model_args , ** kwargs ) )
909
900
return model
910
901
911
902
912
903
@register_model
913
904
def convnext_xxlarge (pretrained = False , ** kwargs ):
914
- model_args = dict (depths = [3 , 4 , 30 , 3 ], dims = [384 , 768 , 1536 , 3072 ], ** kwargs )
915
- model = _create_convnext ('convnext_xxlarge' , pretrained = pretrained , ** model_args )
905
+ model_args = dict (depths = [3 , 4 , 30 , 3 ], dims = [384 , 768 , 1536 , 3072 ], norm_eps = kwargs . pop ( 'norm_eps' , 1e-5 ) )
906
+ model = _create_convnext ('convnext_xxlarge' , pretrained = pretrained , ** dict ( model_args , ** kwargs ) )
916
907
return model
917
908
918
909
919
910
@register_model
920
911
def convnextv2_atto (pretrained = False , ** kwargs ):
921
912
# timm femto variant (NOTE: still tweaking depths, will vary between 3-4M param, current is 3.7M
922
913
model_args = dict (
923
- depths = (2 , 2 , 6 , 2 ), dims = (40 , 80 , 160 , 320 ), use_grn = True , ls_init_value = None , conv_mlp = True , ** kwargs )
924
- model = _create_convnext ('convnextv2_atto' , pretrained = pretrained , ** model_args )
914
+ depths = (2 , 2 , 6 , 2 ), dims = (40 , 80 , 160 , 320 ), use_grn = True , ls_init_value = None , conv_mlp = True )
915
+ model = _create_convnext ('convnextv2_atto' , pretrained = pretrained , ** dict ( model_args , ** kwargs ) )
925
916
return model
926
917
927
918
928
919
@register_model
929
920
def convnextv2_femto (pretrained = False , ** kwargs ):
930
921
# timm femto variant
931
922
model_args = dict (
932
- depths = (2 , 2 , 6 , 2 ), dims = (48 , 96 , 192 , 384 ), use_grn = True , ls_init_value = None , conv_mlp = True , ** kwargs )
933
- model = _create_convnext ('convnextv2_femto' , pretrained = pretrained , ** model_args )
923
+ depths = (2 , 2 , 6 , 2 ), dims = (48 , 96 , 192 , 384 ), use_grn = True , ls_init_value = None , conv_mlp = True )
924
+ model = _create_convnext ('convnextv2_femto' , pretrained = pretrained , ** dict ( model_args , ** kwargs ) )
934
925
return model
935
926
936
927
937
928
@register_model
938
929
def convnextv2_pico (pretrained = False , ** kwargs ):
939
930
# timm pico variant
940
931
model_args = dict (
941
- depths = (2 , 2 , 6 , 2 ), dims = (64 , 128 , 256 , 512 ), use_grn = True , ls_init_value = None , conv_mlp = True , ** kwargs )
942
- model = _create_convnext ('convnextv2_pico' , pretrained = pretrained , ** model_args )
932
+ depths = (2 , 2 , 6 , 2 ), dims = (64 , 128 , 256 , 512 ), use_grn = True , ls_init_value = None , conv_mlp = True )
933
+ model = _create_convnext ('convnextv2_pico' , pretrained = pretrained , ** dict ( model_args , ** kwargs ) )
943
934
return model
944
935
945
936
946
937
@register_model
947
938
def convnextv2_nano (pretrained = False , ** kwargs ):
948
939
# timm nano variant with standard stem and head
949
940
model_args = dict (
950
- depths = (2 , 2 , 8 , 2 ), dims = (80 , 160 , 320 , 640 ), use_grn = True , ls_init_value = None , conv_mlp = True , ** kwargs )
951
- model = _create_convnext ('convnextv2_nano' , pretrained = pretrained , ** model_args )
941
+ depths = (2 , 2 , 8 , 2 ), dims = (80 , 160 , 320 , 640 ), use_grn = True , ls_init_value = None , conv_mlp = True )
942
+ model = _create_convnext ('convnextv2_nano' , pretrained = pretrained , ** dict ( model_args , ** kwargs ) )
952
943
return model
953
944
954
945
955
946
@register_model
956
947
def convnextv2_tiny (pretrained = False , ** kwargs ):
957
- model_args = dict (
958
- depths = (3 , 3 , 9 , 3 ), dims = (96 , 192 , 384 , 768 ), use_grn = True , ls_init_value = None , ** kwargs )
959
- model = _create_convnext ('convnextv2_tiny' , pretrained = pretrained , ** model_args )
948
+ model_args = dict (depths = (3 , 3 , 9 , 3 ), dims = (96 , 192 , 384 , 768 ), use_grn = True , ls_init_value = None )
949
+ model = _create_convnext ('convnextv2_tiny' , pretrained = pretrained , ** dict (model_args , ** kwargs ))
960
950
return model
961
951
962
952
963
953
@register_model
964
954
def convnextv2_small (pretrained = False , ** kwargs ):
965
- model_args = dict (depths = [3 , 3 , 27 , 3 ], dims = [96 , 192 , 384 , 768 ], use_grn = True , ls_init_value = None , ** kwargs )
966
- model = _create_convnext ('convnextv2_small' , pretrained = pretrained , ** model_args )
955
+ model_args = dict (depths = [3 , 3 , 27 , 3 ], dims = [96 , 192 , 384 , 768 ], use_grn = True , ls_init_value = None )
956
+ model = _create_convnext ('convnextv2_small' , pretrained = pretrained , ** dict ( model_args , ** kwargs ) )
967
957
return model
968
958
969
959
970
960
@register_model
971
961
def convnextv2_base (pretrained = False , ** kwargs ):
972
- model_args = dict (depths = [3 , 3 , 27 , 3 ], dims = [128 , 256 , 512 , 1024 ], use_grn = True , ls_init_value = None , ** kwargs )
973
- model = _create_convnext ('convnextv2_base' , pretrained = pretrained , ** model_args )
962
+ model_args = dict (depths = [3 , 3 , 27 , 3 ], dims = [128 , 256 , 512 , 1024 ], use_grn = True , ls_init_value = None )
963
+ model = _create_convnext ('convnextv2_base' , pretrained = pretrained , ** dict ( model_args , ** kwargs ) )
974
964
return model
975
965
976
966
977
967
@register_model
978
968
def convnextv2_large (pretrained = False , ** kwargs ):
979
- model_args = dict (depths = [3 , 3 , 27 , 3 ], dims = [192 , 384 , 768 , 1536 ], use_grn = True , ls_init_value = None , ** kwargs )
980
- model = _create_convnext ('convnextv2_large' , pretrained = pretrained , ** model_args )
969
+ model_args = dict (depths = [3 , 3 , 27 , 3 ], dims = [192 , 384 , 768 , 1536 ], use_grn = True , ls_init_value = None )
970
+ model = _create_convnext ('convnextv2_large' , pretrained = pretrained , ** dict ( model_args , ** kwargs ) )
981
971
return model
982
972
983
973
984
974
@register_model
985
975
def convnextv2_huge (pretrained = False , ** kwargs ):
986
- model_args = dict (depths = [3 , 3 , 27 , 3 ], dims = [352 , 704 , 1408 , 2816 ], use_grn = True , ls_init_value = None , ** kwargs )
987
- model = _create_convnext ('convnextv2_huge' , pretrained = pretrained , ** model_args )
988
- return model
976
+ model_args = dict (depths = [3 , 3 , 27 , 3 ], dims = [352 , 704 , 1408 , 2816 ], use_grn = True , ls_init_value = None )
977
+ model = _create_convnext ('convnextv2_huge' , pretrained = pretrained , ** dict ( model_args , ** kwargs ) )
978
+ return model
0 commit comments