diff --git a/timm/models/__init__.py b/timm/models/__init__.py index 69e09085..cc4d470e 100644 --- a/timm/models/__init__.py +++ b/timm/models/__init__.py @@ -21,5 +21,5 @@ from .sknet import * from .registry import * from .factory import create_model from .helpers import load_checkpoint, resume_checkpoint -from .test_time_pool import TestTimePoolHead, apply_test_time_pool -from .split_batchnorm import convert_splitbn_model +from .layers import TestTimePoolHead, apply_test_time_pool +from .layers import convert_splitbn_model diff --git a/timm/models/densenet.py b/timm/models/densenet.py index d1ac5857..4235c0f7 100644 --- a/timm/models/densenet.py +++ b/timm/models/densenet.py @@ -10,7 +10,7 @@ import torch.nn.functional as F from .registry import register_model from .helpers import load_pretrained -from .adaptive_avgmax_pool import SelectAdaptivePool2d +from .layers import SelectAdaptivePool2d from timm.data import IMAGENET_DEFAULT_MEAN, IMAGENET_DEFAULT_STD import re diff --git a/timm/models/dla.py b/timm/models/dla.py index cd560f44..a9e81d16 100644 --- a/timm/models/dla.py +++ b/timm/models/dla.py @@ -13,7 +13,7 @@ import torch.nn.functional as F from .registry import register_model from .helpers import load_pretrained -from .adaptive_avgmax_pool import SelectAdaptivePool2d +from .layers import SelectAdaptivePool2d from timm.data import IMAGENET_DEFAULT_MEAN, IMAGENET_DEFAULT_STD diff --git a/timm/models/dpn.py b/timm/models/dpn.py index 7f46e8e0..fd58e516 100644 --- a/timm/models/dpn.py +++ b/timm/models/dpn.py @@ -16,7 +16,7 @@ from collections import OrderedDict from .registry import register_model from .helpers import load_pretrained -from .adaptive_avgmax_pool import SelectAdaptivePool2d +from .layers import SelectAdaptivePool2d from timm.data import IMAGENET_DPN_MEAN, IMAGENET_DPN_STD diff --git a/timm/models/efficientnet.py b/timm/models/efficientnet.py index 8d07a2ca..7261fe10 100644 --- a/timm/models/efficientnet.py +++ b/timm/models/efficientnet.py @@ -27,8 +27,7 @@ from .efficientnet_builder import * from .feature_hooks import FeatureHooks from .registry import register_model from .helpers import load_pretrained -from .adaptive_avgmax_pool import SelectAdaptivePool2d -from .conv2d_layers import select_conv2d +from .layers import SelectAdaptivePool2d, select_conv2d from timm.data import IMAGENET_DEFAULT_MEAN, IMAGENET_DEFAULT_STD, IMAGENET_INCEPTION_MEAN, IMAGENET_INCEPTION_STD diff --git a/timm/models/efficientnet_blocks.py b/timm/models/efficientnet_blocks.py index 13ab051a..78d451be 100644 --- a/timm/models/efficientnet_blocks.py +++ b/timm/models/efficientnet_blocks.py @@ -4,8 +4,8 @@ from functools import partial import torch import torch.nn as nn import torch.nn.functional as F -from .activations import sigmoid -from .conv2d_layers import * +from .layers.activations import sigmoid +from .layers.conv2d_layers import * # Defaults used for Google/Tensorflow training of mobile networks /w RMSprop as per diff --git a/timm/models/efficientnet_builder.py b/timm/models/efficientnet_builder.py index ca2060c4..b159eefe 100644 --- a/timm/models/efficientnet_builder.py +++ b/timm/models/efficientnet_builder.py @@ -5,7 +5,7 @@ from collections.__init__ import OrderedDict from copy import deepcopy import torch.nn as nn -from .activations import sigmoid, HardSwish, Swish +from .layers.activations import sigmoid, HardSwish, Swish from .efficientnet_blocks import * diff --git a/timm/models/gluon_xception.py b/timm/models/gluon_xception.py index 5a35d226..2fc8e699 100644 --- a/timm/models/gluon_xception.py +++ b/timm/models/gluon_xception.py @@ -13,7 +13,7 @@ from collections import OrderedDict from .registry import register_model from .helpers import load_pretrained -from .adaptive_avgmax_pool import SelectAdaptivePool2d +from .layers import SelectAdaptivePool2d from timm.data import IMAGENET_DEFAULT_MEAN, IMAGENET_DEFAULT_STD __all__ = ['Xception65', 'Xception71'] diff --git a/timm/models/hrnet.py b/timm/models/hrnet.py index 99a2bd91..16df5bc1 100644 --- a/timm/models/hrnet.py +++ b/timm/models/hrnet.py @@ -25,7 +25,7 @@ import torch.nn.functional as F from .resnet import BasicBlock, Bottleneck # leveraging ResNet blocks w/ additional features like SE from .registry import register_model from .helpers import load_pretrained -from .adaptive_avgmax_pool import SelectAdaptivePool2d +from .layers import SelectAdaptivePool2d from timm.data import IMAGENET_DEFAULT_MEAN, IMAGENET_DEFAULT_STD _BN_MOMENTUM = 0.1 diff --git a/timm/models/inception_resnet_v2.py b/timm/models/inception_resnet_v2.py index 285863f5..13ad0e9d 100644 --- a/timm/models/inception_resnet_v2.py +++ b/timm/models/inception_resnet_v2.py @@ -8,7 +8,7 @@ import torch.nn.functional as F from .registry import register_model from .helpers import load_pretrained -from .adaptive_avgmax_pool import SelectAdaptivePool2d +from .layers import SelectAdaptivePool2d from timm.data import IMAGENET_INCEPTION_MEAN, IMAGENET_INCEPTION_STD __all__ = ['InceptionResnetV2'] diff --git a/timm/models/inception_v4.py b/timm/models/inception_v4.py index 8c3dee86..16080554 100644 --- a/timm/models/inception_v4.py +++ b/timm/models/inception_v4.py @@ -8,7 +8,7 @@ import torch.nn.functional as F from .registry import register_model from .helpers import load_pretrained -from .adaptive_avgmax_pool import SelectAdaptivePool2d +from .layers import SelectAdaptivePool2d from timm.data import IMAGENET_INCEPTION_MEAN, IMAGENET_INCEPTION_STD __all__ = ['InceptionV4'] diff --git a/timm/models/layers/__init__.py b/timm/models/layers/__init__.py index 325516e9..8e9fcae2 100644 --- a/timm/models/layers/__init__.py +++ b/timm/models/layers/__init__.py @@ -1 +1,8 @@ +from .conv2d_layers import select_conv2d, MixedConv2d, CondConv2d, ConvBnAct, SelectiveKernelConv from .eca import EcaModule, CecaModule +from .activations import * +from .adaptive_avgmax_pool import \ + adaptive_avgmax_pool2d, select_adaptive_pool2d, AdaptiveAvgMaxPool2d, SelectAdaptivePool2d +from .nn_ops import DropBlock2d, DropPath +from .test_time_pool import TestTimePoolHead, apply_test_time_pool +from .split_batchnorm import SplitBatchNorm2d, convert_splitbn_model diff --git a/timm/models/activations.py b/timm/models/layers/activations.py similarity index 100% rename from timm/models/activations.py rename to timm/models/layers/activations.py diff --git a/timm/models/adaptive_avgmax_pool.py b/timm/models/layers/adaptive_avgmax_pool.py similarity index 100% rename from timm/models/adaptive_avgmax_pool.py rename to timm/models/layers/adaptive_avgmax_pool.py diff --git a/timm/models/conv2d_layers.py b/timm/models/layers/conv2d_layers.py similarity index 100% rename from timm/models/conv2d_layers.py rename to timm/models/layers/conv2d_layers.py diff --git a/timm/models/median_pool.py b/timm/models/layers/median_pool.py similarity index 100% rename from timm/models/median_pool.py rename to timm/models/layers/median_pool.py diff --git a/timm/models/nn_ops.py b/timm/models/layers/nn_ops.py similarity index 100% rename from timm/models/nn_ops.py rename to timm/models/layers/nn_ops.py diff --git a/timm/models/split_batchnorm.py b/timm/models/layers/split_batchnorm.py similarity index 100% rename from timm/models/split_batchnorm.py rename to timm/models/layers/split_batchnorm.py diff --git a/timm/models/test_time_pool.py b/timm/models/layers/test_time_pool.py similarity index 100% rename from timm/models/test_time_pool.py rename to timm/models/layers/test_time_pool.py diff --git a/timm/models/mobilenetv3.py b/timm/models/mobilenetv3.py index a6b67532..76f6363c 100644 --- a/timm/models/mobilenetv3.py +++ b/timm/models/mobilenetv3.py @@ -11,11 +11,10 @@ import torch.nn as nn import torch.nn.functional as F from .efficientnet_builder import * -from .activations import HardSwish, hard_sigmoid from .registry import register_model from .helpers import load_pretrained -from .adaptive_avgmax_pool import SelectAdaptivePool2d -from .conv2d_layers import select_conv2d +from .layers import SelectAdaptivePool2d, select_conv2d +from .layers.activations import HardSwish, hard_sigmoid from .feature_hooks import FeatureHooks from timm.data import IMAGENET_DEFAULT_MEAN, IMAGENET_DEFAULT_STD, IMAGENET_INCEPTION_MEAN, IMAGENET_INCEPTION_STD diff --git a/timm/models/nasnet.py b/timm/models/nasnet.py index 009c62d3..8847b1de 100644 --- a/timm/models/nasnet.py +++ b/timm/models/nasnet.py @@ -4,7 +4,7 @@ import torch.nn.functional as F from .registry import register_model from .helpers import load_pretrained -from .adaptive_avgmax_pool import SelectAdaptivePool2d +from .layers import SelectAdaptivePool2d __all__ = ['NASNetALarge'] diff --git a/timm/models/pnasnet.py b/timm/models/pnasnet.py index 396e6157..dc9b3e20 100644 --- a/timm/models/pnasnet.py +++ b/timm/models/pnasnet.py @@ -14,7 +14,7 @@ import torch.nn.functional as F from .registry import register_model from .helpers import load_pretrained -from .adaptive_avgmax_pool import SelectAdaptivePool2d +from .layers import SelectAdaptivePool2d __all__ = ['PNASNet5Large'] diff --git a/timm/models/res2net.py b/timm/models/res2net.py index bcb7eaaf..b8d31b3e 100644 --- a/timm/models/res2net.py +++ b/timm/models/res2net.py @@ -11,7 +11,7 @@ import torch.nn.functional as F from .resnet import ResNet, SEModule from .registry import register_model from .helpers import load_pretrained -from .adaptive_avgmax_pool import SelectAdaptivePool2d +from .layers import SelectAdaptivePool2d from timm.data import IMAGENET_DEFAULT_MEAN, IMAGENET_DEFAULT_STD __all__ = [] diff --git a/timm/models/resnet.py b/timm/models/resnet.py index a1c593ae..528d5790 100644 --- a/timm/models/resnet.py +++ b/timm/models/resnet.py @@ -13,9 +13,7 @@ import torch.nn.functional as F from .registry import register_model from .helpers import load_pretrained -from .adaptive_avgmax_pool import SelectAdaptivePool2d -from .layers import EcaModule -from .nn_ops import DropBlock2d, DropPath +from .layers import EcaModule, SelectAdaptivePool2d, DropBlock2d, DropPath from timm.data import IMAGENET_DEFAULT_MEAN, IMAGENET_DEFAULT_STD diff --git a/timm/models/selecsls.py b/timm/models/selecsls.py index 17796700..2f369e99 100644 --- a/timm/models/selecsls.py +++ b/timm/models/selecsls.py @@ -17,7 +17,7 @@ import torch.nn.functional as F from .registry import register_model from .helpers import load_pretrained -from .adaptive_avgmax_pool import SelectAdaptivePool2d +from .layers import SelectAdaptivePool2d from timm.data import IMAGENET_DEFAULT_MEAN, IMAGENET_DEFAULT_STD __all__ = ['SelecSLS'] # model_registry will add each entrypoint fn to this diff --git a/timm/models/senet.py b/timm/models/senet.py index 90ef5ae1..efbf4657 100644 --- a/timm/models/senet.py +++ b/timm/models/senet.py @@ -16,7 +16,7 @@ import torch.nn.functional as F from .registry import register_model from .helpers import load_pretrained -from .adaptive_avgmax_pool import SelectAdaptivePool2d +from .layers import SelectAdaptivePool2d from timm.data import IMAGENET_DEFAULT_MEAN, IMAGENET_DEFAULT_STD __all__ = ['SENet'] diff --git a/timm/models/sknet.py b/timm/models/sknet.py index 4b02d501..032b7d0b 100644 --- a/timm/models/sknet.py +++ b/timm/models/sknet.py @@ -2,10 +2,10 @@ import math from torch import nn as nn -from timm.models.registry import register_model -from timm.models.helpers import load_pretrained -from timm.models.conv2d_layers import SelectiveKernelConv, ConvBnAct -from timm.models.resnet import ResNet, SEModule +from .registry import register_model +from .helpers import load_pretrained +from .layers import SelectiveKernelConv, ConvBnAct +from .resnet import ResNet, SEModule from timm.data import IMAGENET_DEFAULT_MEAN, IMAGENET_DEFAULT_STD diff --git a/timm/models/xception.py b/timm/models/xception.py index 2dc334fa..cb98bbc9 100644 --- a/timm/models/xception.py +++ b/timm/models/xception.py @@ -29,7 +29,7 @@ import torch.nn.functional as F from .registry import register_model from .helpers import load_pretrained -from .adaptive_avgmax_pool import SelectAdaptivePool2d +from .layers import SelectAdaptivePool2d __all__ = ['Xception']