pytorch-image-models/timm/models/metaformer.py

1061 lines
34 KiB
Python
Raw Normal View History

Metaformer baselines for vision (final PR with cleanup) (#1793) * update * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * merge with poolformer, initial version * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Revert "Update metaformers.py" This reverts commit 2916f37f8d862cd4fcbc86c858b23894daec3339. * Revert "Update metaformers.py" This reverts commit 1d882eb494caf5b5a3a1e9c7442d883e1707998e. * Revert "Update metaformers.py" This reverts commit 2209d0830eed9b87149df4a1f25f65da46d47f4b. * Revert "Update metaformers.py" This reverts commit 32bede4e279ee1027a63d5b55591153e53c209ec. * Revert "Update metaformers.py" This reverts commit 4ed934e00068be576881a87d5218b355ca01a6be. * Revert "Update metaformers.py" This reverts commit 3f0b07536764c47af42290a218a15097b5cec1a0. * Revert "Update metaformers.py" This reverts commit 2fef9006d72824789b733dd8dbc20b21b79add0b. * Update metaformers.py * Update metaformers.py * rename model * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Stem/Downsample rework * Update metaformers.py * try NHWC * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Squashed commit of the following: commit b7696a30a772dbbb2e00d81e7096c24dac97df73 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Fri Feb 10 01:46:44 2023 -0800 Update metaformers.py commit 41fe5c36263b40a6cd7caddb85b10c5d82d48023 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Fri Feb 10 01:03:47 2023 -0800 Update metaformers.py commit a3aee37c35985c01ca07902d860f809b648c612c Author: Fredo Guan <fredo.guan@hotmail.com> Date: Fri Feb 10 00:32:04 2023 -0800 Update metaformers.py commit f938beb81b4f46851d6d6f04ae7a9a74871ee40d Author: Fredo Guan <fredo.guan@hotmail.com> Date: Fri Feb 10 00:24:58 2023 -0800 Update metaformers.py commit 10bde717e51c95cdf20135c8bba77a7a1b00d78c Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 02:11:28 2023 -0800 Update metaformers.py commit 39274bd45e78b8ead0509367f800121f0d7c25f4 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 02:06:58 2023 -0800 Update metaformers.py commit a2329ab8ec00d0ebc00979690293c3887cc44a4c Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 02:03:34 2023 -0800 Update metaformers.py commit 53b8ce5b8a6b6d828de61788bcc2e6043ebb3081 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 02:02:37 2023 -0800 Update metaformers.py commit ab6225b9414f534815958036f6d5a392038d7ab2 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 01:04:55 2023 -0800 try NHWC commit 02fcc30eaa67a3c92cae56f3062b2542c32c9283 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sat Feb 4 23:47:06 2023 -0800 Update metaformers.py commit 366aae93047934bd3d7d37a077e713d424fa429c Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sat Feb 4 23:37:30 2023 -0800 Stem/Downsample rework commit 26a8e481a5cb2a32004a796bc25c6800cd2fb7b7 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Wed Feb 1 07:42:07 2023 -0800 Update metaformers.py commit a913f5d4384aa4b2f62fdab46254ae3772df00ee Author: Fredo Guan <fredo.guan@hotmail.com> Date: Wed Feb 1 07:41:24 2023 -0800 Update metaformers.py * Update metaformers.py * Update metaformers.py * channels first for whole network * Channels first * Update metaformers.py * Use buffer for randformer * Update metaformers.py * Remove einsum * don't test randformer for feature extraction * arbitrary input sizes for randformer * Squashed commit of the following: commit 6c089ca4325ab10942fe56e0999dcc1a11e1d2f0 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 02:11:17 2023 -0800 Update metaformers.py commit 521528a900e49ef8f462f5ccd795efb3a5d14214 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 02:06:08 2023 -0800 Update metaformers.py commit 3827eec7963698ff727fbb13ace53594ceb374d5 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 02:03:08 2023 -0800 Update metaformers.py commit ac1c6fea8adcd846e031ea0f5fa81ffe63d3c4bb Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 02:01:04 2023 -0800 Update metaformers.py commit 26f3d343cdc46183543f83482187f669f3181ddf Merge: d577129 f736730 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 01:57:29 2023 -0800 Merge branch 'metaformer_workspace' of https://github.com/fffffgggg54/pytorch-image-models into metaformer_workspace commit d577129aaa23fb348a8bb93bcd17cf1d5a4e8ff8 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 01:57:20 2023 -0800 Update metaformers.py commit f7367304e8f3b7a9a7f16e0a032bb72546afcc2a Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 01:56:11 2023 -0800 Metaformer baselines for vision (#12) * formatting, cleanup, fix dropout * fix regression, pass kwargs * fix poolformerv1 weights, formatting * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * some cleanup * SDPA from ViT, fix imports * Update metaformers.py * fix head reset * fast norm bias patch for metaformers * Metaformer refactor, remove rand/ident models, fix issues, remove old poolformer * Switch to hub weights --------- Co-authored-by: Fredo Guan <fredo.guan@hotmail.com>
2023-05-06 02:18:26 +08:00
"""
Poolformer from MetaFormer is Actually What You Need for Vision https://arxiv.org/abs/2111.11418
IdentityFormer, RandFormer, PoolFormerV2, ConvFormer, and CAFormer
from MetaFormer Baselines for Vision https://arxiv.org/abs/2210.13452
All implemented models support feature extraction and variable input resolution.
Original implementation by Weihao Yu et al.,
adapted for timm by Fredo Guan and Ross Wightman.
Adapted from https://github.com/sail-sg/metaformer, original copyright below
"""
# Copyright 2022 Garena Online Private Limited
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
from collections import OrderedDict
from functools import partial
from typing import Optional
Metaformer baselines for vision (final PR with cleanup) (#1793) * update * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * merge with poolformer, initial version * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Revert "Update metaformers.py" This reverts commit 2916f37f8d862cd4fcbc86c858b23894daec3339. * Revert "Update metaformers.py" This reverts commit 1d882eb494caf5b5a3a1e9c7442d883e1707998e. * Revert "Update metaformers.py" This reverts commit 2209d0830eed9b87149df4a1f25f65da46d47f4b. * Revert "Update metaformers.py" This reverts commit 32bede4e279ee1027a63d5b55591153e53c209ec. * Revert "Update metaformers.py" This reverts commit 4ed934e00068be576881a87d5218b355ca01a6be. * Revert "Update metaformers.py" This reverts commit 3f0b07536764c47af42290a218a15097b5cec1a0. * Revert "Update metaformers.py" This reverts commit 2fef9006d72824789b733dd8dbc20b21b79add0b. * Update metaformers.py * Update metaformers.py * rename model * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Stem/Downsample rework * Update metaformers.py * try NHWC * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Squashed commit of the following: commit b7696a30a772dbbb2e00d81e7096c24dac97df73 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Fri Feb 10 01:46:44 2023 -0800 Update metaformers.py commit 41fe5c36263b40a6cd7caddb85b10c5d82d48023 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Fri Feb 10 01:03:47 2023 -0800 Update metaformers.py commit a3aee37c35985c01ca07902d860f809b648c612c Author: Fredo Guan <fredo.guan@hotmail.com> Date: Fri Feb 10 00:32:04 2023 -0800 Update metaformers.py commit f938beb81b4f46851d6d6f04ae7a9a74871ee40d Author: Fredo Guan <fredo.guan@hotmail.com> Date: Fri Feb 10 00:24:58 2023 -0800 Update metaformers.py commit 10bde717e51c95cdf20135c8bba77a7a1b00d78c Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 02:11:28 2023 -0800 Update metaformers.py commit 39274bd45e78b8ead0509367f800121f0d7c25f4 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 02:06:58 2023 -0800 Update metaformers.py commit a2329ab8ec00d0ebc00979690293c3887cc44a4c Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 02:03:34 2023 -0800 Update metaformers.py commit 53b8ce5b8a6b6d828de61788bcc2e6043ebb3081 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 02:02:37 2023 -0800 Update metaformers.py commit ab6225b9414f534815958036f6d5a392038d7ab2 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 01:04:55 2023 -0800 try NHWC commit 02fcc30eaa67a3c92cae56f3062b2542c32c9283 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sat Feb 4 23:47:06 2023 -0800 Update metaformers.py commit 366aae93047934bd3d7d37a077e713d424fa429c Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sat Feb 4 23:37:30 2023 -0800 Stem/Downsample rework commit 26a8e481a5cb2a32004a796bc25c6800cd2fb7b7 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Wed Feb 1 07:42:07 2023 -0800 Update metaformers.py commit a913f5d4384aa4b2f62fdab46254ae3772df00ee Author: Fredo Guan <fredo.guan@hotmail.com> Date: Wed Feb 1 07:41:24 2023 -0800 Update metaformers.py * Update metaformers.py * Update metaformers.py * channels first for whole network * Channels first * Update metaformers.py * Use buffer for randformer * Update metaformers.py * Remove einsum * don't test randformer for feature extraction * arbitrary input sizes for randformer * Squashed commit of the following: commit 6c089ca4325ab10942fe56e0999dcc1a11e1d2f0 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 02:11:17 2023 -0800 Update metaformers.py commit 521528a900e49ef8f462f5ccd795efb3a5d14214 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 02:06:08 2023 -0800 Update metaformers.py commit 3827eec7963698ff727fbb13ace53594ceb374d5 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 02:03:08 2023 -0800 Update metaformers.py commit ac1c6fea8adcd846e031ea0f5fa81ffe63d3c4bb Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 02:01:04 2023 -0800 Update metaformers.py commit 26f3d343cdc46183543f83482187f669f3181ddf Merge: d577129 f736730 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 01:57:29 2023 -0800 Merge branch 'metaformer_workspace' of https://github.com/fffffgggg54/pytorch-image-models into metaformer_workspace commit d577129aaa23fb348a8bb93bcd17cf1d5a4e8ff8 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 01:57:20 2023 -0800 Update metaformers.py commit f7367304e8f3b7a9a7f16e0a032bb72546afcc2a Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 01:56:11 2023 -0800 Metaformer baselines for vision (#12) * formatting, cleanup, fix dropout * fix regression, pass kwargs * fix poolformerv1 weights, formatting * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * some cleanup * SDPA from ViT, fix imports * Update metaformers.py * fix head reset * fast norm bias patch for metaformers * Metaformer refactor, remove rand/ident models, fix issues, remove old poolformer * Switch to hub weights --------- Co-authored-by: Fredo Guan <fredo.guan@hotmail.com>
2023-05-06 02:18:26 +08:00
import torch
import torch.nn as nn
import torch.nn.functional as F
from torch import Tensor
from torch.jit import Final
from timm.data import IMAGENET_DEFAULT_MEAN, IMAGENET_DEFAULT_STD
from timm.layers import trunc_normal_, DropPath, SelectAdaptivePool2d, GroupNorm1, LayerNorm, LayerNorm2d, Mlp, \
use_fused_attn
from ._builder import build_model_with_cfg
from ._manipulate import checkpoint_seq
from ._registry import generate_default_cfgs, register_model
__all__ = ['MetaFormer']
class Stem(nn.Module):
"""
Stem implemented by a layer of convolution.
Conv2d params constant across all models.
"""
def __init__(
self,
in_channels,
out_channels,
norm_layer=None,
):
super().__init__()
self.conv = nn.Conv2d(
in_channels,
out_channels,
kernel_size=7,
stride=4,
padding=2
)
self.norm = norm_layer(out_channels) if norm_layer else nn.Identity()
def forward(self, x):
x = self.conv(x)
x = self.norm(x)
return x
class Downsampling(nn.Module):
"""
Downsampling implemented by a layer of convolution.
"""
def __init__(
self,
in_channels,
out_channels,
kernel_size,
stride=1,
padding=0,
norm_layer=None,
):
super().__init__()
self.norm = norm_layer(in_channels) if norm_layer else nn.Identity()
self.conv = nn.Conv2d(
in_channels,
out_channels,
kernel_size=kernel_size,
stride=stride,
padding=padding
)
def forward(self, x):
x = self.norm(x)
x = self.conv(x)
return x
class Scale(nn.Module):
"""
Scale vector by element multiplications.
"""
def __init__(self, dim, init_value=1.0, trainable=True, use_nchw=True):
super().__init__()
self.shape = (dim, 1, 1) if use_nchw else (dim,)
self.scale = nn.Parameter(init_value * torch.ones(dim), requires_grad=trainable)
def forward(self, x):
return x * self.scale.view(self.shape)
class SquaredReLU(nn.Module):
"""
Squared ReLU: https://arxiv.org/abs/2109.08668
"""
def __init__(self, inplace=False):
super().__init__()
self.relu = nn.ReLU(inplace=inplace)
def forward(self, x):
return torch.square(self.relu(x))
class StarReLU(nn.Module):
"""
StarReLU: s * relu(x) ** 2 + b
"""
def __init__(
self,
scale_value=1.0,
bias_value=0.0,
scale_learnable=True,
bias_learnable=True,
mode=None,
inplace=False
):
super().__init__()
self.inplace = inplace
self.relu = nn.ReLU(inplace=inplace)
self.scale = nn.Parameter(scale_value * torch.ones(1), requires_grad=scale_learnable)
self.bias = nn.Parameter(bias_value * torch.ones(1), requires_grad=bias_learnable)
def forward(self, x):
return self.scale * self.relu(x) ** 2 + self.bias
class Attention(nn.Module):
"""
Vanilla self-attention from Transformer: https://arxiv.org/abs/1706.03762.
Modified from timm.
"""
fused_attn: Final[bool]
def __init__(
self,
dim,
head_dim=32,
num_heads=None,
qkv_bias=False,
attn_drop=0.,
proj_drop=0.,
proj_bias=False,
**kwargs
):
super().__init__()
self.head_dim = head_dim
self.scale = head_dim ** -0.5
self.fused_attn = use_fused_attn()
self.num_heads = num_heads if num_heads else dim // head_dim
if self.num_heads == 0:
self.num_heads = 1
self.attention_dim = self.num_heads * self.head_dim
self.qkv = nn.Linear(dim, self.attention_dim * 3, bias=qkv_bias)
self.attn_drop = nn.Dropout(attn_drop)
self.proj = nn.Linear(self.attention_dim, dim, bias=proj_bias)
self.proj_drop = nn.Dropout(proj_drop)
def forward(self, x):
B, N, C = x.shape
qkv = self.qkv(x).reshape(B, N, 3, self.num_heads, self.head_dim).permute(2, 0, 3, 1, 4)
q, k, v = qkv.unbind(0)
if self.fused_attn:
x = F.scaled_dot_product_attention(
q, k, v,
2023-10-05 05:30:19 +08:00
dropout_p=self.attn_drop.p if self.training else 0.,
Metaformer baselines for vision (final PR with cleanup) (#1793) * update * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * merge with poolformer, initial version * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Revert "Update metaformers.py" This reverts commit 2916f37f8d862cd4fcbc86c858b23894daec3339. * Revert "Update metaformers.py" This reverts commit 1d882eb494caf5b5a3a1e9c7442d883e1707998e. * Revert "Update metaformers.py" This reverts commit 2209d0830eed9b87149df4a1f25f65da46d47f4b. * Revert "Update metaformers.py" This reverts commit 32bede4e279ee1027a63d5b55591153e53c209ec. * Revert "Update metaformers.py" This reverts commit 4ed934e00068be576881a87d5218b355ca01a6be. * Revert "Update metaformers.py" This reverts commit 3f0b07536764c47af42290a218a15097b5cec1a0. * Revert "Update metaformers.py" This reverts commit 2fef9006d72824789b733dd8dbc20b21b79add0b. * Update metaformers.py * Update metaformers.py * rename model * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Stem/Downsample rework * Update metaformers.py * try NHWC * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Squashed commit of the following: commit b7696a30a772dbbb2e00d81e7096c24dac97df73 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Fri Feb 10 01:46:44 2023 -0800 Update metaformers.py commit 41fe5c36263b40a6cd7caddb85b10c5d82d48023 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Fri Feb 10 01:03:47 2023 -0800 Update metaformers.py commit a3aee37c35985c01ca07902d860f809b648c612c Author: Fredo Guan <fredo.guan@hotmail.com> Date: Fri Feb 10 00:32:04 2023 -0800 Update metaformers.py commit f938beb81b4f46851d6d6f04ae7a9a74871ee40d Author: Fredo Guan <fredo.guan@hotmail.com> Date: Fri Feb 10 00:24:58 2023 -0800 Update metaformers.py commit 10bde717e51c95cdf20135c8bba77a7a1b00d78c Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 02:11:28 2023 -0800 Update metaformers.py commit 39274bd45e78b8ead0509367f800121f0d7c25f4 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 02:06:58 2023 -0800 Update metaformers.py commit a2329ab8ec00d0ebc00979690293c3887cc44a4c Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 02:03:34 2023 -0800 Update metaformers.py commit 53b8ce5b8a6b6d828de61788bcc2e6043ebb3081 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 02:02:37 2023 -0800 Update metaformers.py commit ab6225b9414f534815958036f6d5a392038d7ab2 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 01:04:55 2023 -0800 try NHWC commit 02fcc30eaa67a3c92cae56f3062b2542c32c9283 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sat Feb 4 23:47:06 2023 -0800 Update metaformers.py commit 366aae93047934bd3d7d37a077e713d424fa429c Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sat Feb 4 23:37:30 2023 -0800 Stem/Downsample rework commit 26a8e481a5cb2a32004a796bc25c6800cd2fb7b7 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Wed Feb 1 07:42:07 2023 -0800 Update metaformers.py commit a913f5d4384aa4b2f62fdab46254ae3772df00ee Author: Fredo Guan <fredo.guan@hotmail.com> Date: Wed Feb 1 07:41:24 2023 -0800 Update metaformers.py * Update metaformers.py * Update metaformers.py * channels first for whole network * Channels first * Update metaformers.py * Use buffer for randformer * Update metaformers.py * Remove einsum * don't test randformer for feature extraction * arbitrary input sizes for randformer * Squashed commit of the following: commit 6c089ca4325ab10942fe56e0999dcc1a11e1d2f0 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 02:11:17 2023 -0800 Update metaformers.py commit 521528a900e49ef8f462f5ccd795efb3a5d14214 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 02:06:08 2023 -0800 Update metaformers.py commit 3827eec7963698ff727fbb13ace53594ceb374d5 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 02:03:08 2023 -0800 Update metaformers.py commit ac1c6fea8adcd846e031ea0f5fa81ffe63d3c4bb Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 02:01:04 2023 -0800 Update metaformers.py commit 26f3d343cdc46183543f83482187f669f3181ddf Merge: d577129 f736730 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 01:57:29 2023 -0800 Merge branch 'metaformer_workspace' of https://github.com/fffffgggg54/pytorch-image-models into metaformer_workspace commit d577129aaa23fb348a8bb93bcd17cf1d5a4e8ff8 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 01:57:20 2023 -0800 Update metaformers.py commit f7367304e8f3b7a9a7f16e0a032bb72546afcc2a Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 01:56:11 2023 -0800 Metaformer baselines for vision (#12) * formatting, cleanup, fix dropout * fix regression, pass kwargs * fix poolformerv1 weights, formatting * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * some cleanup * SDPA from ViT, fix imports * Update metaformers.py * fix head reset * fast norm bias patch for metaformers * Metaformer refactor, remove rand/ident models, fix issues, remove old poolformer * Switch to hub weights --------- Co-authored-by: Fredo Guan <fredo.guan@hotmail.com>
2023-05-06 02:18:26 +08:00
)
else:
attn = (q @ k.transpose(-2, -1)) * self.scale
attn = attn.softmax(dim=-1)
attn = self.attn_drop(attn)
x = attn @ v
x = x.transpose(1, 2).reshape(B, N, C)
x = self.proj(x)
x = self.proj_drop(x)
return x
# custom norm modules that disable the bias term, since the original models defs
# used a custom norm with a weight term but no bias term.
class GroupNorm1NoBias(GroupNorm1):
def __init__(self, num_channels, **kwargs):
super().__init__(num_channels, **kwargs)
self.eps = kwargs.get('eps', 1e-6)
self.bias = None
class LayerNorm2dNoBias(LayerNorm2d):
def __init__(self, num_channels, **kwargs):
super().__init__(num_channels, **kwargs)
self.eps = kwargs.get('eps', 1e-6)
self.bias = None
class LayerNormNoBias(nn.LayerNorm):
def __init__(self, num_channels, **kwargs):
super().__init__(num_channels, **kwargs)
self.eps = kwargs.get('eps', 1e-6)
self.bias = None
class SepConv(nn.Module):
r"""
Inverted separable convolution from MobileNetV2: https://arxiv.org/abs/1801.04381.
"""
def __init__(
self,
dim,
expansion_ratio=2,
act1_layer=StarReLU,
act2_layer=nn.Identity,
bias=False,
kernel_size=7,
padding=3,
**kwargs
):
super().__init__()
mid_channels = int(expansion_ratio * dim)
self.pwconv1 = nn.Conv2d(dim, mid_channels, kernel_size=1, bias=bias)
self.act1 = act1_layer()
self.dwconv = nn.Conv2d(
mid_channels, mid_channels, kernel_size=kernel_size,
padding=padding, groups=mid_channels, bias=bias) # depthwise conv
self.act2 = act2_layer()
self.pwconv2 = nn.Conv2d(mid_channels, dim, kernel_size=1, bias=bias)
def forward(self, x):
x = self.pwconv1(x)
x = self.act1(x)
x = self.dwconv(x)
x = self.act2(x)
x = self.pwconv2(x)
return x
class Pooling(nn.Module):
"""
Implementation of pooling for PoolFormer: https://arxiv.org/abs/2111.11418
"""
def __init__(self, pool_size=3, **kwargs):
super().__init__()
self.pool = nn.AvgPool2d(
pool_size, stride=1, padding=pool_size // 2, count_include_pad=False)
def forward(self, x):
y = self.pool(x)
return y - x
class MlpHead(nn.Module):
""" MLP classification head
"""
def __init__(
self,
dim,
num_classes=1000,
mlp_ratio=4,
act_layer=SquaredReLU,
norm_layer=LayerNorm,
drop_rate=0.,
bias=True
):
super().__init__()
hidden_features = int(mlp_ratio * dim)
self.fc1 = nn.Linear(dim, hidden_features, bias=bias)
self.act = act_layer()
self.norm = norm_layer(hidden_features)
self.fc2 = nn.Linear(hidden_features, num_classes, bias=bias)
self.head_drop = nn.Dropout(drop_rate)
def forward(self, x):
x = self.fc1(x)
x = self.act(x)
x = self.norm(x)
x = self.head_drop(x)
x = self.fc2(x)
return x
class MetaFormerBlock(nn.Module):
"""
Implementation of one MetaFormer block.
"""
def __init__(
self,
dim,
token_mixer=Pooling,
mlp_act=StarReLU,
mlp_bias=False,
norm_layer=LayerNorm2d,
proj_drop=0.,
drop_path=0.,
use_nchw=True,
layer_scale_init_value=None,
res_scale_init_value=None,
**kwargs
):
super().__init__()
ls_layer = partial(Scale, dim=dim, init_value=layer_scale_init_value, use_nchw=use_nchw)
rs_layer = partial(Scale, dim=dim, init_value=res_scale_init_value, use_nchw=use_nchw)
self.norm1 = norm_layer(dim)
self.token_mixer = token_mixer(dim=dim, proj_drop=proj_drop, **kwargs)
self.drop_path1 = DropPath(drop_path) if drop_path > 0. else nn.Identity()
self.layer_scale1 = ls_layer() if layer_scale_init_value is not None else nn.Identity()
self.res_scale1 = rs_layer() if res_scale_init_value is not None else nn.Identity()
self.norm2 = norm_layer(dim)
self.mlp = Mlp(
dim,
int(4 * dim),
act_layer=mlp_act,
bias=mlp_bias,
drop=proj_drop,
use_conv=use_nchw,
)
self.drop_path2 = DropPath(drop_path) if drop_path > 0. else nn.Identity()
self.layer_scale2 = ls_layer() if layer_scale_init_value is not None else nn.Identity()
self.res_scale2 = rs_layer() if res_scale_init_value is not None else nn.Identity()
def forward(self, x):
x = self.res_scale1(x) + \
self.layer_scale1(
self.drop_path1(
self.token_mixer(self.norm1(x))
)
)
x = self.res_scale2(x) + \
self.layer_scale2(
self.drop_path2(
self.mlp(self.norm2(x))
)
)
return x
class MetaFormerStage(nn.Module):
def __init__(
self,
in_chs,
out_chs,
depth=2,
token_mixer=nn.Identity,
mlp_act=StarReLU,
mlp_bias=False,
downsample_norm=LayerNorm2d,
norm_layer=LayerNorm2d,
proj_drop=0.,
dp_rates=[0.] * 2,
layer_scale_init_value=None,
res_scale_init_value=None,
**kwargs,
):
super().__init__()
self.grad_checkpointing = False
self.use_nchw = not issubclass(token_mixer, Attention)
# don't downsample if in_chs and out_chs are the same
self.downsample = nn.Identity() if in_chs == out_chs else Downsampling(
in_chs,
out_chs,
kernel_size=3,
stride=2,
padding=1,
norm_layer=downsample_norm,
)
self.blocks = nn.Sequential(*[MetaFormerBlock(
dim=out_chs,
token_mixer=token_mixer,
mlp_act=mlp_act,
mlp_bias=mlp_bias,
norm_layer=norm_layer,
proj_drop=proj_drop,
drop_path=dp_rates[i],
layer_scale_init_value=layer_scale_init_value,
res_scale_init_value=res_scale_init_value,
use_nchw=self.use_nchw,
**kwargs,
) for i in range(depth)])
@torch.jit.ignore
def set_grad_checkpointing(self, enable=True):
self.grad_checkpointing = enable
def forward(self, x: Tensor):
x = self.downsample(x)
B, C, H, W = x.shape
if not self.use_nchw:
x = x.reshape(B, C, -1).transpose(1, 2)
if self.grad_checkpointing and not torch.jit.is_scripting():
x = checkpoint_seq(self.blocks, x)
else:
x = self.blocks(x)
if not self.use_nchw:
x = x.transpose(1, 2).reshape(B, C, H, W)
return x
class MetaFormer(nn.Module):
r""" MetaFormer
A PyTorch impl of : `MetaFormer Baselines for Vision` -
https://arxiv.org/abs/2210.13452
Args:
in_chans (int): Number of input image channels.
num_classes (int): Number of classes for classification head.
global_pool: Pooling for classifier head.
depths (list or tuple): Number of blocks at each stage.
dims (list or tuple): Feature dimension at each stage.
token_mixers (list, tuple or token_fcn): Token mixer for each stage.
mlp_act: Activation layer for MLP.
mlp_bias (boolean): Enable or disable mlp bias term.
drop_path_rate (float): Stochastic depth rate.
drop_rate (float): Dropout rate.
layer_scale_init_values (list, tuple, float or None): Init value for Layer Scale.
None means not use the layer scale. Form: https://arxiv.org/abs/2103.17239.
res_scale_init_values (list, tuple, float or None): Init value for res Scale on residual connections.
None means not use the res scale. From: https://arxiv.org/abs/2110.09456.
downsample_norm (nn.Module): Norm layer used in stem and downsampling layers.
norm_layers (list, tuple or norm_fcn): Norm layers for each stage.
output_norm: Norm layer before classifier head.
use_mlp_head: Use MLP classification head.
"""
def __init__(
self,
in_chans=3,
num_classes=1000,
global_pool='avg',
depths=(2, 2, 6, 2),
dims=(64, 128, 320, 512),
token_mixers=Pooling,
mlp_act=StarReLU,
mlp_bias=False,
drop_path_rate=0.,
proj_drop_rate=0.,
drop_rate=0.0,
layer_scale_init_values=None,
res_scale_init_values=(None, None, 1.0, 1.0),
downsample_norm=LayerNorm2dNoBias,
norm_layers=LayerNorm2dNoBias,
output_norm=LayerNorm2d,
use_mlp_head=True,
**kwargs,
):
super().__init__()
self.num_classes = num_classes
self.num_features = dims[-1]
self.drop_rate = drop_rate
self.use_mlp_head = use_mlp_head
self.num_stages = len(depths)
# convert everything to lists if they aren't indexable
if not isinstance(depths, (list, tuple)):
depths = [depths] # it means the model has only one stage
if not isinstance(dims, (list, tuple)):
dims = [dims]
if not isinstance(token_mixers, (list, tuple)):
token_mixers = [token_mixers] * self.num_stages
if not isinstance(norm_layers, (list, tuple)):
norm_layers = [norm_layers] * self.num_stages
if not isinstance(layer_scale_init_values, (list, tuple)):
layer_scale_init_values = [layer_scale_init_values] * self.num_stages
if not isinstance(res_scale_init_values, (list, tuple)):
res_scale_init_values = [res_scale_init_values] * self.num_stages
self.grad_checkpointing = False
self.feature_info = []
self.stem = Stem(
in_chans,
dims[0],
norm_layer=downsample_norm
)
stages = []
prev_dim = dims[0]
dp_rates = [x.tolist() for x in torch.linspace(0, drop_path_rate, sum(depths)).split(depths)]
for i in range(self.num_stages):
stages += [MetaFormerStage(
prev_dim,
dims[i],
depth=depths[i],
token_mixer=token_mixers[i],
mlp_act=mlp_act,
mlp_bias=mlp_bias,
proj_drop=proj_drop_rate,
dp_rates=dp_rates[i],
layer_scale_init_value=layer_scale_init_values[i],
res_scale_init_value=res_scale_init_values[i],
downsample_norm=downsample_norm,
norm_layer=norm_layers[i],
**kwargs,
)]
prev_dim = dims[i]
2024-12-18 21:12:40 +08:00
self.feature_info += [dict(num_chs=dims[i], reduction=2**(i+2), module=f'stages.{i}')]
Metaformer baselines for vision (final PR with cleanup) (#1793) * update * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * merge with poolformer, initial version * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Revert "Update metaformers.py" This reverts commit 2916f37f8d862cd4fcbc86c858b23894daec3339. * Revert "Update metaformers.py" This reverts commit 1d882eb494caf5b5a3a1e9c7442d883e1707998e. * Revert "Update metaformers.py" This reverts commit 2209d0830eed9b87149df4a1f25f65da46d47f4b. * Revert "Update metaformers.py" This reverts commit 32bede4e279ee1027a63d5b55591153e53c209ec. * Revert "Update metaformers.py" This reverts commit 4ed934e00068be576881a87d5218b355ca01a6be. * Revert "Update metaformers.py" This reverts commit 3f0b07536764c47af42290a218a15097b5cec1a0. * Revert "Update metaformers.py" This reverts commit 2fef9006d72824789b733dd8dbc20b21b79add0b. * Update metaformers.py * Update metaformers.py * rename model * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Stem/Downsample rework * Update metaformers.py * try NHWC * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Squashed commit of the following: commit b7696a30a772dbbb2e00d81e7096c24dac97df73 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Fri Feb 10 01:46:44 2023 -0800 Update metaformers.py commit 41fe5c36263b40a6cd7caddb85b10c5d82d48023 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Fri Feb 10 01:03:47 2023 -0800 Update metaformers.py commit a3aee37c35985c01ca07902d860f809b648c612c Author: Fredo Guan <fredo.guan@hotmail.com> Date: Fri Feb 10 00:32:04 2023 -0800 Update metaformers.py commit f938beb81b4f46851d6d6f04ae7a9a74871ee40d Author: Fredo Guan <fredo.guan@hotmail.com> Date: Fri Feb 10 00:24:58 2023 -0800 Update metaformers.py commit 10bde717e51c95cdf20135c8bba77a7a1b00d78c Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 02:11:28 2023 -0800 Update metaformers.py commit 39274bd45e78b8ead0509367f800121f0d7c25f4 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 02:06:58 2023 -0800 Update metaformers.py commit a2329ab8ec00d0ebc00979690293c3887cc44a4c Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 02:03:34 2023 -0800 Update metaformers.py commit 53b8ce5b8a6b6d828de61788bcc2e6043ebb3081 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 02:02:37 2023 -0800 Update metaformers.py commit ab6225b9414f534815958036f6d5a392038d7ab2 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 01:04:55 2023 -0800 try NHWC commit 02fcc30eaa67a3c92cae56f3062b2542c32c9283 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sat Feb 4 23:47:06 2023 -0800 Update metaformers.py commit 366aae93047934bd3d7d37a077e713d424fa429c Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sat Feb 4 23:37:30 2023 -0800 Stem/Downsample rework commit 26a8e481a5cb2a32004a796bc25c6800cd2fb7b7 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Wed Feb 1 07:42:07 2023 -0800 Update metaformers.py commit a913f5d4384aa4b2f62fdab46254ae3772df00ee Author: Fredo Guan <fredo.guan@hotmail.com> Date: Wed Feb 1 07:41:24 2023 -0800 Update metaformers.py * Update metaformers.py * Update metaformers.py * channels first for whole network * Channels first * Update metaformers.py * Use buffer for randformer * Update metaformers.py * Remove einsum * don't test randformer for feature extraction * arbitrary input sizes for randformer * Squashed commit of the following: commit 6c089ca4325ab10942fe56e0999dcc1a11e1d2f0 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 02:11:17 2023 -0800 Update metaformers.py commit 521528a900e49ef8f462f5ccd795efb3a5d14214 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 02:06:08 2023 -0800 Update metaformers.py commit 3827eec7963698ff727fbb13ace53594ceb374d5 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 02:03:08 2023 -0800 Update metaformers.py commit ac1c6fea8adcd846e031ea0f5fa81ffe63d3c4bb Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 02:01:04 2023 -0800 Update metaformers.py commit 26f3d343cdc46183543f83482187f669f3181ddf Merge: d577129 f736730 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 01:57:29 2023 -0800 Merge branch 'metaformer_workspace' of https://github.com/fffffgggg54/pytorch-image-models into metaformer_workspace commit d577129aaa23fb348a8bb93bcd17cf1d5a4e8ff8 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 01:57:20 2023 -0800 Update metaformers.py commit f7367304e8f3b7a9a7f16e0a032bb72546afcc2a Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 01:56:11 2023 -0800 Metaformer baselines for vision (#12) * formatting, cleanup, fix dropout * fix regression, pass kwargs * fix poolformerv1 weights, formatting * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * some cleanup * SDPA from ViT, fix imports * Update metaformers.py * fix head reset * fast norm bias patch for metaformers * Metaformer refactor, remove rand/ident models, fix issues, remove old poolformer * Switch to hub weights --------- Co-authored-by: Fredo Guan <fredo.guan@hotmail.com>
2023-05-06 02:18:26 +08:00
self.stages = nn.Sequential(*stages)
# if using MlpHead, dropout is handled by MlpHead
if num_classes > 0:
if self.use_mlp_head:
# FIXME not actually returning mlp hidden state right now as pre-logits.
Metaformer baselines for vision (final PR with cleanup) (#1793) * update * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * merge with poolformer, initial version * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Revert "Update metaformers.py" This reverts commit 2916f37f8d862cd4fcbc86c858b23894daec3339. * Revert "Update metaformers.py" This reverts commit 1d882eb494caf5b5a3a1e9c7442d883e1707998e. * Revert "Update metaformers.py" This reverts commit 2209d0830eed9b87149df4a1f25f65da46d47f4b. * Revert "Update metaformers.py" This reverts commit 32bede4e279ee1027a63d5b55591153e53c209ec. * Revert "Update metaformers.py" This reverts commit 4ed934e00068be576881a87d5218b355ca01a6be. * Revert "Update metaformers.py" This reverts commit 3f0b07536764c47af42290a218a15097b5cec1a0. * Revert "Update metaformers.py" This reverts commit 2fef9006d72824789b733dd8dbc20b21b79add0b. * Update metaformers.py * Update metaformers.py * rename model * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Stem/Downsample rework * Update metaformers.py * try NHWC * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Squashed commit of the following: commit b7696a30a772dbbb2e00d81e7096c24dac97df73 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Fri Feb 10 01:46:44 2023 -0800 Update metaformers.py commit 41fe5c36263b40a6cd7caddb85b10c5d82d48023 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Fri Feb 10 01:03:47 2023 -0800 Update metaformers.py commit a3aee37c35985c01ca07902d860f809b648c612c Author: Fredo Guan <fredo.guan@hotmail.com> Date: Fri Feb 10 00:32:04 2023 -0800 Update metaformers.py commit f938beb81b4f46851d6d6f04ae7a9a74871ee40d Author: Fredo Guan <fredo.guan@hotmail.com> Date: Fri Feb 10 00:24:58 2023 -0800 Update metaformers.py commit 10bde717e51c95cdf20135c8bba77a7a1b00d78c Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 02:11:28 2023 -0800 Update metaformers.py commit 39274bd45e78b8ead0509367f800121f0d7c25f4 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 02:06:58 2023 -0800 Update metaformers.py commit a2329ab8ec00d0ebc00979690293c3887cc44a4c Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 02:03:34 2023 -0800 Update metaformers.py commit 53b8ce5b8a6b6d828de61788bcc2e6043ebb3081 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 02:02:37 2023 -0800 Update metaformers.py commit ab6225b9414f534815958036f6d5a392038d7ab2 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 01:04:55 2023 -0800 try NHWC commit 02fcc30eaa67a3c92cae56f3062b2542c32c9283 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sat Feb 4 23:47:06 2023 -0800 Update metaformers.py commit 366aae93047934bd3d7d37a077e713d424fa429c Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sat Feb 4 23:37:30 2023 -0800 Stem/Downsample rework commit 26a8e481a5cb2a32004a796bc25c6800cd2fb7b7 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Wed Feb 1 07:42:07 2023 -0800 Update metaformers.py commit a913f5d4384aa4b2f62fdab46254ae3772df00ee Author: Fredo Guan <fredo.guan@hotmail.com> Date: Wed Feb 1 07:41:24 2023 -0800 Update metaformers.py * Update metaformers.py * Update metaformers.py * channels first for whole network * Channels first * Update metaformers.py * Use buffer for randformer * Update metaformers.py * Remove einsum * don't test randformer for feature extraction * arbitrary input sizes for randformer * Squashed commit of the following: commit 6c089ca4325ab10942fe56e0999dcc1a11e1d2f0 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 02:11:17 2023 -0800 Update metaformers.py commit 521528a900e49ef8f462f5ccd795efb3a5d14214 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 02:06:08 2023 -0800 Update metaformers.py commit 3827eec7963698ff727fbb13ace53594ceb374d5 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 02:03:08 2023 -0800 Update metaformers.py commit ac1c6fea8adcd846e031ea0f5fa81ffe63d3c4bb Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 02:01:04 2023 -0800 Update metaformers.py commit 26f3d343cdc46183543f83482187f669f3181ddf Merge: d577129 f736730 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 01:57:29 2023 -0800 Merge branch 'metaformer_workspace' of https://github.com/fffffgggg54/pytorch-image-models into metaformer_workspace commit d577129aaa23fb348a8bb93bcd17cf1d5a4e8ff8 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 01:57:20 2023 -0800 Update metaformers.py commit f7367304e8f3b7a9a7f16e0a032bb72546afcc2a Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 01:56:11 2023 -0800 Metaformer baselines for vision (#12) * formatting, cleanup, fix dropout * fix regression, pass kwargs * fix poolformerv1 weights, formatting * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * some cleanup * SDPA from ViT, fix imports * Update metaformers.py * fix head reset * fast norm bias patch for metaformers * Metaformer refactor, remove rand/ident models, fix issues, remove old poolformer * Switch to hub weights --------- Co-authored-by: Fredo Guan <fredo.guan@hotmail.com>
2023-05-06 02:18:26 +08:00
final = MlpHead(self.num_features, num_classes, drop_rate=self.drop_rate)
self.head_hidden_size = self.num_features
Metaformer baselines for vision (final PR with cleanup) (#1793) * update * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * merge with poolformer, initial version * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Revert "Update metaformers.py" This reverts commit 2916f37f8d862cd4fcbc86c858b23894daec3339. * Revert "Update metaformers.py" This reverts commit 1d882eb494caf5b5a3a1e9c7442d883e1707998e. * Revert "Update metaformers.py" This reverts commit 2209d0830eed9b87149df4a1f25f65da46d47f4b. * Revert "Update metaformers.py" This reverts commit 32bede4e279ee1027a63d5b55591153e53c209ec. * Revert "Update metaformers.py" This reverts commit 4ed934e00068be576881a87d5218b355ca01a6be. * Revert "Update metaformers.py" This reverts commit 3f0b07536764c47af42290a218a15097b5cec1a0. * Revert "Update metaformers.py" This reverts commit 2fef9006d72824789b733dd8dbc20b21b79add0b. * Update metaformers.py * Update metaformers.py * rename model * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Stem/Downsample rework * Update metaformers.py * try NHWC * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Squashed commit of the following: commit b7696a30a772dbbb2e00d81e7096c24dac97df73 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Fri Feb 10 01:46:44 2023 -0800 Update metaformers.py commit 41fe5c36263b40a6cd7caddb85b10c5d82d48023 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Fri Feb 10 01:03:47 2023 -0800 Update metaformers.py commit a3aee37c35985c01ca07902d860f809b648c612c Author: Fredo Guan <fredo.guan@hotmail.com> Date: Fri Feb 10 00:32:04 2023 -0800 Update metaformers.py commit f938beb81b4f46851d6d6f04ae7a9a74871ee40d Author: Fredo Guan <fredo.guan@hotmail.com> Date: Fri Feb 10 00:24:58 2023 -0800 Update metaformers.py commit 10bde717e51c95cdf20135c8bba77a7a1b00d78c Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 02:11:28 2023 -0800 Update metaformers.py commit 39274bd45e78b8ead0509367f800121f0d7c25f4 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 02:06:58 2023 -0800 Update metaformers.py commit a2329ab8ec00d0ebc00979690293c3887cc44a4c Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 02:03:34 2023 -0800 Update metaformers.py commit 53b8ce5b8a6b6d828de61788bcc2e6043ebb3081 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 02:02:37 2023 -0800 Update metaformers.py commit ab6225b9414f534815958036f6d5a392038d7ab2 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 01:04:55 2023 -0800 try NHWC commit 02fcc30eaa67a3c92cae56f3062b2542c32c9283 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sat Feb 4 23:47:06 2023 -0800 Update metaformers.py commit 366aae93047934bd3d7d37a077e713d424fa429c Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sat Feb 4 23:37:30 2023 -0800 Stem/Downsample rework commit 26a8e481a5cb2a32004a796bc25c6800cd2fb7b7 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Wed Feb 1 07:42:07 2023 -0800 Update metaformers.py commit a913f5d4384aa4b2f62fdab46254ae3772df00ee Author: Fredo Guan <fredo.guan@hotmail.com> Date: Wed Feb 1 07:41:24 2023 -0800 Update metaformers.py * Update metaformers.py * Update metaformers.py * channels first for whole network * Channels first * Update metaformers.py * Use buffer for randformer * Update metaformers.py * Remove einsum * don't test randformer for feature extraction * arbitrary input sizes for randformer * Squashed commit of the following: commit 6c089ca4325ab10942fe56e0999dcc1a11e1d2f0 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 02:11:17 2023 -0800 Update metaformers.py commit 521528a900e49ef8f462f5ccd795efb3a5d14214 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 02:06:08 2023 -0800 Update metaformers.py commit 3827eec7963698ff727fbb13ace53594ceb374d5 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 02:03:08 2023 -0800 Update metaformers.py commit ac1c6fea8adcd846e031ea0f5fa81ffe63d3c4bb Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 02:01:04 2023 -0800 Update metaformers.py commit 26f3d343cdc46183543f83482187f669f3181ddf Merge: d577129 f736730 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 01:57:29 2023 -0800 Merge branch 'metaformer_workspace' of https://github.com/fffffgggg54/pytorch-image-models into metaformer_workspace commit d577129aaa23fb348a8bb93bcd17cf1d5a4e8ff8 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 01:57:20 2023 -0800 Update metaformers.py commit f7367304e8f3b7a9a7f16e0a032bb72546afcc2a Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 01:56:11 2023 -0800 Metaformer baselines for vision (#12) * formatting, cleanup, fix dropout * fix regression, pass kwargs * fix poolformerv1 weights, formatting * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * some cleanup * SDPA from ViT, fix imports * Update metaformers.py * fix head reset * fast norm bias patch for metaformers * Metaformer refactor, remove rand/ident models, fix issues, remove old poolformer * Switch to hub weights --------- Co-authored-by: Fredo Guan <fredo.guan@hotmail.com>
2023-05-06 02:18:26 +08:00
else:
final = nn.Linear(self.num_features, num_classes)
self.head_hidden_size = self.num_features
Metaformer baselines for vision (final PR with cleanup) (#1793) * update * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * merge with poolformer, initial version * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Revert "Update metaformers.py" This reverts commit 2916f37f8d862cd4fcbc86c858b23894daec3339. * Revert "Update metaformers.py" This reverts commit 1d882eb494caf5b5a3a1e9c7442d883e1707998e. * Revert "Update metaformers.py" This reverts commit 2209d0830eed9b87149df4a1f25f65da46d47f4b. * Revert "Update metaformers.py" This reverts commit 32bede4e279ee1027a63d5b55591153e53c209ec. * Revert "Update metaformers.py" This reverts commit 4ed934e00068be576881a87d5218b355ca01a6be. * Revert "Update metaformers.py" This reverts commit 3f0b07536764c47af42290a218a15097b5cec1a0. * Revert "Update metaformers.py" This reverts commit 2fef9006d72824789b733dd8dbc20b21b79add0b. * Update metaformers.py * Update metaformers.py * rename model * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Stem/Downsample rework * Update metaformers.py * try NHWC * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Squashed commit of the following: commit b7696a30a772dbbb2e00d81e7096c24dac97df73 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Fri Feb 10 01:46:44 2023 -0800 Update metaformers.py commit 41fe5c36263b40a6cd7caddb85b10c5d82d48023 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Fri Feb 10 01:03:47 2023 -0800 Update metaformers.py commit a3aee37c35985c01ca07902d860f809b648c612c Author: Fredo Guan <fredo.guan@hotmail.com> Date: Fri Feb 10 00:32:04 2023 -0800 Update metaformers.py commit f938beb81b4f46851d6d6f04ae7a9a74871ee40d Author: Fredo Guan <fredo.guan@hotmail.com> Date: Fri Feb 10 00:24:58 2023 -0800 Update metaformers.py commit 10bde717e51c95cdf20135c8bba77a7a1b00d78c Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 02:11:28 2023 -0800 Update metaformers.py commit 39274bd45e78b8ead0509367f800121f0d7c25f4 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 02:06:58 2023 -0800 Update metaformers.py commit a2329ab8ec00d0ebc00979690293c3887cc44a4c Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 02:03:34 2023 -0800 Update metaformers.py commit 53b8ce5b8a6b6d828de61788bcc2e6043ebb3081 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 02:02:37 2023 -0800 Update metaformers.py commit ab6225b9414f534815958036f6d5a392038d7ab2 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 01:04:55 2023 -0800 try NHWC commit 02fcc30eaa67a3c92cae56f3062b2542c32c9283 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sat Feb 4 23:47:06 2023 -0800 Update metaformers.py commit 366aae93047934bd3d7d37a077e713d424fa429c Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sat Feb 4 23:37:30 2023 -0800 Stem/Downsample rework commit 26a8e481a5cb2a32004a796bc25c6800cd2fb7b7 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Wed Feb 1 07:42:07 2023 -0800 Update metaformers.py commit a913f5d4384aa4b2f62fdab46254ae3772df00ee Author: Fredo Guan <fredo.guan@hotmail.com> Date: Wed Feb 1 07:41:24 2023 -0800 Update metaformers.py * Update metaformers.py * Update metaformers.py * channels first for whole network * Channels first * Update metaformers.py * Use buffer for randformer * Update metaformers.py * Remove einsum * don't test randformer for feature extraction * arbitrary input sizes for randformer * Squashed commit of the following: commit 6c089ca4325ab10942fe56e0999dcc1a11e1d2f0 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 02:11:17 2023 -0800 Update metaformers.py commit 521528a900e49ef8f462f5ccd795efb3a5d14214 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 02:06:08 2023 -0800 Update metaformers.py commit 3827eec7963698ff727fbb13ace53594ceb374d5 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 02:03:08 2023 -0800 Update metaformers.py commit ac1c6fea8adcd846e031ea0f5fa81ffe63d3c4bb Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 02:01:04 2023 -0800 Update metaformers.py commit 26f3d343cdc46183543f83482187f669f3181ddf Merge: d577129 f736730 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 01:57:29 2023 -0800 Merge branch 'metaformer_workspace' of https://github.com/fffffgggg54/pytorch-image-models into metaformer_workspace commit d577129aaa23fb348a8bb93bcd17cf1d5a4e8ff8 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 01:57:20 2023 -0800 Update metaformers.py commit f7367304e8f3b7a9a7f16e0a032bb72546afcc2a Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 01:56:11 2023 -0800 Metaformer baselines for vision (#12) * formatting, cleanup, fix dropout * fix regression, pass kwargs * fix poolformerv1 weights, formatting * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * some cleanup * SDPA from ViT, fix imports * Update metaformers.py * fix head reset * fast norm bias patch for metaformers * Metaformer refactor, remove rand/ident models, fix issues, remove old poolformer * Switch to hub weights --------- Co-authored-by: Fredo Guan <fredo.guan@hotmail.com>
2023-05-06 02:18:26 +08:00
else:
final = nn.Identity()
self.head = nn.Sequential(OrderedDict([
('global_pool', SelectAdaptivePool2d(pool_type=global_pool)),
('norm', output_norm(self.num_features)),
('flatten', nn.Flatten(1) if global_pool else nn.Identity()),
('drop', nn.Dropout(drop_rate) if self.use_mlp_head else nn.Identity()),
('fc', final)
]))
self.apply(self._init_weights)
def _init_weights(self, m):
if isinstance(m, (nn.Conv2d, nn.Linear)):
trunc_normal_(m.weight, std=.02)
if m.bias is not None:
nn.init.constant_(m.bias, 0)
@torch.jit.ignore
def set_grad_checkpointing(self, enable=True):
self.grad_checkpointing = enable
for stage in self.stages:
stage.set_grad_checkpointing(enable=enable)
@torch.jit.ignore
def get_classifier(self) -> nn.Module:
Metaformer baselines for vision (final PR with cleanup) (#1793) * update * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * merge with poolformer, initial version * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Revert "Update metaformers.py" This reverts commit 2916f37f8d862cd4fcbc86c858b23894daec3339. * Revert "Update metaformers.py" This reverts commit 1d882eb494caf5b5a3a1e9c7442d883e1707998e. * Revert "Update metaformers.py" This reverts commit 2209d0830eed9b87149df4a1f25f65da46d47f4b. * Revert "Update metaformers.py" This reverts commit 32bede4e279ee1027a63d5b55591153e53c209ec. * Revert "Update metaformers.py" This reverts commit 4ed934e00068be576881a87d5218b355ca01a6be. * Revert "Update metaformers.py" This reverts commit 3f0b07536764c47af42290a218a15097b5cec1a0. * Revert "Update metaformers.py" This reverts commit 2fef9006d72824789b733dd8dbc20b21b79add0b. * Update metaformers.py * Update metaformers.py * rename model * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Stem/Downsample rework * Update metaformers.py * try NHWC * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Squashed commit of the following: commit b7696a30a772dbbb2e00d81e7096c24dac97df73 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Fri Feb 10 01:46:44 2023 -0800 Update metaformers.py commit 41fe5c36263b40a6cd7caddb85b10c5d82d48023 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Fri Feb 10 01:03:47 2023 -0800 Update metaformers.py commit a3aee37c35985c01ca07902d860f809b648c612c Author: Fredo Guan <fredo.guan@hotmail.com> Date: Fri Feb 10 00:32:04 2023 -0800 Update metaformers.py commit f938beb81b4f46851d6d6f04ae7a9a74871ee40d Author: Fredo Guan <fredo.guan@hotmail.com> Date: Fri Feb 10 00:24:58 2023 -0800 Update metaformers.py commit 10bde717e51c95cdf20135c8bba77a7a1b00d78c Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 02:11:28 2023 -0800 Update metaformers.py commit 39274bd45e78b8ead0509367f800121f0d7c25f4 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 02:06:58 2023 -0800 Update metaformers.py commit a2329ab8ec00d0ebc00979690293c3887cc44a4c Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 02:03:34 2023 -0800 Update metaformers.py commit 53b8ce5b8a6b6d828de61788bcc2e6043ebb3081 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 02:02:37 2023 -0800 Update metaformers.py commit ab6225b9414f534815958036f6d5a392038d7ab2 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 01:04:55 2023 -0800 try NHWC commit 02fcc30eaa67a3c92cae56f3062b2542c32c9283 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sat Feb 4 23:47:06 2023 -0800 Update metaformers.py commit 366aae93047934bd3d7d37a077e713d424fa429c Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sat Feb 4 23:37:30 2023 -0800 Stem/Downsample rework commit 26a8e481a5cb2a32004a796bc25c6800cd2fb7b7 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Wed Feb 1 07:42:07 2023 -0800 Update metaformers.py commit a913f5d4384aa4b2f62fdab46254ae3772df00ee Author: Fredo Guan <fredo.guan@hotmail.com> Date: Wed Feb 1 07:41:24 2023 -0800 Update metaformers.py * Update metaformers.py * Update metaformers.py * channels first for whole network * Channels first * Update metaformers.py * Use buffer for randformer * Update metaformers.py * Remove einsum * don't test randformer for feature extraction * arbitrary input sizes for randformer * Squashed commit of the following: commit 6c089ca4325ab10942fe56e0999dcc1a11e1d2f0 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 02:11:17 2023 -0800 Update metaformers.py commit 521528a900e49ef8f462f5ccd795efb3a5d14214 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 02:06:08 2023 -0800 Update metaformers.py commit 3827eec7963698ff727fbb13ace53594ceb374d5 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 02:03:08 2023 -0800 Update metaformers.py commit ac1c6fea8adcd846e031ea0f5fa81ffe63d3c4bb Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 02:01:04 2023 -0800 Update metaformers.py commit 26f3d343cdc46183543f83482187f669f3181ddf Merge: d577129 f736730 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 01:57:29 2023 -0800 Merge branch 'metaformer_workspace' of https://github.com/fffffgggg54/pytorch-image-models into metaformer_workspace commit d577129aaa23fb348a8bb93bcd17cf1d5a4e8ff8 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 01:57:20 2023 -0800 Update metaformers.py commit f7367304e8f3b7a9a7f16e0a032bb72546afcc2a Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 01:56:11 2023 -0800 Metaformer baselines for vision (#12) * formatting, cleanup, fix dropout * fix regression, pass kwargs * fix poolformerv1 weights, formatting * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * some cleanup * SDPA from ViT, fix imports * Update metaformers.py * fix head reset * fast norm bias patch for metaformers * Metaformer refactor, remove rand/ident models, fix issues, remove old poolformer * Switch to hub weights --------- Co-authored-by: Fredo Guan <fredo.guan@hotmail.com>
2023-05-06 02:18:26 +08:00
return self.head.fc
def reset_classifier(self, num_classes: int, global_pool: Optional[str] = None):
self.num_classes = num_classes
Metaformer baselines for vision (final PR with cleanup) (#1793) * update * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * merge with poolformer, initial version * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Revert "Update metaformers.py" This reverts commit 2916f37f8d862cd4fcbc86c858b23894daec3339. * Revert "Update metaformers.py" This reverts commit 1d882eb494caf5b5a3a1e9c7442d883e1707998e. * Revert "Update metaformers.py" This reverts commit 2209d0830eed9b87149df4a1f25f65da46d47f4b. * Revert "Update metaformers.py" This reverts commit 32bede4e279ee1027a63d5b55591153e53c209ec. * Revert "Update metaformers.py" This reverts commit 4ed934e00068be576881a87d5218b355ca01a6be. * Revert "Update metaformers.py" This reverts commit 3f0b07536764c47af42290a218a15097b5cec1a0. * Revert "Update metaformers.py" This reverts commit 2fef9006d72824789b733dd8dbc20b21b79add0b. * Update metaformers.py * Update metaformers.py * rename model * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Stem/Downsample rework * Update metaformers.py * try NHWC * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Squashed commit of the following: commit b7696a30a772dbbb2e00d81e7096c24dac97df73 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Fri Feb 10 01:46:44 2023 -0800 Update metaformers.py commit 41fe5c36263b40a6cd7caddb85b10c5d82d48023 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Fri Feb 10 01:03:47 2023 -0800 Update metaformers.py commit a3aee37c35985c01ca07902d860f809b648c612c Author: Fredo Guan <fredo.guan@hotmail.com> Date: Fri Feb 10 00:32:04 2023 -0800 Update metaformers.py commit f938beb81b4f46851d6d6f04ae7a9a74871ee40d Author: Fredo Guan <fredo.guan@hotmail.com> Date: Fri Feb 10 00:24:58 2023 -0800 Update metaformers.py commit 10bde717e51c95cdf20135c8bba77a7a1b00d78c Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 02:11:28 2023 -0800 Update metaformers.py commit 39274bd45e78b8ead0509367f800121f0d7c25f4 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 02:06:58 2023 -0800 Update metaformers.py commit a2329ab8ec00d0ebc00979690293c3887cc44a4c Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 02:03:34 2023 -0800 Update metaformers.py commit 53b8ce5b8a6b6d828de61788bcc2e6043ebb3081 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 02:02:37 2023 -0800 Update metaformers.py commit ab6225b9414f534815958036f6d5a392038d7ab2 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 01:04:55 2023 -0800 try NHWC commit 02fcc30eaa67a3c92cae56f3062b2542c32c9283 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sat Feb 4 23:47:06 2023 -0800 Update metaformers.py commit 366aae93047934bd3d7d37a077e713d424fa429c Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sat Feb 4 23:37:30 2023 -0800 Stem/Downsample rework commit 26a8e481a5cb2a32004a796bc25c6800cd2fb7b7 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Wed Feb 1 07:42:07 2023 -0800 Update metaformers.py commit a913f5d4384aa4b2f62fdab46254ae3772df00ee Author: Fredo Guan <fredo.guan@hotmail.com> Date: Wed Feb 1 07:41:24 2023 -0800 Update metaformers.py * Update metaformers.py * Update metaformers.py * channels first for whole network * Channels first * Update metaformers.py * Use buffer for randformer * Update metaformers.py * Remove einsum * don't test randformer for feature extraction * arbitrary input sizes for randformer * Squashed commit of the following: commit 6c089ca4325ab10942fe56e0999dcc1a11e1d2f0 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 02:11:17 2023 -0800 Update metaformers.py commit 521528a900e49ef8f462f5ccd795efb3a5d14214 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 02:06:08 2023 -0800 Update metaformers.py commit 3827eec7963698ff727fbb13ace53594ceb374d5 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 02:03:08 2023 -0800 Update metaformers.py commit ac1c6fea8adcd846e031ea0f5fa81ffe63d3c4bb Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 02:01:04 2023 -0800 Update metaformers.py commit 26f3d343cdc46183543f83482187f669f3181ddf Merge: d577129 f736730 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 01:57:29 2023 -0800 Merge branch 'metaformer_workspace' of https://github.com/fffffgggg54/pytorch-image-models into metaformer_workspace commit d577129aaa23fb348a8bb93bcd17cf1d5a4e8ff8 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 01:57:20 2023 -0800 Update metaformers.py commit f7367304e8f3b7a9a7f16e0a032bb72546afcc2a Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 01:56:11 2023 -0800 Metaformer baselines for vision (#12) * formatting, cleanup, fix dropout * fix regression, pass kwargs * fix poolformerv1 weights, formatting * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * some cleanup * SDPA from ViT, fix imports * Update metaformers.py * fix head reset * fast norm bias patch for metaformers * Metaformer refactor, remove rand/ident models, fix issues, remove old poolformer * Switch to hub weights --------- Co-authored-by: Fredo Guan <fredo.guan@hotmail.com>
2023-05-06 02:18:26 +08:00
if global_pool is not None:
self.head.global_pool = SelectAdaptivePool2d(pool_type=global_pool)
self.head.flatten = nn.Flatten(1) if global_pool else nn.Identity()
if num_classes > 0:
if self.use_mlp_head:
final = MlpHead(self.num_features, num_classes, drop_rate=self.drop_rate)
else:
final = nn.Linear(self.num_features, num_classes)
else:
final = nn.Identity()
self.head.fc = final
def forward_head(self, x: Tensor, pre_logits: bool = False):
# NOTE nn.Sequential in head broken down since can't call head[:-1](x) in torchscript :(
x = self.head.global_pool(x)
x = self.head.norm(x)
x = self.head.flatten(x)
x = self.head.drop(x)
return x if pre_logits else self.head.fc(x)
def forward_features(self, x: Tensor):
x = self.stem(x)
if self.grad_checkpointing and not torch.jit.is_scripting():
x = checkpoint_seq(self.stages, x)
else:
x = self.stages(x)
return x
def forward(self, x: Tensor):
x = self.forward_features(x)
x = self.forward_head(x)
return x
2025-01-20 01:26:49 +08:00
# this works but it's long and breaks backwards compatibility with weights from the poolformer-only impl
Metaformer baselines for vision (final PR with cleanup) (#1793) * update * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * merge with poolformer, initial version * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Revert "Update metaformers.py" This reverts commit 2916f37f8d862cd4fcbc86c858b23894daec3339. * Revert "Update metaformers.py" This reverts commit 1d882eb494caf5b5a3a1e9c7442d883e1707998e. * Revert "Update metaformers.py" This reverts commit 2209d0830eed9b87149df4a1f25f65da46d47f4b. * Revert "Update metaformers.py" This reverts commit 32bede4e279ee1027a63d5b55591153e53c209ec. * Revert "Update metaformers.py" This reverts commit 4ed934e00068be576881a87d5218b355ca01a6be. * Revert "Update metaformers.py" This reverts commit 3f0b07536764c47af42290a218a15097b5cec1a0. * Revert "Update metaformers.py" This reverts commit 2fef9006d72824789b733dd8dbc20b21b79add0b. * Update metaformers.py * Update metaformers.py * rename model * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Stem/Downsample rework * Update metaformers.py * try NHWC * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Squashed commit of the following: commit b7696a30a772dbbb2e00d81e7096c24dac97df73 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Fri Feb 10 01:46:44 2023 -0800 Update metaformers.py commit 41fe5c36263b40a6cd7caddb85b10c5d82d48023 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Fri Feb 10 01:03:47 2023 -0800 Update metaformers.py commit a3aee37c35985c01ca07902d860f809b648c612c Author: Fredo Guan <fredo.guan@hotmail.com> Date: Fri Feb 10 00:32:04 2023 -0800 Update metaformers.py commit f938beb81b4f46851d6d6f04ae7a9a74871ee40d Author: Fredo Guan <fredo.guan@hotmail.com> Date: Fri Feb 10 00:24:58 2023 -0800 Update metaformers.py commit 10bde717e51c95cdf20135c8bba77a7a1b00d78c Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 02:11:28 2023 -0800 Update metaformers.py commit 39274bd45e78b8ead0509367f800121f0d7c25f4 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 02:06:58 2023 -0800 Update metaformers.py commit a2329ab8ec00d0ebc00979690293c3887cc44a4c Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 02:03:34 2023 -0800 Update metaformers.py commit 53b8ce5b8a6b6d828de61788bcc2e6043ebb3081 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 02:02:37 2023 -0800 Update metaformers.py commit ab6225b9414f534815958036f6d5a392038d7ab2 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 01:04:55 2023 -0800 try NHWC commit 02fcc30eaa67a3c92cae56f3062b2542c32c9283 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sat Feb 4 23:47:06 2023 -0800 Update metaformers.py commit 366aae93047934bd3d7d37a077e713d424fa429c Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sat Feb 4 23:37:30 2023 -0800 Stem/Downsample rework commit 26a8e481a5cb2a32004a796bc25c6800cd2fb7b7 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Wed Feb 1 07:42:07 2023 -0800 Update metaformers.py commit a913f5d4384aa4b2f62fdab46254ae3772df00ee Author: Fredo Guan <fredo.guan@hotmail.com> Date: Wed Feb 1 07:41:24 2023 -0800 Update metaformers.py * Update metaformers.py * Update metaformers.py * channels first for whole network * Channels first * Update metaformers.py * Use buffer for randformer * Update metaformers.py * Remove einsum * don't test randformer for feature extraction * arbitrary input sizes for randformer * Squashed commit of the following: commit 6c089ca4325ab10942fe56e0999dcc1a11e1d2f0 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 02:11:17 2023 -0800 Update metaformers.py commit 521528a900e49ef8f462f5ccd795efb3a5d14214 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 02:06:08 2023 -0800 Update metaformers.py commit 3827eec7963698ff727fbb13ace53594ceb374d5 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 02:03:08 2023 -0800 Update metaformers.py commit ac1c6fea8adcd846e031ea0f5fa81ffe63d3c4bb Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 02:01:04 2023 -0800 Update metaformers.py commit 26f3d343cdc46183543f83482187f669f3181ddf Merge: d577129 f736730 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 01:57:29 2023 -0800 Merge branch 'metaformer_workspace' of https://github.com/fffffgggg54/pytorch-image-models into metaformer_workspace commit d577129aaa23fb348a8bb93bcd17cf1d5a4e8ff8 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 01:57:20 2023 -0800 Update metaformers.py commit f7367304e8f3b7a9a7f16e0a032bb72546afcc2a Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 01:56:11 2023 -0800 Metaformer baselines for vision (#12) * formatting, cleanup, fix dropout * fix regression, pass kwargs * fix poolformerv1 weights, formatting * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * some cleanup * SDPA from ViT, fix imports * Update metaformers.py * fix head reset * fast norm bias patch for metaformers * Metaformer refactor, remove rand/ident models, fix issues, remove old poolformer * Switch to hub weights --------- Co-authored-by: Fredo Guan <fredo.guan@hotmail.com>
2023-05-06 02:18:26 +08:00
def checkpoint_filter_fn(state_dict, model):
if 'stem.conv.weight' in state_dict:
return state_dict
import re
out_dict = {}
is_poolformerv1 = 'network.0.0.mlp.fc1.weight' in state_dict
model_state_dict = model.state_dict()
for k, v in state_dict.items():
if is_poolformerv1:
k = re.sub(r'layer_scale_([0-9]+)', r'layer_scale\1.scale', k)
k = k.replace('network.1', 'downsample_layers.1')
k = k.replace('network.3', 'downsample_layers.2')
k = k.replace('network.5', 'downsample_layers.3')
k = k.replace('network.2', 'network.1')
k = k.replace('network.4', 'network.2')
k = k.replace('network.6', 'network.3')
k = k.replace('network', 'stages')
k = re.sub(r'downsample_layers.([0-9]+)', r'stages.\1.downsample', k)
k = k.replace('downsample.proj', 'downsample.conv')
k = k.replace('patch_embed.proj', 'patch_embed.conv')
k = re.sub(r'([0-9]+).([0-9]+)', r'\1.blocks.\2', k)
k = k.replace('stages.0.downsample', 'patch_embed')
k = k.replace('patch_embed', 'stem')
k = k.replace('post_norm', 'norm')
k = k.replace('pre_norm', 'norm')
k = re.sub(r'^head', 'head.fc', k)
k = re.sub(r'^norm', 'head.norm', k)
if v.shape != model_state_dict[k] and v.numel() == model_state_dict[k].numel():
v = v.reshape(model_state_dict[k].shape)
out_dict[k] = v
return out_dict
def _create_metaformer(variant, pretrained=False, **kwargs):
default_out_indices = tuple(i for i, _ in enumerate(kwargs.get('depths', (2, 2, 6, 2))))
out_indices = kwargs.pop('out_indices', default_out_indices)
model = build_model_with_cfg(
MetaFormer,
variant,
pretrained,
pretrained_filter_fn=checkpoint_filter_fn,
feature_cfg=dict(flatten_sequential=True, out_indices=out_indices),
**kwargs,
)
return model
def _cfg(url='', **kwargs):
return {
'url': url,
'num_classes': 1000, 'input_size': (3, 224, 224), 'pool_size': (7, 7),
'crop_pct': 1.0, 'interpolation': 'bicubic',
'mean': IMAGENET_DEFAULT_MEAN, 'std': IMAGENET_DEFAULT_STD,
'classifier': 'head.fc', 'first_conv': 'stem.conv',
**kwargs
}
default_cfgs = generate_default_cfgs({
'poolformer_s12.sail_in1k': _cfg(
hf_hub_id='timm/',
crop_pct=0.9),
'poolformer_s24.sail_in1k': _cfg(
hf_hub_id='timm/',
crop_pct=0.9),
'poolformer_s36.sail_in1k': _cfg(
hf_hub_id='timm/',
crop_pct=0.9),
'poolformer_m36.sail_in1k': _cfg(
hf_hub_id='timm/',
crop_pct=0.95),
'poolformer_m48.sail_in1k': _cfg(
hf_hub_id='timm/',
crop_pct=0.95),
'poolformerv2_s12.sail_in1k': _cfg(hf_hub_id='timm/'),
'poolformerv2_s24.sail_in1k': _cfg(hf_hub_id='timm/'),
'poolformerv2_s36.sail_in1k': _cfg(hf_hub_id='timm/'),
'poolformerv2_m36.sail_in1k': _cfg(hf_hub_id='timm/'),
'poolformerv2_m48.sail_in1k': _cfg(hf_hub_id='timm/'),
'convformer_s18.sail_in1k': _cfg(
hf_hub_id='timm/',
classifier='head.fc.fc2'),
'convformer_s18.sail_in1k_384': _cfg(
hf_hub_id='timm/',
classifier='head.fc.fc2', input_size=(3, 384, 384), pool_size=(12, 12)),
'convformer_s18.sail_in22k_ft_in1k': _cfg(
hf_hub_id='timm/',
classifier='head.fc.fc2'),
'convformer_s18.sail_in22k_ft_in1k_384': _cfg(
hf_hub_id='timm/',
classifier='head.fc.fc2', input_size=(3, 384, 384), pool_size=(12, 12)),
'convformer_s18.sail_in22k': _cfg(
hf_hub_id='timm/',
classifier='head.fc.fc2', num_classes=21841),
'convformer_s36.sail_in1k': _cfg(
hf_hub_id='timm/',
classifier='head.fc.fc2'),
'convformer_s36.sail_in1k_384': _cfg(
hf_hub_id='timm/',
classifier='head.fc.fc2', input_size=(3, 384, 384), pool_size=(12, 12)),
'convformer_s36.sail_in22k_ft_in1k': _cfg(
hf_hub_id='timm/',
classifier='head.fc.fc2'),
'convformer_s36.sail_in22k_ft_in1k_384': _cfg(
hf_hub_id='timm/',
classifier='head.fc.fc2', input_size=(3, 384, 384), pool_size=(12, 12)),
'convformer_s36.sail_in22k': _cfg(
hf_hub_id='timm/',
classifier='head.fc.fc2', num_classes=21841),
'convformer_m36.sail_in1k': _cfg(
hf_hub_id='timm/',
classifier='head.fc.fc2'),
'convformer_m36.sail_in1k_384': _cfg(
hf_hub_id='timm/',
classifier='head.fc.fc2', input_size=(3, 384, 384), pool_size=(12, 12)),
'convformer_m36.sail_in22k_ft_in1k': _cfg(
hf_hub_id='timm/',
classifier='head.fc.fc2'),
'convformer_m36.sail_in22k_ft_in1k_384': _cfg(
hf_hub_id='timm/',
classifier='head.fc.fc2', input_size=(3, 384, 384), pool_size=(12, 12)),
'convformer_m36.sail_in22k': _cfg(
hf_hub_id='timm/',
classifier='head.fc.fc2', num_classes=21841),
'convformer_b36.sail_in1k': _cfg(
hf_hub_id='timm/',
classifier='head.fc.fc2'),
'convformer_b36.sail_in1k_384': _cfg(
hf_hub_id='timm/',
classifier='head.fc.fc2', input_size=(3, 384, 384), pool_size=(12, 12)),
'convformer_b36.sail_in22k_ft_in1k': _cfg(
hf_hub_id='timm/',
classifier='head.fc.fc2'),
'convformer_b36.sail_in22k_ft_in1k_384': _cfg(
hf_hub_id='timm/',
classifier='head.fc.fc2', input_size=(3, 384, 384), pool_size=(12, 12)),
'convformer_b36.sail_in22k': _cfg(
hf_hub_id='timm/',
classifier='head.fc.fc2', num_classes=21841),
'caformer_s18.sail_in1k': _cfg(
hf_hub_id='timm/',
classifier='head.fc.fc2'),
'caformer_s18.sail_in1k_384': _cfg(
hf_hub_id='timm/',
classifier='head.fc.fc2', input_size=(3, 384, 384), pool_size=(12, 12)),
'caformer_s18.sail_in22k_ft_in1k': _cfg(
hf_hub_id='timm/',
classifier='head.fc.fc2'),
'caformer_s18.sail_in22k_ft_in1k_384': _cfg(
hf_hub_id='timm/',
classifier='head.fc.fc2', input_size=(3, 384, 384), pool_size=(12, 12)),
'caformer_s18.sail_in22k': _cfg(
hf_hub_id='timm/',
classifier='head.fc.fc2', num_classes=21841),
'caformer_s36.sail_in1k': _cfg(
hf_hub_id='timm/',
classifier='head.fc.fc2'),
'caformer_s36.sail_in1k_384': _cfg(
hf_hub_id='timm/',
classifier='head.fc.fc2', input_size=(3, 384, 384), pool_size=(12, 12)),
'caformer_s36.sail_in22k_ft_in1k': _cfg(
hf_hub_id='timm/',
classifier='head.fc.fc2'),
'caformer_s36.sail_in22k_ft_in1k_384': _cfg(
hf_hub_id='timm/',
classifier='head.fc.fc2', input_size=(3, 384, 384), pool_size=(12, 12)),
'caformer_s36.sail_in22k': _cfg(
hf_hub_id='timm/',
classifier='head.fc.fc2', num_classes=21841),
'caformer_m36.sail_in1k': _cfg(
hf_hub_id='timm/',
classifier='head.fc.fc2'),
'caformer_m36.sail_in1k_384': _cfg(
hf_hub_id='timm/',
classifier='head.fc.fc2', input_size=(3, 384, 384), pool_size=(12, 12)),
'caformer_m36.sail_in22k_ft_in1k': _cfg(
hf_hub_id='timm/',
classifier='head.fc.fc2'),
'caformer_m36.sail_in22k_ft_in1k_384': _cfg(
hf_hub_id='timm/',
classifier='head.fc.fc2', input_size=(3, 384, 384), pool_size=(12, 12)),
'caformer_m36.sail_in22k': _cfg(
hf_hub_id='timm/',
classifier='head.fc.fc2', num_classes=21841),
'caformer_b36.sail_in1k': _cfg(
hf_hub_id='timm/',
classifier='head.fc.fc2'),
'caformer_b36.sail_in1k_384': _cfg(
hf_hub_id='timm/',
classifier='head.fc.fc2', input_size=(3, 384, 384), pool_size=(12, 12)),
'caformer_b36.sail_in22k_ft_in1k': _cfg(
hf_hub_id='timm/',
classifier='head.fc.fc2'),
'caformer_b36.sail_in22k_ft_in1k_384': _cfg(
hf_hub_id='timm/',
classifier='head.fc.fc2', input_size=(3, 384, 384), pool_size=(12, 12)),
'caformer_b36.sail_in22k': _cfg(
hf_hub_id='timm/',
classifier='head.fc.fc2', num_classes=21841),
})
@register_model
def poolformer_s12(pretrained=False, **kwargs) -> MetaFormer:
Metaformer baselines for vision (final PR with cleanup) (#1793) * update * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * merge with poolformer, initial version * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Revert "Update metaformers.py" This reverts commit 2916f37f8d862cd4fcbc86c858b23894daec3339. * Revert "Update metaformers.py" This reverts commit 1d882eb494caf5b5a3a1e9c7442d883e1707998e. * Revert "Update metaformers.py" This reverts commit 2209d0830eed9b87149df4a1f25f65da46d47f4b. * Revert "Update metaformers.py" This reverts commit 32bede4e279ee1027a63d5b55591153e53c209ec. * Revert "Update metaformers.py" This reverts commit 4ed934e00068be576881a87d5218b355ca01a6be. * Revert "Update metaformers.py" This reverts commit 3f0b07536764c47af42290a218a15097b5cec1a0. * Revert "Update metaformers.py" This reverts commit 2fef9006d72824789b733dd8dbc20b21b79add0b. * Update metaformers.py * Update metaformers.py * rename model * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Stem/Downsample rework * Update metaformers.py * try NHWC * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Squashed commit of the following: commit b7696a30a772dbbb2e00d81e7096c24dac97df73 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Fri Feb 10 01:46:44 2023 -0800 Update metaformers.py commit 41fe5c36263b40a6cd7caddb85b10c5d82d48023 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Fri Feb 10 01:03:47 2023 -0800 Update metaformers.py commit a3aee37c35985c01ca07902d860f809b648c612c Author: Fredo Guan <fredo.guan@hotmail.com> Date: Fri Feb 10 00:32:04 2023 -0800 Update metaformers.py commit f938beb81b4f46851d6d6f04ae7a9a74871ee40d Author: Fredo Guan <fredo.guan@hotmail.com> Date: Fri Feb 10 00:24:58 2023 -0800 Update metaformers.py commit 10bde717e51c95cdf20135c8bba77a7a1b00d78c Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 02:11:28 2023 -0800 Update metaformers.py commit 39274bd45e78b8ead0509367f800121f0d7c25f4 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 02:06:58 2023 -0800 Update metaformers.py commit a2329ab8ec00d0ebc00979690293c3887cc44a4c Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 02:03:34 2023 -0800 Update metaformers.py commit 53b8ce5b8a6b6d828de61788bcc2e6043ebb3081 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 02:02:37 2023 -0800 Update metaformers.py commit ab6225b9414f534815958036f6d5a392038d7ab2 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 01:04:55 2023 -0800 try NHWC commit 02fcc30eaa67a3c92cae56f3062b2542c32c9283 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sat Feb 4 23:47:06 2023 -0800 Update metaformers.py commit 366aae93047934bd3d7d37a077e713d424fa429c Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sat Feb 4 23:37:30 2023 -0800 Stem/Downsample rework commit 26a8e481a5cb2a32004a796bc25c6800cd2fb7b7 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Wed Feb 1 07:42:07 2023 -0800 Update metaformers.py commit a913f5d4384aa4b2f62fdab46254ae3772df00ee Author: Fredo Guan <fredo.guan@hotmail.com> Date: Wed Feb 1 07:41:24 2023 -0800 Update metaformers.py * Update metaformers.py * Update metaformers.py * channels first for whole network * Channels first * Update metaformers.py * Use buffer for randformer * Update metaformers.py * Remove einsum * don't test randformer for feature extraction * arbitrary input sizes for randformer * Squashed commit of the following: commit 6c089ca4325ab10942fe56e0999dcc1a11e1d2f0 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 02:11:17 2023 -0800 Update metaformers.py commit 521528a900e49ef8f462f5ccd795efb3a5d14214 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 02:06:08 2023 -0800 Update metaformers.py commit 3827eec7963698ff727fbb13ace53594ceb374d5 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 02:03:08 2023 -0800 Update metaformers.py commit ac1c6fea8adcd846e031ea0f5fa81ffe63d3c4bb Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 02:01:04 2023 -0800 Update metaformers.py commit 26f3d343cdc46183543f83482187f669f3181ddf Merge: d577129 f736730 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 01:57:29 2023 -0800 Merge branch 'metaformer_workspace' of https://github.com/fffffgggg54/pytorch-image-models into metaformer_workspace commit d577129aaa23fb348a8bb93bcd17cf1d5a4e8ff8 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 01:57:20 2023 -0800 Update metaformers.py commit f7367304e8f3b7a9a7f16e0a032bb72546afcc2a Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 01:56:11 2023 -0800 Metaformer baselines for vision (#12) * formatting, cleanup, fix dropout * fix regression, pass kwargs * fix poolformerv1 weights, formatting * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * some cleanup * SDPA from ViT, fix imports * Update metaformers.py * fix head reset * fast norm bias patch for metaformers * Metaformer refactor, remove rand/ident models, fix issues, remove old poolformer * Switch to hub weights --------- Co-authored-by: Fredo Guan <fredo.guan@hotmail.com>
2023-05-06 02:18:26 +08:00
model_kwargs = dict(
depths=[2, 2, 6, 2],
dims=[64, 128, 320, 512],
downsample_norm=None,
mlp_act=nn.GELU,
mlp_bias=True,
norm_layers=GroupNorm1,
layer_scale_init_values=1e-5,
res_scale_init_values=None,
use_mlp_head=False,
**kwargs)
return _create_metaformer('poolformer_s12', pretrained=pretrained, **model_kwargs)
@register_model
def poolformer_s24(pretrained=False, **kwargs) -> MetaFormer:
Metaformer baselines for vision (final PR with cleanup) (#1793) * update * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * merge with poolformer, initial version * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Revert "Update metaformers.py" This reverts commit 2916f37f8d862cd4fcbc86c858b23894daec3339. * Revert "Update metaformers.py" This reverts commit 1d882eb494caf5b5a3a1e9c7442d883e1707998e. * Revert "Update metaformers.py" This reverts commit 2209d0830eed9b87149df4a1f25f65da46d47f4b. * Revert "Update metaformers.py" This reverts commit 32bede4e279ee1027a63d5b55591153e53c209ec. * Revert "Update metaformers.py" This reverts commit 4ed934e00068be576881a87d5218b355ca01a6be. * Revert "Update metaformers.py" This reverts commit 3f0b07536764c47af42290a218a15097b5cec1a0. * Revert "Update metaformers.py" This reverts commit 2fef9006d72824789b733dd8dbc20b21b79add0b. * Update metaformers.py * Update metaformers.py * rename model * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Stem/Downsample rework * Update metaformers.py * try NHWC * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Squashed commit of the following: commit b7696a30a772dbbb2e00d81e7096c24dac97df73 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Fri Feb 10 01:46:44 2023 -0800 Update metaformers.py commit 41fe5c36263b40a6cd7caddb85b10c5d82d48023 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Fri Feb 10 01:03:47 2023 -0800 Update metaformers.py commit a3aee37c35985c01ca07902d860f809b648c612c Author: Fredo Guan <fredo.guan@hotmail.com> Date: Fri Feb 10 00:32:04 2023 -0800 Update metaformers.py commit f938beb81b4f46851d6d6f04ae7a9a74871ee40d Author: Fredo Guan <fredo.guan@hotmail.com> Date: Fri Feb 10 00:24:58 2023 -0800 Update metaformers.py commit 10bde717e51c95cdf20135c8bba77a7a1b00d78c Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 02:11:28 2023 -0800 Update metaformers.py commit 39274bd45e78b8ead0509367f800121f0d7c25f4 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 02:06:58 2023 -0800 Update metaformers.py commit a2329ab8ec00d0ebc00979690293c3887cc44a4c Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 02:03:34 2023 -0800 Update metaformers.py commit 53b8ce5b8a6b6d828de61788bcc2e6043ebb3081 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 02:02:37 2023 -0800 Update metaformers.py commit ab6225b9414f534815958036f6d5a392038d7ab2 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 01:04:55 2023 -0800 try NHWC commit 02fcc30eaa67a3c92cae56f3062b2542c32c9283 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sat Feb 4 23:47:06 2023 -0800 Update metaformers.py commit 366aae93047934bd3d7d37a077e713d424fa429c Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sat Feb 4 23:37:30 2023 -0800 Stem/Downsample rework commit 26a8e481a5cb2a32004a796bc25c6800cd2fb7b7 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Wed Feb 1 07:42:07 2023 -0800 Update metaformers.py commit a913f5d4384aa4b2f62fdab46254ae3772df00ee Author: Fredo Guan <fredo.guan@hotmail.com> Date: Wed Feb 1 07:41:24 2023 -0800 Update metaformers.py * Update metaformers.py * Update metaformers.py * channels first for whole network * Channels first * Update metaformers.py * Use buffer for randformer * Update metaformers.py * Remove einsum * don't test randformer for feature extraction * arbitrary input sizes for randformer * Squashed commit of the following: commit 6c089ca4325ab10942fe56e0999dcc1a11e1d2f0 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 02:11:17 2023 -0800 Update metaformers.py commit 521528a900e49ef8f462f5ccd795efb3a5d14214 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 02:06:08 2023 -0800 Update metaformers.py commit 3827eec7963698ff727fbb13ace53594ceb374d5 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 02:03:08 2023 -0800 Update metaformers.py commit ac1c6fea8adcd846e031ea0f5fa81ffe63d3c4bb Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 02:01:04 2023 -0800 Update metaformers.py commit 26f3d343cdc46183543f83482187f669f3181ddf Merge: d577129 f736730 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 01:57:29 2023 -0800 Merge branch 'metaformer_workspace' of https://github.com/fffffgggg54/pytorch-image-models into metaformer_workspace commit d577129aaa23fb348a8bb93bcd17cf1d5a4e8ff8 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 01:57:20 2023 -0800 Update metaformers.py commit f7367304e8f3b7a9a7f16e0a032bb72546afcc2a Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 01:56:11 2023 -0800 Metaformer baselines for vision (#12) * formatting, cleanup, fix dropout * fix regression, pass kwargs * fix poolformerv1 weights, formatting * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * some cleanup * SDPA from ViT, fix imports * Update metaformers.py * fix head reset * fast norm bias patch for metaformers * Metaformer refactor, remove rand/ident models, fix issues, remove old poolformer * Switch to hub weights --------- Co-authored-by: Fredo Guan <fredo.guan@hotmail.com>
2023-05-06 02:18:26 +08:00
model_kwargs = dict(
depths=[4, 4, 12, 4],
dims=[64, 128, 320, 512],
downsample_norm=None,
mlp_act=nn.GELU,
mlp_bias=True,
norm_layers=GroupNorm1,
layer_scale_init_values=1e-5,
res_scale_init_values=None,
use_mlp_head=False,
**kwargs)
return _create_metaformer('poolformer_s24', pretrained=pretrained, **model_kwargs)
@register_model
def poolformer_s36(pretrained=False, **kwargs) -> MetaFormer:
Metaformer baselines for vision (final PR with cleanup) (#1793) * update * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * merge with poolformer, initial version * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Revert "Update metaformers.py" This reverts commit 2916f37f8d862cd4fcbc86c858b23894daec3339. * Revert "Update metaformers.py" This reverts commit 1d882eb494caf5b5a3a1e9c7442d883e1707998e. * Revert "Update metaformers.py" This reverts commit 2209d0830eed9b87149df4a1f25f65da46d47f4b. * Revert "Update metaformers.py" This reverts commit 32bede4e279ee1027a63d5b55591153e53c209ec. * Revert "Update metaformers.py" This reverts commit 4ed934e00068be576881a87d5218b355ca01a6be. * Revert "Update metaformers.py" This reverts commit 3f0b07536764c47af42290a218a15097b5cec1a0. * Revert "Update metaformers.py" This reverts commit 2fef9006d72824789b733dd8dbc20b21b79add0b. * Update metaformers.py * Update metaformers.py * rename model * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Stem/Downsample rework * Update metaformers.py * try NHWC * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Squashed commit of the following: commit b7696a30a772dbbb2e00d81e7096c24dac97df73 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Fri Feb 10 01:46:44 2023 -0800 Update metaformers.py commit 41fe5c36263b40a6cd7caddb85b10c5d82d48023 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Fri Feb 10 01:03:47 2023 -0800 Update metaformers.py commit a3aee37c35985c01ca07902d860f809b648c612c Author: Fredo Guan <fredo.guan@hotmail.com> Date: Fri Feb 10 00:32:04 2023 -0800 Update metaformers.py commit f938beb81b4f46851d6d6f04ae7a9a74871ee40d Author: Fredo Guan <fredo.guan@hotmail.com> Date: Fri Feb 10 00:24:58 2023 -0800 Update metaformers.py commit 10bde717e51c95cdf20135c8bba77a7a1b00d78c Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 02:11:28 2023 -0800 Update metaformers.py commit 39274bd45e78b8ead0509367f800121f0d7c25f4 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 02:06:58 2023 -0800 Update metaformers.py commit a2329ab8ec00d0ebc00979690293c3887cc44a4c Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 02:03:34 2023 -0800 Update metaformers.py commit 53b8ce5b8a6b6d828de61788bcc2e6043ebb3081 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 02:02:37 2023 -0800 Update metaformers.py commit ab6225b9414f534815958036f6d5a392038d7ab2 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 01:04:55 2023 -0800 try NHWC commit 02fcc30eaa67a3c92cae56f3062b2542c32c9283 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sat Feb 4 23:47:06 2023 -0800 Update metaformers.py commit 366aae93047934bd3d7d37a077e713d424fa429c Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sat Feb 4 23:37:30 2023 -0800 Stem/Downsample rework commit 26a8e481a5cb2a32004a796bc25c6800cd2fb7b7 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Wed Feb 1 07:42:07 2023 -0800 Update metaformers.py commit a913f5d4384aa4b2f62fdab46254ae3772df00ee Author: Fredo Guan <fredo.guan@hotmail.com> Date: Wed Feb 1 07:41:24 2023 -0800 Update metaformers.py * Update metaformers.py * Update metaformers.py * channels first for whole network * Channels first * Update metaformers.py * Use buffer for randformer * Update metaformers.py * Remove einsum * don't test randformer for feature extraction * arbitrary input sizes for randformer * Squashed commit of the following: commit 6c089ca4325ab10942fe56e0999dcc1a11e1d2f0 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 02:11:17 2023 -0800 Update metaformers.py commit 521528a900e49ef8f462f5ccd795efb3a5d14214 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 02:06:08 2023 -0800 Update metaformers.py commit 3827eec7963698ff727fbb13ace53594ceb374d5 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 02:03:08 2023 -0800 Update metaformers.py commit ac1c6fea8adcd846e031ea0f5fa81ffe63d3c4bb Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 02:01:04 2023 -0800 Update metaformers.py commit 26f3d343cdc46183543f83482187f669f3181ddf Merge: d577129 f736730 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 01:57:29 2023 -0800 Merge branch 'metaformer_workspace' of https://github.com/fffffgggg54/pytorch-image-models into metaformer_workspace commit d577129aaa23fb348a8bb93bcd17cf1d5a4e8ff8 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 01:57:20 2023 -0800 Update metaformers.py commit f7367304e8f3b7a9a7f16e0a032bb72546afcc2a Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 01:56:11 2023 -0800 Metaformer baselines for vision (#12) * formatting, cleanup, fix dropout * fix regression, pass kwargs * fix poolformerv1 weights, formatting * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * some cleanup * SDPA from ViT, fix imports * Update metaformers.py * fix head reset * fast norm bias patch for metaformers * Metaformer refactor, remove rand/ident models, fix issues, remove old poolformer * Switch to hub weights --------- Co-authored-by: Fredo Guan <fredo.guan@hotmail.com>
2023-05-06 02:18:26 +08:00
model_kwargs = dict(
depths=[6, 6, 18, 6],
dims=[64, 128, 320, 512],
downsample_norm=None,
mlp_act=nn.GELU,
mlp_bias=True,
norm_layers=GroupNorm1,
layer_scale_init_values=1e-6,
res_scale_init_values=None,
use_mlp_head=False,
**kwargs)
return _create_metaformer('poolformer_s36', pretrained=pretrained, **model_kwargs)
@register_model
def poolformer_m36(pretrained=False, **kwargs) -> MetaFormer:
Metaformer baselines for vision (final PR with cleanup) (#1793) * update * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * merge with poolformer, initial version * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Revert "Update metaformers.py" This reverts commit 2916f37f8d862cd4fcbc86c858b23894daec3339. * Revert "Update metaformers.py" This reverts commit 1d882eb494caf5b5a3a1e9c7442d883e1707998e. * Revert "Update metaformers.py" This reverts commit 2209d0830eed9b87149df4a1f25f65da46d47f4b. * Revert "Update metaformers.py" This reverts commit 32bede4e279ee1027a63d5b55591153e53c209ec. * Revert "Update metaformers.py" This reverts commit 4ed934e00068be576881a87d5218b355ca01a6be. * Revert "Update metaformers.py" This reverts commit 3f0b07536764c47af42290a218a15097b5cec1a0. * Revert "Update metaformers.py" This reverts commit 2fef9006d72824789b733dd8dbc20b21b79add0b. * Update metaformers.py * Update metaformers.py * rename model * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Stem/Downsample rework * Update metaformers.py * try NHWC * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Squashed commit of the following: commit b7696a30a772dbbb2e00d81e7096c24dac97df73 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Fri Feb 10 01:46:44 2023 -0800 Update metaformers.py commit 41fe5c36263b40a6cd7caddb85b10c5d82d48023 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Fri Feb 10 01:03:47 2023 -0800 Update metaformers.py commit a3aee37c35985c01ca07902d860f809b648c612c Author: Fredo Guan <fredo.guan@hotmail.com> Date: Fri Feb 10 00:32:04 2023 -0800 Update metaformers.py commit f938beb81b4f46851d6d6f04ae7a9a74871ee40d Author: Fredo Guan <fredo.guan@hotmail.com> Date: Fri Feb 10 00:24:58 2023 -0800 Update metaformers.py commit 10bde717e51c95cdf20135c8bba77a7a1b00d78c Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 02:11:28 2023 -0800 Update metaformers.py commit 39274bd45e78b8ead0509367f800121f0d7c25f4 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 02:06:58 2023 -0800 Update metaformers.py commit a2329ab8ec00d0ebc00979690293c3887cc44a4c Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 02:03:34 2023 -0800 Update metaformers.py commit 53b8ce5b8a6b6d828de61788bcc2e6043ebb3081 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 02:02:37 2023 -0800 Update metaformers.py commit ab6225b9414f534815958036f6d5a392038d7ab2 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 01:04:55 2023 -0800 try NHWC commit 02fcc30eaa67a3c92cae56f3062b2542c32c9283 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sat Feb 4 23:47:06 2023 -0800 Update metaformers.py commit 366aae93047934bd3d7d37a077e713d424fa429c Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sat Feb 4 23:37:30 2023 -0800 Stem/Downsample rework commit 26a8e481a5cb2a32004a796bc25c6800cd2fb7b7 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Wed Feb 1 07:42:07 2023 -0800 Update metaformers.py commit a913f5d4384aa4b2f62fdab46254ae3772df00ee Author: Fredo Guan <fredo.guan@hotmail.com> Date: Wed Feb 1 07:41:24 2023 -0800 Update metaformers.py * Update metaformers.py * Update metaformers.py * channels first for whole network * Channels first * Update metaformers.py * Use buffer for randformer * Update metaformers.py * Remove einsum * don't test randformer for feature extraction * arbitrary input sizes for randformer * Squashed commit of the following: commit 6c089ca4325ab10942fe56e0999dcc1a11e1d2f0 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 02:11:17 2023 -0800 Update metaformers.py commit 521528a900e49ef8f462f5ccd795efb3a5d14214 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 02:06:08 2023 -0800 Update metaformers.py commit 3827eec7963698ff727fbb13ace53594ceb374d5 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 02:03:08 2023 -0800 Update metaformers.py commit ac1c6fea8adcd846e031ea0f5fa81ffe63d3c4bb Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 02:01:04 2023 -0800 Update metaformers.py commit 26f3d343cdc46183543f83482187f669f3181ddf Merge: d577129 f736730 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 01:57:29 2023 -0800 Merge branch 'metaformer_workspace' of https://github.com/fffffgggg54/pytorch-image-models into metaformer_workspace commit d577129aaa23fb348a8bb93bcd17cf1d5a4e8ff8 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 01:57:20 2023 -0800 Update metaformers.py commit f7367304e8f3b7a9a7f16e0a032bb72546afcc2a Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 01:56:11 2023 -0800 Metaformer baselines for vision (#12) * formatting, cleanup, fix dropout * fix regression, pass kwargs * fix poolformerv1 weights, formatting * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * some cleanup * SDPA from ViT, fix imports * Update metaformers.py * fix head reset * fast norm bias patch for metaformers * Metaformer refactor, remove rand/ident models, fix issues, remove old poolformer * Switch to hub weights --------- Co-authored-by: Fredo Guan <fredo.guan@hotmail.com>
2023-05-06 02:18:26 +08:00
model_kwargs = dict(
depths=[6, 6, 18, 6],
dims=[96, 192, 384, 768],
downsample_norm=None,
mlp_act=nn.GELU,
mlp_bias=True,
norm_layers=GroupNorm1,
layer_scale_init_values=1e-6,
res_scale_init_values=None,
use_mlp_head=False,
**kwargs)
return _create_metaformer('poolformer_m36', pretrained=pretrained, **model_kwargs)
@register_model
def poolformer_m48(pretrained=False, **kwargs) -> MetaFormer:
Metaformer baselines for vision (final PR with cleanup) (#1793) * update * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * merge with poolformer, initial version * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Revert "Update metaformers.py" This reverts commit 2916f37f8d862cd4fcbc86c858b23894daec3339. * Revert "Update metaformers.py" This reverts commit 1d882eb494caf5b5a3a1e9c7442d883e1707998e. * Revert "Update metaformers.py" This reverts commit 2209d0830eed9b87149df4a1f25f65da46d47f4b. * Revert "Update metaformers.py" This reverts commit 32bede4e279ee1027a63d5b55591153e53c209ec. * Revert "Update metaformers.py" This reverts commit 4ed934e00068be576881a87d5218b355ca01a6be. * Revert "Update metaformers.py" This reverts commit 3f0b07536764c47af42290a218a15097b5cec1a0. * Revert "Update metaformers.py" This reverts commit 2fef9006d72824789b733dd8dbc20b21b79add0b. * Update metaformers.py * Update metaformers.py * rename model * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Stem/Downsample rework * Update metaformers.py * try NHWC * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Squashed commit of the following: commit b7696a30a772dbbb2e00d81e7096c24dac97df73 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Fri Feb 10 01:46:44 2023 -0800 Update metaformers.py commit 41fe5c36263b40a6cd7caddb85b10c5d82d48023 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Fri Feb 10 01:03:47 2023 -0800 Update metaformers.py commit a3aee37c35985c01ca07902d860f809b648c612c Author: Fredo Guan <fredo.guan@hotmail.com> Date: Fri Feb 10 00:32:04 2023 -0800 Update metaformers.py commit f938beb81b4f46851d6d6f04ae7a9a74871ee40d Author: Fredo Guan <fredo.guan@hotmail.com> Date: Fri Feb 10 00:24:58 2023 -0800 Update metaformers.py commit 10bde717e51c95cdf20135c8bba77a7a1b00d78c Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 02:11:28 2023 -0800 Update metaformers.py commit 39274bd45e78b8ead0509367f800121f0d7c25f4 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 02:06:58 2023 -0800 Update metaformers.py commit a2329ab8ec00d0ebc00979690293c3887cc44a4c Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 02:03:34 2023 -0800 Update metaformers.py commit 53b8ce5b8a6b6d828de61788bcc2e6043ebb3081 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 02:02:37 2023 -0800 Update metaformers.py commit ab6225b9414f534815958036f6d5a392038d7ab2 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 01:04:55 2023 -0800 try NHWC commit 02fcc30eaa67a3c92cae56f3062b2542c32c9283 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sat Feb 4 23:47:06 2023 -0800 Update metaformers.py commit 366aae93047934bd3d7d37a077e713d424fa429c Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sat Feb 4 23:37:30 2023 -0800 Stem/Downsample rework commit 26a8e481a5cb2a32004a796bc25c6800cd2fb7b7 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Wed Feb 1 07:42:07 2023 -0800 Update metaformers.py commit a913f5d4384aa4b2f62fdab46254ae3772df00ee Author: Fredo Guan <fredo.guan@hotmail.com> Date: Wed Feb 1 07:41:24 2023 -0800 Update metaformers.py * Update metaformers.py * Update metaformers.py * channels first for whole network * Channels first * Update metaformers.py * Use buffer for randformer * Update metaformers.py * Remove einsum * don't test randformer for feature extraction * arbitrary input sizes for randformer * Squashed commit of the following: commit 6c089ca4325ab10942fe56e0999dcc1a11e1d2f0 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 02:11:17 2023 -0800 Update metaformers.py commit 521528a900e49ef8f462f5ccd795efb3a5d14214 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 02:06:08 2023 -0800 Update metaformers.py commit 3827eec7963698ff727fbb13ace53594ceb374d5 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 02:03:08 2023 -0800 Update metaformers.py commit ac1c6fea8adcd846e031ea0f5fa81ffe63d3c4bb Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 02:01:04 2023 -0800 Update metaformers.py commit 26f3d343cdc46183543f83482187f669f3181ddf Merge: d577129 f736730 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 01:57:29 2023 -0800 Merge branch 'metaformer_workspace' of https://github.com/fffffgggg54/pytorch-image-models into metaformer_workspace commit d577129aaa23fb348a8bb93bcd17cf1d5a4e8ff8 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 01:57:20 2023 -0800 Update metaformers.py commit f7367304e8f3b7a9a7f16e0a032bb72546afcc2a Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 01:56:11 2023 -0800 Metaformer baselines for vision (#12) * formatting, cleanup, fix dropout * fix regression, pass kwargs * fix poolformerv1 weights, formatting * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * some cleanup * SDPA from ViT, fix imports * Update metaformers.py * fix head reset * fast norm bias patch for metaformers * Metaformer refactor, remove rand/ident models, fix issues, remove old poolformer * Switch to hub weights --------- Co-authored-by: Fredo Guan <fredo.guan@hotmail.com>
2023-05-06 02:18:26 +08:00
model_kwargs = dict(
depths=[8, 8, 24, 8],
dims=[96, 192, 384, 768],
downsample_norm=None,
mlp_act=nn.GELU,
mlp_bias=True,
norm_layers=GroupNorm1,
layer_scale_init_values=1e-6,
res_scale_init_values=None,
use_mlp_head=False,
**kwargs)
return _create_metaformer('poolformer_m48', pretrained=pretrained, **model_kwargs)
@register_model
def poolformerv2_s12(pretrained=False, **kwargs) -> MetaFormer:
Metaformer baselines for vision (final PR with cleanup) (#1793) * update * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * merge with poolformer, initial version * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Revert "Update metaformers.py" This reverts commit 2916f37f8d862cd4fcbc86c858b23894daec3339. * Revert "Update metaformers.py" This reverts commit 1d882eb494caf5b5a3a1e9c7442d883e1707998e. * Revert "Update metaformers.py" This reverts commit 2209d0830eed9b87149df4a1f25f65da46d47f4b. * Revert "Update metaformers.py" This reverts commit 32bede4e279ee1027a63d5b55591153e53c209ec. * Revert "Update metaformers.py" This reverts commit 4ed934e00068be576881a87d5218b355ca01a6be. * Revert "Update metaformers.py" This reverts commit 3f0b07536764c47af42290a218a15097b5cec1a0. * Revert "Update metaformers.py" This reverts commit 2fef9006d72824789b733dd8dbc20b21b79add0b. * Update metaformers.py * Update metaformers.py * rename model * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Stem/Downsample rework * Update metaformers.py * try NHWC * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Squashed commit of the following: commit b7696a30a772dbbb2e00d81e7096c24dac97df73 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Fri Feb 10 01:46:44 2023 -0800 Update metaformers.py commit 41fe5c36263b40a6cd7caddb85b10c5d82d48023 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Fri Feb 10 01:03:47 2023 -0800 Update metaformers.py commit a3aee37c35985c01ca07902d860f809b648c612c Author: Fredo Guan <fredo.guan@hotmail.com> Date: Fri Feb 10 00:32:04 2023 -0800 Update metaformers.py commit f938beb81b4f46851d6d6f04ae7a9a74871ee40d Author: Fredo Guan <fredo.guan@hotmail.com> Date: Fri Feb 10 00:24:58 2023 -0800 Update metaformers.py commit 10bde717e51c95cdf20135c8bba77a7a1b00d78c Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 02:11:28 2023 -0800 Update metaformers.py commit 39274bd45e78b8ead0509367f800121f0d7c25f4 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 02:06:58 2023 -0800 Update metaformers.py commit a2329ab8ec00d0ebc00979690293c3887cc44a4c Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 02:03:34 2023 -0800 Update metaformers.py commit 53b8ce5b8a6b6d828de61788bcc2e6043ebb3081 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 02:02:37 2023 -0800 Update metaformers.py commit ab6225b9414f534815958036f6d5a392038d7ab2 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 01:04:55 2023 -0800 try NHWC commit 02fcc30eaa67a3c92cae56f3062b2542c32c9283 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sat Feb 4 23:47:06 2023 -0800 Update metaformers.py commit 366aae93047934bd3d7d37a077e713d424fa429c Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sat Feb 4 23:37:30 2023 -0800 Stem/Downsample rework commit 26a8e481a5cb2a32004a796bc25c6800cd2fb7b7 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Wed Feb 1 07:42:07 2023 -0800 Update metaformers.py commit a913f5d4384aa4b2f62fdab46254ae3772df00ee Author: Fredo Guan <fredo.guan@hotmail.com> Date: Wed Feb 1 07:41:24 2023 -0800 Update metaformers.py * Update metaformers.py * Update metaformers.py * channels first for whole network * Channels first * Update metaformers.py * Use buffer for randformer * Update metaformers.py * Remove einsum * don't test randformer for feature extraction * arbitrary input sizes for randformer * Squashed commit of the following: commit 6c089ca4325ab10942fe56e0999dcc1a11e1d2f0 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 02:11:17 2023 -0800 Update metaformers.py commit 521528a900e49ef8f462f5ccd795efb3a5d14214 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 02:06:08 2023 -0800 Update metaformers.py commit 3827eec7963698ff727fbb13ace53594ceb374d5 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 02:03:08 2023 -0800 Update metaformers.py commit ac1c6fea8adcd846e031ea0f5fa81ffe63d3c4bb Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 02:01:04 2023 -0800 Update metaformers.py commit 26f3d343cdc46183543f83482187f669f3181ddf Merge: d577129 f736730 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 01:57:29 2023 -0800 Merge branch 'metaformer_workspace' of https://github.com/fffffgggg54/pytorch-image-models into metaformer_workspace commit d577129aaa23fb348a8bb93bcd17cf1d5a4e8ff8 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 01:57:20 2023 -0800 Update metaformers.py commit f7367304e8f3b7a9a7f16e0a032bb72546afcc2a Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 01:56:11 2023 -0800 Metaformer baselines for vision (#12) * formatting, cleanup, fix dropout * fix regression, pass kwargs * fix poolformerv1 weights, formatting * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * some cleanup * SDPA from ViT, fix imports * Update metaformers.py * fix head reset * fast norm bias patch for metaformers * Metaformer refactor, remove rand/ident models, fix issues, remove old poolformer * Switch to hub weights --------- Co-authored-by: Fredo Guan <fredo.guan@hotmail.com>
2023-05-06 02:18:26 +08:00
model_kwargs = dict(
depths=[2, 2, 6, 2],
dims=[64, 128, 320, 512],
norm_layers=GroupNorm1NoBias,
use_mlp_head=False,
**kwargs)
return _create_metaformer('poolformerv2_s12', pretrained=pretrained, **model_kwargs)
@register_model
def poolformerv2_s24(pretrained=False, **kwargs) -> MetaFormer:
Metaformer baselines for vision (final PR with cleanup) (#1793) * update * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * merge with poolformer, initial version * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Revert "Update metaformers.py" This reverts commit 2916f37f8d862cd4fcbc86c858b23894daec3339. * Revert "Update metaformers.py" This reverts commit 1d882eb494caf5b5a3a1e9c7442d883e1707998e. * Revert "Update metaformers.py" This reverts commit 2209d0830eed9b87149df4a1f25f65da46d47f4b. * Revert "Update metaformers.py" This reverts commit 32bede4e279ee1027a63d5b55591153e53c209ec. * Revert "Update metaformers.py" This reverts commit 4ed934e00068be576881a87d5218b355ca01a6be. * Revert "Update metaformers.py" This reverts commit 3f0b07536764c47af42290a218a15097b5cec1a0. * Revert "Update metaformers.py" This reverts commit 2fef9006d72824789b733dd8dbc20b21b79add0b. * Update metaformers.py * Update metaformers.py * rename model * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Stem/Downsample rework * Update metaformers.py * try NHWC * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Squashed commit of the following: commit b7696a30a772dbbb2e00d81e7096c24dac97df73 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Fri Feb 10 01:46:44 2023 -0800 Update metaformers.py commit 41fe5c36263b40a6cd7caddb85b10c5d82d48023 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Fri Feb 10 01:03:47 2023 -0800 Update metaformers.py commit a3aee37c35985c01ca07902d860f809b648c612c Author: Fredo Guan <fredo.guan@hotmail.com> Date: Fri Feb 10 00:32:04 2023 -0800 Update metaformers.py commit f938beb81b4f46851d6d6f04ae7a9a74871ee40d Author: Fredo Guan <fredo.guan@hotmail.com> Date: Fri Feb 10 00:24:58 2023 -0800 Update metaformers.py commit 10bde717e51c95cdf20135c8bba77a7a1b00d78c Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 02:11:28 2023 -0800 Update metaformers.py commit 39274bd45e78b8ead0509367f800121f0d7c25f4 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 02:06:58 2023 -0800 Update metaformers.py commit a2329ab8ec00d0ebc00979690293c3887cc44a4c Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 02:03:34 2023 -0800 Update metaformers.py commit 53b8ce5b8a6b6d828de61788bcc2e6043ebb3081 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 02:02:37 2023 -0800 Update metaformers.py commit ab6225b9414f534815958036f6d5a392038d7ab2 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 01:04:55 2023 -0800 try NHWC commit 02fcc30eaa67a3c92cae56f3062b2542c32c9283 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sat Feb 4 23:47:06 2023 -0800 Update metaformers.py commit 366aae93047934bd3d7d37a077e713d424fa429c Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sat Feb 4 23:37:30 2023 -0800 Stem/Downsample rework commit 26a8e481a5cb2a32004a796bc25c6800cd2fb7b7 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Wed Feb 1 07:42:07 2023 -0800 Update metaformers.py commit a913f5d4384aa4b2f62fdab46254ae3772df00ee Author: Fredo Guan <fredo.guan@hotmail.com> Date: Wed Feb 1 07:41:24 2023 -0800 Update metaformers.py * Update metaformers.py * Update metaformers.py * channels first for whole network * Channels first * Update metaformers.py * Use buffer for randformer * Update metaformers.py * Remove einsum * don't test randformer for feature extraction * arbitrary input sizes for randformer * Squashed commit of the following: commit 6c089ca4325ab10942fe56e0999dcc1a11e1d2f0 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 02:11:17 2023 -0800 Update metaformers.py commit 521528a900e49ef8f462f5ccd795efb3a5d14214 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 02:06:08 2023 -0800 Update metaformers.py commit 3827eec7963698ff727fbb13ace53594ceb374d5 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 02:03:08 2023 -0800 Update metaformers.py commit ac1c6fea8adcd846e031ea0f5fa81ffe63d3c4bb Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 02:01:04 2023 -0800 Update metaformers.py commit 26f3d343cdc46183543f83482187f669f3181ddf Merge: d577129 f736730 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 01:57:29 2023 -0800 Merge branch 'metaformer_workspace' of https://github.com/fffffgggg54/pytorch-image-models into metaformer_workspace commit d577129aaa23fb348a8bb93bcd17cf1d5a4e8ff8 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 01:57:20 2023 -0800 Update metaformers.py commit f7367304e8f3b7a9a7f16e0a032bb72546afcc2a Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 01:56:11 2023 -0800 Metaformer baselines for vision (#12) * formatting, cleanup, fix dropout * fix regression, pass kwargs * fix poolformerv1 weights, formatting * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * some cleanup * SDPA from ViT, fix imports * Update metaformers.py * fix head reset * fast norm bias patch for metaformers * Metaformer refactor, remove rand/ident models, fix issues, remove old poolformer * Switch to hub weights --------- Co-authored-by: Fredo Guan <fredo.guan@hotmail.com>
2023-05-06 02:18:26 +08:00
model_kwargs = dict(
depths=[4, 4, 12, 4],
dims=[64, 128, 320, 512],
norm_layers=GroupNorm1NoBias,
use_mlp_head=False,
**kwargs)
return _create_metaformer('poolformerv2_s24', pretrained=pretrained, **model_kwargs)
@register_model
def poolformerv2_s36(pretrained=False, **kwargs) -> MetaFormer:
Metaformer baselines for vision (final PR with cleanup) (#1793) * update * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * merge with poolformer, initial version * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Revert "Update metaformers.py" This reverts commit 2916f37f8d862cd4fcbc86c858b23894daec3339. * Revert "Update metaformers.py" This reverts commit 1d882eb494caf5b5a3a1e9c7442d883e1707998e. * Revert "Update metaformers.py" This reverts commit 2209d0830eed9b87149df4a1f25f65da46d47f4b. * Revert "Update metaformers.py" This reverts commit 32bede4e279ee1027a63d5b55591153e53c209ec. * Revert "Update metaformers.py" This reverts commit 4ed934e00068be576881a87d5218b355ca01a6be. * Revert "Update metaformers.py" This reverts commit 3f0b07536764c47af42290a218a15097b5cec1a0. * Revert "Update metaformers.py" This reverts commit 2fef9006d72824789b733dd8dbc20b21b79add0b. * Update metaformers.py * Update metaformers.py * rename model * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Stem/Downsample rework * Update metaformers.py * try NHWC * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Squashed commit of the following: commit b7696a30a772dbbb2e00d81e7096c24dac97df73 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Fri Feb 10 01:46:44 2023 -0800 Update metaformers.py commit 41fe5c36263b40a6cd7caddb85b10c5d82d48023 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Fri Feb 10 01:03:47 2023 -0800 Update metaformers.py commit a3aee37c35985c01ca07902d860f809b648c612c Author: Fredo Guan <fredo.guan@hotmail.com> Date: Fri Feb 10 00:32:04 2023 -0800 Update metaformers.py commit f938beb81b4f46851d6d6f04ae7a9a74871ee40d Author: Fredo Guan <fredo.guan@hotmail.com> Date: Fri Feb 10 00:24:58 2023 -0800 Update metaformers.py commit 10bde717e51c95cdf20135c8bba77a7a1b00d78c Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 02:11:28 2023 -0800 Update metaformers.py commit 39274bd45e78b8ead0509367f800121f0d7c25f4 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 02:06:58 2023 -0800 Update metaformers.py commit a2329ab8ec00d0ebc00979690293c3887cc44a4c Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 02:03:34 2023 -0800 Update metaformers.py commit 53b8ce5b8a6b6d828de61788bcc2e6043ebb3081 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 02:02:37 2023 -0800 Update metaformers.py commit ab6225b9414f534815958036f6d5a392038d7ab2 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 01:04:55 2023 -0800 try NHWC commit 02fcc30eaa67a3c92cae56f3062b2542c32c9283 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sat Feb 4 23:47:06 2023 -0800 Update metaformers.py commit 366aae93047934bd3d7d37a077e713d424fa429c Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sat Feb 4 23:37:30 2023 -0800 Stem/Downsample rework commit 26a8e481a5cb2a32004a796bc25c6800cd2fb7b7 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Wed Feb 1 07:42:07 2023 -0800 Update metaformers.py commit a913f5d4384aa4b2f62fdab46254ae3772df00ee Author: Fredo Guan <fredo.guan@hotmail.com> Date: Wed Feb 1 07:41:24 2023 -0800 Update metaformers.py * Update metaformers.py * Update metaformers.py * channels first for whole network * Channels first * Update metaformers.py * Use buffer for randformer * Update metaformers.py * Remove einsum * don't test randformer for feature extraction * arbitrary input sizes for randformer * Squashed commit of the following: commit 6c089ca4325ab10942fe56e0999dcc1a11e1d2f0 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 02:11:17 2023 -0800 Update metaformers.py commit 521528a900e49ef8f462f5ccd795efb3a5d14214 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 02:06:08 2023 -0800 Update metaformers.py commit 3827eec7963698ff727fbb13ace53594ceb374d5 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 02:03:08 2023 -0800 Update metaformers.py commit ac1c6fea8adcd846e031ea0f5fa81ffe63d3c4bb Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 02:01:04 2023 -0800 Update metaformers.py commit 26f3d343cdc46183543f83482187f669f3181ddf Merge: d577129 f736730 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 01:57:29 2023 -0800 Merge branch 'metaformer_workspace' of https://github.com/fffffgggg54/pytorch-image-models into metaformer_workspace commit d577129aaa23fb348a8bb93bcd17cf1d5a4e8ff8 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 01:57:20 2023 -0800 Update metaformers.py commit f7367304e8f3b7a9a7f16e0a032bb72546afcc2a Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 01:56:11 2023 -0800 Metaformer baselines for vision (#12) * formatting, cleanup, fix dropout * fix regression, pass kwargs * fix poolformerv1 weights, formatting * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * some cleanup * SDPA from ViT, fix imports * Update metaformers.py * fix head reset * fast norm bias patch for metaformers * Metaformer refactor, remove rand/ident models, fix issues, remove old poolformer * Switch to hub weights --------- Co-authored-by: Fredo Guan <fredo.guan@hotmail.com>
2023-05-06 02:18:26 +08:00
model_kwargs = dict(
depths=[6, 6, 18, 6],
dims=[64, 128, 320, 512],
norm_layers=GroupNorm1NoBias,
use_mlp_head=False,
**kwargs)
return _create_metaformer('poolformerv2_s36', pretrained=pretrained, **model_kwargs)
@register_model
def poolformerv2_m36(pretrained=False, **kwargs) -> MetaFormer:
Metaformer baselines for vision (final PR with cleanup) (#1793) * update * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * merge with poolformer, initial version * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Revert "Update metaformers.py" This reverts commit 2916f37f8d862cd4fcbc86c858b23894daec3339. * Revert "Update metaformers.py" This reverts commit 1d882eb494caf5b5a3a1e9c7442d883e1707998e. * Revert "Update metaformers.py" This reverts commit 2209d0830eed9b87149df4a1f25f65da46d47f4b. * Revert "Update metaformers.py" This reverts commit 32bede4e279ee1027a63d5b55591153e53c209ec. * Revert "Update metaformers.py" This reverts commit 4ed934e00068be576881a87d5218b355ca01a6be. * Revert "Update metaformers.py" This reverts commit 3f0b07536764c47af42290a218a15097b5cec1a0. * Revert "Update metaformers.py" This reverts commit 2fef9006d72824789b733dd8dbc20b21b79add0b. * Update metaformers.py * Update metaformers.py * rename model * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Stem/Downsample rework * Update metaformers.py * try NHWC * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Squashed commit of the following: commit b7696a30a772dbbb2e00d81e7096c24dac97df73 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Fri Feb 10 01:46:44 2023 -0800 Update metaformers.py commit 41fe5c36263b40a6cd7caddb85b10c5d82d48023 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Fri Feb 10 01:03:47 2023 -0800 Update metaformers.py commit a3aee37c35985c01ca07902d860f809b648c612c Author: Fredo Guan <fredo.guan@hotmail.com> Date: Fri Feb 10 00:32:04 2023 -0800 Update metaformers.py commit f938beb81b4f46851d6d6f04ae7a9a74871ee40d Author: Fredo Guan <fredo.guan@hotmail.com> Date: Fri Feb 10 00:24:58 2023 -0800 Update metaformers.py commit 10bde717e51c95cdf20135c8bba77a7a1b00d78c Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 02:11:28 2023 -0800 Update metaformers.py commit 39274bd45e78b8ead0509367f800121f0d7c25f4 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 02:06:58 2023 -0800 Update metaformers.py commit a2329ab8ec00d0ebc00979690293c3887cc44a4c Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 02:03:34 2023 -0800 Update metaformers.py commit 53b8ce5b8a6b6d828de61788bcc2e6043ebb3081 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 02:02:37 2023 -0800 Update metaformers.py commit ab6225b9414f534815958036f6d5a392038d7ab2 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 01:04:55 2023 -0800 try NHWC commit 02fcc30eaa67a3c92cae56f3062b2542c32c9283 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sat Feb 4 23:47:06 2023 -0800 Update metaformers.py commit 366aae93047934bd3d7d37a077e713d424fa429c Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sat Feb 4 23:37:30 2023 -0800 Stem/Downsample rework commit 26a8e481a5cb2a32004a796bc25c6800cd2fb7b7 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Wed Feb 1 07:42:07 2023 -0800 Update metaformers.py commit a913f5d4384aa4b2f62fdab46254ae3772df00ee Author: Fredo Guan <fredo.guan@hotmail.com> Date: Wed Feb 1 07:41:24 2023 -0800 Update metaformers.py * Update metaformers.py * Update metaformers.py * channels first for whole network * Channels first * Update metaformers.py * Use buffer for randformer * Update metaformers.py * Remove einsum * don't test randformer for feature extraction * arbitrary input sizes for randformer * Squashed commit of the following: commit 6c089ca4325ab10942fe56e0999dcc1a11e1d2f0 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 02:11:17 2023 -0800 Update metaformers.py commit 521528a900e49ef8f462f5ccd795efb3a5d14214 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 02:06:08 2023 -0800 Update metaformers.py commit 3827eec7963698ff727fbb13ace53594ceb374d5 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 02:03:08 2023 -0800 Update metaformers.py commit ac1c6fea8adcd846e031ea0f5fa81ffe63d3c4bb Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 02:01:04 2023 -0800 Update metaformers.py commit 26f3d343cdc46183543f83482187f669f3181ddf Merge: d577129 f736730 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 01:57:29 2023 -0800 Merge branch 'metaformer_workspace' of https://github.com/fffffgggg54/pytorch-image-models into metaformer_workspace commit d577129aaa23fb348a8bb93bcd17cf1d5a4e8ff8 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 01:57:20 2023 -0800 Update metaformers.py commit f7367304e8f3b7a9a7f16e0a032bb72546afcc2a Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 01:56:11 2023 -0800 Metaformer baselines for vision (#12) * formatting, cleanup, fix dropout * fix regression, pass kwargs * fix poolformerv1 weights, formatting * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * some cleanup * SDPA from ViT, fix imports * Update metaformers.py * fix head reset * fast norm bias patch for metaformers * Metaformer refactor, remove rand/ident models, fix issues, remove old poolformer * Switch to hub weights --------- Co-authored-by: Fredo Guan <fredo.guan@hotmail.com>
2023-05-06 02:18:26 +08:00
model_kwargs = dict(
depths=[6, 6, 18, 6],
dims=[96, 192, 384, 768],
norm_layers=GroupNorm1NoBias,
use_mlp_head=False,
**kwargs)
return _create_metaformer('poolformerv2_m36', pretrained=pretrained, **model_kwargs)
@register_model
def poolformerv2_m48(pretrained=False, **kwargs) -> MetaFormer:
Metaformer baselines for vision (final PR with cleanup) (#1793) * update * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * merge with poolformer, initial version * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Revert "Update metaformers.py" This reverts commit 2916f37f8d862cd4fcbc86c858b23894daec3339. * Revert "Update metaformers.py" This reverts commit 1d882eb494caf5b5a3a1e9c7442d883e1707998e. * Revert "Update metaformers.py" This reverts commit 2209d0830eed9b87149df4a1f25f65da46d47f4b. * Revert "Update metaformers.py" This reverts commit 32bede4e279ee1027a63d5b55591153e53c209ec. * Revert "Update metaformers.py" This reverts commit 4ed934e00068be576881a87d5218b355ca01a6be. * Revert "Update metaformers.py" This reverts commit 3f0b07536764c47af42290a218a15097b5cec1a0. * Revert "Update metaformers.py" This reverts commit 2fef9006d72824789b733dd8dbc20b21b79add0b. * Update metaformers.py * Update metaformers.py * rename model * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Stem/Downsample rework * Update metaformers.py * try NHWC * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Squashed commit of the following: commit b7696a30a772dbbb2e00d81e7096c24dac97df73 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Fri Feb 10 01:46:44 2023 -0800 Update metaformers.py commit 41fe5c36263b40a6cd7caddb85b10c5d82d48023 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Fri Feb 10 01:03:47 2023 -0800 Update metaformers.py commit a3aee37c35985c01ca07902d860f809b648c612c Author: Fredo Guan <fredo.guan@hotmail.com> Date: Fri Feb 10 00:32:04 2023 -0800 Update metaformers.py commit f938beb81b4f46851d6d6f04ae7a9a74871ee40d Author: Fredo Guan <fredo.guan@hotmail.com> Date: Fri Feb 10 00:24:58 2023 -0800 Update metaformers.py commit 10bde717e51c95cdf20135c8bba77a7a1b00d78c Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 02:11:28 2023 -0800 Update metaformers.py commit 39274bd45e78b8ead0509367f800121f0d7c25f4 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 02:06:58 2023 -0800 Update metaformers.py commit a2329ab8ec00d0ebc00979690293c3887cc44a4c Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 02:03:34 2023 -0800 Update metaformers.py commit 53b8ce5b8a6b6d828de61788bcc2e6043ebb3081 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 02:02:37 2023 -0800 Update metaformers.py commit ab6225b9414f534815958036f6d5a392038d7ab2 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 01:04:55 2023 -0800 try NHWC commit 02fcc30eaa67a3c92cae56f3062b2542c32c9283 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sat Feb 4 23:47:06 2023 -0800 Update metaformers.py commit 366aae93047934bd3d7d37a077e713d424fa429c Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sat Feb 4 23:37:30 2023 -0800 Stem/Downsample rework commit 26a8e481a5cb2a32004a796bc25c6800cd2fb7b7 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Wed Feb 1 07:42:07 2023 -0800 Update metaformers.py commit a913f5d4384aa4b2f62fdab46254ae3772df00ee Author: Fredo Guan <fredo.guan@hotmail.com> Date: Wed Feb 1 07:41:24 2023 -0800 Update metaformers.py * Update metaformers.py * Update metaformers.py * channels first for whole network * Channels first * Update metaformers.py * Use buffer for randformer * Update metaformers.py * Remove einsum * don't test randformer for feature extraction * arbitrary input sizes for randformer * Squashed commit of the following: commit 6c089ca4325ab10942fe56e0999dcc1a11e1d2f0 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 02:11:17 2023 -0800 Update metaformers.py commit 521528a900e49ef8f462f5ccd795efb3a5d14214 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 02:06:08 2023 -0800 Update metaformers.py commit 3827eec7963698ff727fbb13ace53594ceb374d5 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 02:03:08 2023 -0800 Update metaformers.py commit ac1c6fea8adcd846e031ea0f5fa81ffe63d3c4bb Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 02:01:04 2023 -0800 Update metaformers.py commit 26f3d343cdc46183543f83482187f669f3181ddf Merge: d577129 f736730 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 01:57:29 2023 -0800 Merge branch 'metaformer_workspace' of https://github.com/fffffgggg54/pytorch-image-models into metaformer_workspace commit d577129aaa23fb348a8bb93bcd17cf1d5a4e8ff8 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 01:57:20 2023 -0800 Update metaformers.py commit f7367304e8f3b7a9a7f16e0a032bb72546afcc2a Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 01:56:11 2023 -0800 Metaformer baselines for vision (#12) * formatting, cleanup, fix dropout * fix regression, pass kwargs * fix poolformerv1 weights, formatting * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * some cleanup * SDPA from ViT, fix imports * Update metaformers.py * fix head reset * fast norm bias patch for metaformers * Metaformer refactor, remove rand/ident models, fix issues, remove old poolformer * Switch to hub weights --------- Co-authored-by: Fredo Guan <fredo.guan@hotmail.com>
2023-05-06 02:18:26 +08:00
model_kwargs = dict(
depths=[8, 8, 24, 8],
dims=[96, 192, 384, 768],
norm_layers=GroupNorm1NoBias,
use_mlp_head=False,
**kwargs)
return _create_metaformer('poolformerv2_m48', pretrained=pretrained, **model_kwargs)
@register_model
def convformer_s18(pretrained=False, **kwargs) -> MetaFormer:
Metaformer baselines for vision (final PR with cleanup) (#1793) * update * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * merge with poolformer, initial version * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Revert "Update metaformers.py" This reverts commit 2916f37f8d862cd4fcbc86c858b23894daec3339. * Revert "Update metaformers.py" This reverts commit 1d882eb494caf5b5a3a1e9c7442d883e1707998e. * Revert "Update metaformers.py" This reverts commit 2209d0830eed9b87149df4a1f25f65da46d47f4b. * Revert "Update metaformers.py" This reverts commit 32bede4e279ee1027a63d5b55591153e53c209ec. * Revert "Update metaformers.py" This reverts commit 4ed934e00068be576881a87d5218b355ca01a6be. * Revert "Update metaformers.py" This reverts commit 3f0b07536764c47af42290a218a15097b5cec1a0. * Revert "Update metaformers.py" This reverts commit 2fef9006d72824789b733dd8dbc20b21b79add0b. * Update metaformers.py * Update metaformers.py * rename model * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Stem/Downsample rework * Update metaformers.py * try NHWC * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Squashed commit of the following: commit b7696a30a772dbbb2e00d81e7096c24dac97df73 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Fri Feb 10 01:46:44 2023 -0800 Update metaformers.py commit 41fe5c36263b40a6cd7caddb85b10c5d82d48023 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Fri Feb 10 01:03:47 2023 -0800 Update metaformers.py commit a3aee37c35985c01ca07902d860f809b648c612c Author: Fredo Guan <fredo.guan@hotmail.com> Date: Fri Feb 10 00:32:04 2023 -0800 Update metaformers.py commit f938beb81b4f46851d6d6f04ae7a9a74871ee40d Author: Fredo Guan <fredo.guan@hotmail.com> Date: Fri Feb 10 00:24:58 2023 -0800 Update metaformers.py commit 10bde717e51c95cdf20135c8bba77a7a1b00d78c Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 02:11:28 2023 -0800 Update metaformers.py commit 39274bd45e78b8ead0509367f800121f0d7c25f4 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 02:06:58 2023 -0800 Update metaformers.py commit a2329ab8ec00d0ebc00979690293c3887cc44a4c Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 02:03:34 2023 -0800 Update metaformers.py commit 53b8ce5b8a6b6d828de61788bcc2e6043ebb3081 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 02:02:37 2023 -0800 Update metaformers.py commit ab6225b9414f534815958036f6d5a392038d7ab2 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 01:04:55 2023 -0800 try NHWC commit 02fcc30eaa67a3c92cae56f3062b2542c32c9283 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sat Feb 4 23:47:06 2023 -0800 Update metaformers.py commit 366aae93047934bd3d7d37a077e713d424fa429c Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sat Feb 4 23:37:30 2023 -0800 Stem/Downsample rework commit 26a8e481a5cb2a32004a796bc25c6800cd2fb7b7 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Wed Feb 1 07:42:07 2023 -0800 Update metaformers.py commit a913f5d4384aa4b2f62fdab46254ae3772df00ee Author: Fredo Guan <fredo.guan@hotmail.com> Date: Wed Feb 1 07:41:24 2023 -0800 Update metaformers.py * Update metaformers.py * Update metaformers.py * channels first for whole network * Channels first * Update metaformers.py * Use buffer for randformer * Update metaformers.py * Remove einsum * don't test randformer for feature extraction * arbitrary input sizes for randformer * Squashed commit of the following: commit 6c089ca4325ab10942fe56e0999dcc1a11e1d2f0 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 02:11:17 2023 -0800 Update metaformers.py commit 521528a900e49ef8f462f5ccd795efb3a5d14214 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 02:06:08 2023 -0800 Update metaformers.py commit 3827eec7963698ff727fbb13ace53594ceb374d5 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 02:03:08 2023 -0800 Update metaformers.py commit ac1c6fea8adcd846e031ea0f5fa81ffe63d3c4bb Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 02:01:04 2023 -0800 Update metaformers.py commit 26f3d343cdc46183543f83482187f669f3181ddf Merge: d577129 f736730 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 01:57:29 2023 -0800 Merge branch 'metaformer_workspace' of https://github.com/fffffgggg54/pytorch-image-models into metaformer_workspace commit d577129aaa23fb348a8bb93bcd17cf1d5a4e8ff8 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 01:57:20 2023 -0800 Update metaformers.py commit f7367304e8f3b7a9a7f16e0a032bb72546afcc2a Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 01:56:11 2023 -0800 Metaformer baselines for vision (#12) * formatting, cleanup, fix dropout * fix regression, pass kwargs * fix poolformerv1 weights, formatting * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * some cleanup * SDPA from ViT, fix imports * Update metaformers.py * fix head reset * fast norm bias patch for metaformers * Metaformer refactor, remove rand/ident models, fix issues, remove old poolformer * Switch to hub weights --------- Co-authored-by: Fredo Guan <fredo.guan@hotmail.com>
2023-05-06 02:18:26 +08:00
model_kwargs = dict(
depths=[3, 3, 9, 3],
dims=[64, 128, 320, 512],
token_mixers=SepConv,
norm_layers=LayerNorm2dNoBias,
**kwargs)
return _create_metaformer('convformer_s18', pretrained=pretrained, **model_kwargs)
@register_model
def convformer_s36(pretrained=False, **kwargs) -> MetaFormer:
Metaformer baselines for vision (final PR with cleanup) (#1793) * update * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * merge with poolformer, initial version * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Revert "Update metaformers.py" This reverts commit 2916f37f8d862cd4fcbc86c858b23894daec3339. * Revert "Update metaformers.py" This reverts commit 1d882eb494caf5b5a3a1e9c7442d883e1707998e. * Revert "Update metaformers.py" This reverts commit 2209d0830eed9b87149df4a1f25f65da46d47f4b. * Revert "Update metaformers.py" This reverts commit 32bede4e279ee1027a63d5b55591153e53c209ec. * Revert "Update metaformers.py" This reverts commit 4ed934e00068be576881a87d5218b355ca01a6be. * Revert "Update metaformers.py" This reverts commit 3f0b07536764c47af42290a218a15097b5cec1a0. * Revert "Update metaformers.py" This reverts commit 2fef9006d72824789b733dd8dbc20b21b79add0b. * Update metaformers.py * Update metaformers.py * rename model * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Stem/Downsample rework * Update metaformers.py * try NHWC * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Squashed commit of the following: commit b7696a30a772dbbb2e00d81e7096c24dac97df73 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Fri Feb 10 01:46:44 2023 -0800 Update metaformers.py commit 41fe5c36263b40a6cd7caddb85b10c5d82d48023 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Fri Feb 10 01:03:47 2023 -0800 Update metaformers.py commit a3aee37c35985c01ca07902d860f809b648c612c Author: Fredo Guan <fredo.guan@hotmail.com> Date: Fri Feb 10 00:32:04 2023 -0800 Update metaformers.py commit f938beb81b4f46851d6d6f04ae7a9a74871ee40d Author: Fredo Guan <fredo.guan@hotmail.com> Date: Fri Feb 10 00:24:58 2023 -0800 Update metaformers.py commit 10bde717e51c95cdf20135c8bba77a7a1b00d78c Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 02:11:28 2023 -0800 Update metaformers.py commit 39274bd45e78b8ead0509367f800121f0d7c25f4 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 02:06:58 2023 -0800 Update metaformers.py commit a2329ab8ec00d0ebc00979690293c3887cc44a4c Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 02:03:34 2023 -0800 Update metaformers.py commit 53b8ce5b8a6b6d828de61788bcc2e6043ebb3081 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 02:02:37 2023 -0800 Update metaformers.py commit ab6225b9414f534815958036f6d5a392038d7ab2 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 01:04:55 2023 -0800 try NHWC commit 02fcc30eaa67a3c92cae56f3062b2542c32c9283 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sat Feb 4 23:47:06 2023 -0800 Update metaformers.py commit 366aae93047934bd3d7d37a077e713d424fa429c Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sat Feb 4 23:37:30 2023 -0800 Stem/Downsample rework commit 26a8e481a5cb2a32004a796bc25c6800cd2fb7b7 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Wed Feb 1 07:42:07 2023 -0800 Update metaformers.py commit a913f5d4384aa4b2f62fdab46254ae3772df00ee Author: Fredo Guan <fredo.guan@hotmail.com> Date: Wed Feb 1 07:41:24 2023 -0800 Update metaformers.py * Update metaformers.py * Update metaformers.py * channels first for whole network * Channels first * Update metaformers.py * Use buffer for randformer * Update metaformers.py * Remove einsum * don't test randformer for feature extraction * arbitrary input sizes for randformer * Squashed commit of the following: commit 6c089ca4325ab10942fe56e0999dcc1a11e1d2f0 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 02:11:17 2023 -0800 Update metaformers.py commit 521528a900e49ef8f462f5ccd795efb3a5d14214 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 02:06:08 2023 -0800 Update metaformers.py commit 3827eec7963698ff727fbb13ace53594ceb374d5 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 02:03:08 2023 -0800 Update metaformers.py commit ac1c6fea8adcd846e031ea0f5fa81ffe63d3c4bb Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 02:01:04 2023 -0800 Update metaformers.py commit 26f3d343cdc46183543f83482187f669f3181ddf Merge: d577129 f736730 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 01:57:29 2023 -0800 Merge branch 'metaformer_workspace' of https://github.com/fffffgggg54/pytorch-image-models into metaformer_workspace commit d577129aaa23fb348a8bb93bcd17cf1d5a4e8ff8 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 01:57:20 2023 -0800 Update metaformers.py commit f7367304e8f3b7a9a7f16e0a032bb72546afcc2a Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 01:56:11 2023 -0800 Metaformer baselines for vision (#12) * formatting, cleanup, fix dropout * fix regression, pass kwargs * fix poolformerv1 weights, formatting * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * some cleanup * SDPA from ViT, fix imports * Update metaformers.py * fix head reset * fast norm bias patch for metaformers * Metaformer refactor, remove rand/ident models, fix issues, remove old poolformer * Switch to hub weights --------- Co-authored-by: Fredo Guan <fredo.guan@hotmail.com>
2023-05-06 02:18:26 +08:00
model_kwargs = dict(
depths=[3, 12, 18, 3],
dims=[64, 128, 320, 512],
token_mixers=SepConv,
norm_layers=LayerNorm2dNoBias,
**kwargs)
return _create_metaformer('convformer_s36', pretrained=pretrained, **model_kwargs)
@register_model
def convformer_m36(pretrained=False, **kwargs) -> MetaFormer:
Metaformer baselines for vision (final PR with cleanup) (#1793) * update * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * merge with poolformer, initial version * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Revert "Update metaformers.py" This reverts commit 2916f37f8d862cd4fcbc86c858b23894daec3339. * Revert "Update metaformers.py" This reverts commit 1d882eb494caf5b5a3a1e9c7442d883e1707998e. * Revert "Update metaformers.py" This reverts commit 2209d0830eed9b87149df4a1f25f65da46d47f4b. * Revert "Update metaformers.py" This reverts commit 32bede4e279ee1027a63d5b55591153e53c209ec. * Revert "Update metaformers.py" This reverts commit 4ed934e00068be576881a87d5218b355ca01a6be. * Revert "Update metaformers.py" This reverts commit 3f0b07536764c47af42290a218a15097b5cec1a0. * Revert "Update metaformers.py" This reverts commit 2fef9006d72824789b733dd8dbc20b21b79add0b. * Update metaformers.py * Update metaformers.py * rename model * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Stem/Downsample rework * Update metaformers.py * try NHWC * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Squashed commit of the following: commit b7696a30a772dbbb2e00d81e7096c24dac97df73 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Fri Feb 10 01:46:44 2023 -0800 Update metaformers.py commit 41fe5c36263b40a6cd7caddb85b10c5d82d48023 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Fri Feb 10 01:03:47 2023 -0800 Update metaformers.py commit a3aee37c35985c01ca07902d860f809b648c612c Author: Fredo Guan <fredo.guan@hotmail.com> Date: Fri Feb 10 00:32:04 2023 -0800 Update metaformers.py commit f938beb81b4f46851d6d6f04ae7a9a74871ee40d Author: Fredo Guan <fredo.guan@hotmail.com> Date: Fri Feb 10 00:24:58 2023 -0800 Update metaformers.py commit 10bde717e51c95cdf20135c8bba77a7a1b00d78c Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 02:11:28 2023 -0800 Update metaformers.py commit 39274bd45e78b8ead0509367f800121f0d7c25f4 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 02:06:58 2023 -0800 Update metaformers.py commit a2329ab8ec00d0ebc00979690293c3887cc44a4c Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 02:03:34 2023 -0800 Update metaformers.py commit 53b8ce5b8a6b6d828de61788bcc2e6043ebb3081 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 02:02:37 2023 -0800 Update metaformers.py commit ab6225b9414f534815958036f6d5a392038d7ab2 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 01:04:55 2023 -0800 try NHWC commit 02fcc30eaa67a3c92cae56f3062b2542c32c9283 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sat Feb 4 23:47:06 2023 -0800 Update metaformers.py commit 366aae93047934bd3d7d37a077e713d424fa429c Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sat Feb 4 23:37:30 2023 -0800 Stem/Downsample rework commit 26a8e481a5cb2a32004a796bc25c6800cd2fb7b7 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Wed Feb 1 07:42:07 2023 -0800 Update metaformers.py commit a913f5d4384aa4b2f62fdab46254ae3772df00ee Author: Fredo Guan <fredo.guan@hotmail.com> Date: Wed Feb 1 07:41:24 2023 -0800 Update metaformers.py * Update metaformers.py * Update metaformers.py * channels first for whole network * Channels first * Update metaformers.py * Use buffer for randformer * Update metaformers.py * Remove einsum * don't test randformer for feature extraction * arbitrary input sizes for randformer * Squashed commit of the following: commit 6c089ca4325ab10942fe56e0999dcc1a11e1d2f0 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 02:11:17 2023 -0800 Update metaformers.py commit 521528a900e49ef8f462f5ccd795efb3a5d14214 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 02:06:08 2023 -0800 Update metaformers.py commit 3827eec7963698ff727fbb13ace53594ceb374d5 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 02:03:08 2023 -0800 Update metaformers.py commit ac1c6fea8adcd846e031ea0f5fa81ffe63d3c4bb Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 02:01:04 2023 -0800 Update metaformers.py commit 26f3d343cdc46183543f83482187f669f3181ddf Merge: d577129 f736730 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 01:57:29 2023 -0800 Merge branch 'metaformer_workspace' of https://github.com/fffffgggg54/pytorch-image-models into metaformer_workspace commit d577129aaa23fb348a8bb93bcd17cf1d5a4e8ff8 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 01:57:20 2023 -0800 Update metaformers.py commit f7367304e8f3b7a9a7f16e0a032bb72546afcc2a Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 01:56:11 2023 -0800 Metaformer baselines for vision (#12) * formatting, cleanup, fix dropout * fix regression, pass kwargs * fix poolformerv1 weights, formatting * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * some cleanup * SDPA from ViT, fix imports * Update metaformers.py * fix head reset * fast norm bias patch for metaformers * Metaformer refactor, remove rand/ident models, fix issues, remove old poolformer * Switch to hub weights --------- Co-authored-by: Fredo Guan <fredo.guan@hotmail.com>
2023-05-06 02:18:26 +08:00
model_kwargs = dict(
depths=[3, 12, 18, 3],
dims=[96, 192, 384, 576],
token_mixers=SepConv,
norm_layers=LayerNorm2dNoBias,
**kwargs)
return _create_metaformer('convformer_m36', pretrained=pretrained, **model_kwargs)
@register_model
def convformer_b36(pretrained=False, **kwargs) -> MetaFormer:
Metaformer baselines for vision (final PR with cleanup) (#1793) * update * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * merge with poolformer, initial version * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Revert "Update metaformers.py" This reverts commit 2916f37f8d862cd4fcbc86c858b23894daec3339. * Revert "Update metaformers.py" This reverts commit 1d882eb494caf5b5a3a1e9c7442d883e1707998e. * Revert "Update metaformers.py" This reverts commit 2209d0830eed9b87149df4a1f25f65da46d47f4b. * Revert "Update metaformers.py" This reverts commit 32bede4e279ee1027a63d5b55591153e53c209ec. * Revert "Update metaformers.py" This reverts commit 4ed934e00068be576881a87d5218b355ca01a6be. * Revert "Update metaformers.py" This reverts commit 3f0b07536764c47af42290a218a15097b5cec1a0. * Revert "Update metaformers.py" This reverts commit 2fef9006d72824789b733dd8dbc20b21b79add0b. * Update metaformers.py * Update metaformers.py * rename model * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Stem/Downsample rework * Update metaformers.py * try NHWC * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Squashed commit of the following: commit b7696a30a772dbbb2e00d81e7096c24dac97df73 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Fri Feb 10 01:46:44 2023 -0800 Update metaformers.py commit 41fe5c36263b40a6cd7caddb85b10c5d82d48023 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Fri Feb 10 01:03:47 2023 -0800 Update metaformers.py commit a3aee37c35985c01ca07902d860f809b648c612c Author: Fredo Guan <fredo.guan@hotmail.com> Date: Fri Feb 10 00:32:04 2023 -0800 Update metaformers.py commit f938beb81b4f46851d6d6f04ae7a9a74871ee40d Author: Fredo Guan <fredo.guan@hotmail.com> Date: Fri Feb 10 00:24:58 2023 -0800 Update metaformers.py commit 10bde717e51c95cdf20135c8bba77a7a1b00d78c Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 02:11:28 2023 -0800 Update metaformers.py commit 39274bd45e78b8ead0509367f800121f0d7c25f4 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 02:06:58 2023 -0800 Update metaformers.py commit a2329ab8ec00d0ebc00979690293c3887cc44a4c Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 02:03:34 2023 -0800 Update metaformers.py commit 53b8ce5b8a6b6d828de61788bcc2e6043ebb3081 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 02:02:37 2023 -0800 Update metaformers.py commit ab6225b9414f534815958036f6d5a392038d7ab2 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 01:04:55 2023 -0800 try NHWC commit 02fcc30eaa67a3c92cae56f3062b2542c32c9283 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sat Feb 4 23:47:06 2023 -0800 Update metaformers.py commit 366aae93047934bd3d7d37a077e713d424fa429c Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sat Feb 4 23:37:30 2023 -0800 Stem/Downsample rework commit 26a8e481a5cb2a32004a796bc25c6800cd2fb7b7 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Wed Feb 1 07:42:07 2023 -0800 Update metaformers.py commit a913f5d4384aa4b2f62fdab46254ae3772df00ee Author: Fredo Guan <fredo.guan@hotmail.com> Date: Wed Feb 1 07:41:24 2023 -0800 Update metaformers.py * Update metaformers.py * Update metaformers.py * channels first for whole network * Channels first * Update metaformers.py * Use buffer for randformer * Update metaformers.py * Remove einsum * don't test randformer for feature extraction * arbitrary input sizes for randformer * Squashed commit of the following: commit 6c089ca4325ab10942fe56e0999dcc1a11e1d2f0 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 02:11:17 2023 -0800 Update metaformers.py commit 521528a900e49ef8f462f5ccd795efb3a5d14214 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 02:06:08 2023 -0800 Update metaformers.py commit 3827eec7963698ff727fbb13ace53594ceb374d5 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 02:03:08 2023 -0800 Update metaformers.py commit ac1c6fea8adcd846e031ea0f5fa81ffe63d3c4bb Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 02:01:04 2023 -0800 Update metaformers.py commit 26f3d343cdc46183543f83482187f669f3181ddf Merge: d577129 f736730 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 01:57:29 2023 -0800 Merge branch 'metaformer_workspace' of https://github.com/fffffgggg54/pytorch-image-models into metaformer_workspace commit d577129aaa23fb348a8bb93bcd17cf1d5a4e8ff8 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 01:57:20 2023 -0800 Update metaformers.py commit f7367304e8f3b7a9a7f16e0a032bb72546afcc2a Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 01:56:11 2023 -0800 Metaformer baselines for vision (#12) * formatting, cleanup, fix dropout * fix regression, pass kwargs * fix poolformerv1 weights, formatting * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * some cleanup * SDPA from ViT, fix imports * Update metaformers.py * fix head reset * fast norm bias patch for metaformers * Metaformer refactor, remove rand/ident models, fix issues, remove old poolformer * Switch to hub weights --------- Co-authored-by: Fredo Guan <fredo.guan@hotmail.com>
2023-05-06 02:18:26 +08:00
model_kwargs = dict(
depths=[3, 12, 18, 3],
dims=[128, 256, 512, 768],
token_mixers=SepConv,
norm_layers=LayerNorm2dNoBias,
**kwargs)
return _create_metaformer('convformer_b36', pretrained=pretrained, **model_kwargs)
@register_model
def caformer_s18(pretrained=False, **kwargs) -> MetaFormer:
Metaformer baselines for vision (final PR with cleanup) (#1793) * update * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * merge with poolformer, initial version * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Revert "Update metaformers.py" This reverts commit 2916f37f8d862cd4fcbc86c858b23894daec3339. * Revert "Update metaformers.py" This reverts commit 1d882eb494caf5b5a3a1e9c7442d883e1707998e. * Revert "Update metaformers.py" This reverts commit 2209d0830eed9b87149df4a1f25f65da46d47f4b. * Revert "Update metaformers.py" This reverts commit 32bede4e279ee1027a63d5b55591153e53c209ec. * Revert "Update metaformers.py" This reverts commit 4ed934e00068be576881a87d5218b355ca01a6be. * Revert "Update metaformers.py" This reverts commit 3f0b07536764c47af42290a218a15097b5cec1a0. * Revert "Update metaformers.py" This reverts commit 2fef9006d72824789b733dd8dbc20b21b79add0b. * Update metaformers.py * Update metaformers.py * rename model * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Stem/Downsample rework * Update metaformers.py * try NHWC * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Squashed commit of the following: commit b7696a30a772dbbb2e00d81e7096c24dac97df73 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Fri Feb 10 01:46:44 2023 -0800 Update metaformers.py commit 41fe5c36263b40a6cd7caddb85b10c5d82d48023 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Fri Feb 10 01:03:47 2023 -0800 Update metaformers.py commit a3aee37c35985c01ca07902d860f809b648c612c Author: Fredo Guan <fredo.guan@hotmail.com> Date: Fri Feb 10 00:32:04 2023 -0800 Update metaformers.py commit f938beb81b4f46851d6d6f04ae7a9a74871ee40d Author: Fredo Guan <fredo.guan@hotmail.com> Date: Fri Feb 10 00:24:58 2023 -0800 Update metaformers.py commit 10bde717e51c95cdf20135c8bba77a7a1b00d78c Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 02:11:28 2023 -0800 Update metaformers.py commit 39274bd45e78b8ead0509367f800121f0d7c25f4 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 02:06:58 2023 -0800 Update metaformers.py commit a2329ab8ec00d0ebc00979690293c3887cc44a4c Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 02:03:34 2023 -0800 Update metaformers.py commit 53b8ce5b8a6b6d828de61788bcc2e6043ebb3081 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 02:02:37 2023 -0800 Update metaformers.py commit ab6225b9414f534815958036f6d5a392038d7ab2 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 01:04:55 2023 -0800 try NHWC commit 02fcc30eaa67a3c92cae56f3062b2542c32c9283 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sat Feb 4 23:47:06 2023 -0800 Update metaformers.py commit 366aae93047934bd3d7d37a077e713d424fa429c Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sat Feb 4 23:37:30 2023 -0800 Stem/Downsample rework commit 26a8e481a5cb2a32004a796bc25c6800cd2fb7b7 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Wed Feb 1 07:42:07 2023 -0800 Update metaformers.py commit a913f5d4384aa4b2f62fdab46254ae3772df00ee Author: Fredo Guan <fredo.guan@hotmail.com> Date: Wed Feb 1 07:41:24 2023 -0800 Update metaformers.py * Update metaformers.py * Update metaformers.py * channels first for whole network * Channels first * Update metaformers.py * Use buffer for randformer * Update metaformers.py * Remove einsum * don't test randformer for feature extraction * arbitrary input sizes for randformer * Squashed commit of the following: commit 6c089ca4325ab10942fe56e0999dcc1a11e1d2f0 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 02:11:17 2023 -0800 Update metaformers.py commit 521528a900e49ef8f462f5ccd795efb3a5d14214 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 02:06:08 2023 -0800 Update metaformers.py commit 3827eec7963698ff727fbb13ace53594ceb374d5 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 02:03:08 2023 -0800 Update metaformers.py commit ac1c6fea8adcd846e031ea0f5fa81ffe63d3c4bb Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 02:01:04 2023 -0800 Update metaformers.py commit 26f3d343cdc46183543f83482187f669f3181ddf Merge: d577129 f736730 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 01:57:29 2023 -0800 Merge branch 'metaformer_workspace' of https://github.com/fffffgggg54/pytorch-image-models into metaformer_workspace commit d577129aaa23fb348a8bb93bcd17cf1d5a4e8ff8 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 01:57:20 2023 -0800 Update metaformers.py commit f7367304e8f3b7a9a7f16e0a032bb72546afcc2a Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 01:56:11 2023 -0800 Metaformer baselines for vision (#12) * formatting, cleanup, fix dropout * fix regression, pass kwargs * fix poolformerv1 weights, formatting * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * some cleanup * SDPA from ViT, fix imports * Update metaformers.py * fix head reset * fast norm bias patch for metaformers * Metaformer refactor, remove rand/ident models, fix issues, remove old poolformer * Switch to hub weights --------- Co-authored-by: Fredo Guan <fredo.guan@hotmail.com>
2023-05-06 02:18:26 +08:00
model_kwargs = dict(
depths=[3, 3, 9, 3],
dims=[64, 128, 320, 512],
token_mixers=[SepConv, SepConv, Attention, Attention],
norm_layers=[LayerNorm2dNoBias] * 2 + [LayerNormNoBias] * 2,
**kwargs)
return _create_metaformer('caformer_s18', pretrained=pretrained, **model_kwargs)
@register_model
def caformer_s36(pretrained=False, **kwargs) -> MetaFormer:
Metaformer baselines for vision (final PR with cleanup) (#1793) * update * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * merge with poolformer, initial version * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Revert "Update metaformers.py" This reverts commit 2916f37f8d862cd4fcbc86c858b23894daec3339. * Revert "Update metaformers.py" This reverts commit 1d882eb494caf5b5a3a1e9c7442d883e1707998e. * Revert "Update metaformers.py" This reverts commit 2209d0830eed9b87149df4a1f25f65da46d47f4b. * Revert "Update metaformers.py" This reverts commit 32bede4e279ee1027a63d5b55591153e53c209ec. * Revert "Update metaformers.py" This reverts commit 4ed934e00068be576881a87d5218b355ca01a6be. * Revert "Update metaformers.py" This reverts commit 3f0b07536764c47af42290a218a15097b5cec1a0. * Revert "Update metaformers.py" This reverts commit 2fef9006d72824789b733dd8dbc20b21b79add0b. * Update metaformers.py * Update metaformers.py * rename model * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Stem/Downsample rework * Update metaformers.py * try NHWC * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Squashed commit of the following: commit b7696a30a772dbbb2e00d81e7096c24dac97df73 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Fri Feb 10 01:46:44 2023 -0800 Update metaformers.py commit 41fe5c36263b40a6cd7caddb85b10c5d82d48023 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Fri Feb 10 01:03:47 2023 -0800 Update metaformers.py commit a3aee37c35985c01ca07902d860f809b648c612c Author: Fredo Guan <fredo.guan@hotmail.com> Date: Fri Feb 10 00:32:04 2023 -0800 Update metaformers.py commit f938beb81b4f46851d6d6f04ae7a9a74871ee40d Author: Fredo Guan <fredo.guan@hotmail.com> Date: Fri Feb 10 00:24:58 2023 -0800 Update metaformers.py commit 10bde717e51c95cdf20135c8bba77a7a1b00d78c Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 02:11:28 2023 -0800 Update metaformers.py commit 39274bd45e78b8ead0509367f800121f0d7c25f4 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 02:06:58 2023 -0800 Update metaformers.py commit a2329ab8ec00d0ebc00979690293c3887cc44a4c Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 02:03:34 2023 -0800 Update metaformers.py commit 53b8ce5b8a6b6d828de61788bcc2e6043ebb3081 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 02:02:37 2023 -0800 Update metaformers.py commit ab6225b9414f534815958036f6d5a392038d7ab2 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 01:04:55 2023 -0800 try NHWC commit 02fcc30eaa67a3c92cae56f3062b2542c32c9283 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sat Feb 4 23:47:06 2023 -0800 Update metaformers.py commit 366aae93047934bd3d7d37a077e713d424fa429c Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sat Feb 4 23:37:30 2023 -0800 Stem/Downsample rework commit 26a8e481a5cb2a32004a796bc25c6800cd2fb7b7 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Wed Feb 1 07:42:07 2023 -0800 Update metaformers.py commit a913f5d4384aa4b2f62fdab46254ae3772df00ee Author: Fredo Guan <fredo.guan@hotmail.com> Date: Wed Feb 1 07:41:24 2023 -0800 Update metaformers.py * Update metaformers.py * Update metaformers.py * channels first for whole network * Channels first * Update metaformers.py * Use buffer for randformer * Update metaformers.py * Remove einsum * don't test randformer for feature extraction * arbitrary input sizes for randformer * Squashed commit of the following: commit 6c089ca4325ab10942fe56e0999dcc1a11e1d2f0 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 02:11:17 2023 -0800 Update metaformers.py commit 521528a900e49ef8f462f5ccd795efb3a5d14214 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 02:06:08 2023 -0800 Update metaformers.py commit 3827eec7963698ff727fbb13ace53594ceb374d5 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 02:03:08 2023 -0800 Update metaformers.py commit ac1c6fea8adcd846e031ea0f5fa81ffe63d3c4bb Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 02:01:04 2023 -0800 Update metaformers.py commit 26f3d343cdc46183543f83482187f669f3181ddf Merge: d577129 f736730 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 01:57:29 2023 -0800 Merge branch 'metaformer_workspace' of https://github.com/fffffgggg54/pytorch-image-models into metaformer_workspace commit d577129aaa23fb348a8bb93bcd17cf1d5a4e8ff8 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 01:57:20 2023 -0800 Update metaformers.py commit f7367304e8f3b7a9a7f16e0a032bb72546afcc2a Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 01:56:11 2023 -0800 Metaformer baselines for vision (#12) * formatting, cleanup, fix dropout * fix regression, pass kwargs * fix poolformerv1 weights, formatting * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * some cleanup * SDPA from ViT, fix imports * Update metaformers.py * fix head reset * fast norm bias patch for metaformers * Metaformer refactor, remove rand/ident models, fix issues, remove old poolformer * Switch to hub weights --------- Co-authored-by: Fredo Guan <fredo.guan@hotmail.com>
2023-05-06 02:18:26 +08:00
model_kwargs = dict(
depths=[3, 12, 18, 3],
dims=[64, 128, 320, 512],
token_mixers=[SepConv, SepConv, Attention, Attention],
norm_layers=[LayerNorm2dNoBias] * 2 + [LayerNormNoBias] * 2,
**kwargs)
return _create_metaformer('caformer_s36', pretrained=pretrained, **model_kwargs)
@register_model
def caformer_m36(pretrained=False, **kwargs) -> MetaFormer:
Metaformer baselines for vision (final PR with cleanup) (#1793) * update * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * merge with poolformer, initial version * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Revert "Update metaformers.py" This reverts commit 2916f37f8d862cd4fcbc86c858b23894daec3339. * Revert "Update metaformers.py" This reverts commit 1d882eb494caf5b5a3a1e9c7442d883e1707998e. * Revert "Update metaformers.py" This reverts commit 2209d0830eed9b87149df4a1f25f65da46d47f4b. * Revert "Update metaformers.py" This reverts commit 32bede4e279ee1027a63d5b55591153e53c209ec. * Revert "Update metaformers.py" This reverts commit 4ed934e00068be576881a87d5218b355ca01a6be. * Revert "Update metaformers.py" This reverts commit 3f0b07536764c47af42290a218a15097b5cec1a0. * Revert "Update metaformers.py" This reverts commit 2fef9006d72824789b733dd8dbc20b21b79add0b. * Update metaformers.py * Update metaformers.py * rename model * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Stem/Downsample rework * Update metaformers.py * try NHWC * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Squashed commit of the following: commit b7696a30a772dbbb2e00d81e7096c24dac97df73 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Fri Feb 10 01:46:44 2023 -0800 Update metaformers.py commit 41fe5c36263b40a6cd7caddb85b10c5d82d48023 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Fri Feb 10 01:03:47 2023 -0800 Update metaformers.py commit a3aee37c35985c01ca07902d860f809b648c612c Author: Fredo Guan <fredo.guan@hotmail.com> Date: Fri Feb 10 00:32:04 2023 -0800 Update metaformers.py commit f938beb81b4f46851d6d6f04ae7a9a74871ee40d Author: Fredo Guan <fredo.guan@hotmail.com> Date: Fri Feb 10 00:24:58 2023 -0800 Update metaformers.py commit 10bde717e51c95cdf20135c8bba77a7a1b00d78c Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 02:11:28 2023 -0800 Update metaformers.py commit 39274bd45e78b8ead0509367f800121f0d7c25f4 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 02:06:58 2023 -0800 Update metaformers.py commit a2329ab8ec00d0ebc00979690293c3887cc44a4c Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 02:03:34 2023 -0800 Update metaformers.py commit 53b8ce5b8a6b6d828de61788bcc2e6043ebb3081 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 02:02:37 2023 -0800 Update metaformers.py commit ab6225b9414f534815958036f6d5a392038d7ab2 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 01:04:55 2023 -0800 try NHWC commit 02fcc30eaa67a3c92cae56f3062b2542c32c9283 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sat Feb 4 23:47:06 2023 -0800 Update metaformers.py commit 366aae93047934bd3d7d37a077e713d424fa429c Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sat Feb 4 23:37:30 2023 -0800 Stem/Downsample rework commit 26a8e481a5cb2a32004a796bc25c6800cd2fb7b7 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Wed Feb 1 07:42:07 2023 -0800 Update metaformers.py commit a913f5d4384aa4b2f62fdab46254ae3772df00ee Author: Fredo Guan <fredo.guan@hotmail.com> Date: Wed Feb 1 07:41:24 2023 -0800 Update metaformers.py * Update metaformers.py * Update metaformers.py * channels first for whole network * Channels first * Update metaformers.py * Use buffer for randformer * Update metaformers.py * Remove einsum * don't test randformer for feature extraction * arbitrary input sizes for randformer * Squashed commit of the following: commit 6c089ca4325ab10942fe56e0999dcc1a11e1d2f0 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 02:11:17 2023 -0800 Update metaformers.py commit 521528a900e49ef8f462f5ccd795efb3a5d14214 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 02:06:08 2023 -0800 Update metaformers.py commit 3827eec7963698ff727fbb13ace53594ceb374d5 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 02:03:08 2023 -0800 Update metaformers.py commit ac1c6fea8adcd846e031ea0f5fa81ffe63d3c4bb Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 02:01:04 2023 -0800 Update metaformers.py commit 26f3d343cdc46183543f83482187f669f3181ddf Merge: d577129 f736730 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 01:57:29 2023 -0800 Merge branch 'metaformer_workspace' of https://github.com/fffffgggg54/pytorch-image-models into metaformer_workspace commit d577129aaa23fb348a8bb93bcd17cf1d5a4e8ff8 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 01:57:20 2023 -0800 Update metaformers.py commit f7367304e8f3b7a9a7f16e0a032bb72546afcc2a Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 01:56:11 2023 -0800 Metaformer baselines for vision (#12) * formatting, cleanup, fix dropout * fix regression, pass kwargs * fix poolformerv1 weights, formatting * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * some cleanup * SDPA from ViT, fix imports * Update metaformers.py * fix head reset * fast norm bias patch for metaformers * Metaformer refactor, remove rand/ident models, fix issues, remove old poolformer * Switch to hub weights --------- Co-authored-by: Fredo Guan <fredo.guan@hotmail.com>
2023-05-06 02:18:26 +08:00
model_kwargs = dict(
depths=[3, 12, 18, 3],
dims=[96, 192, 384, 576],
token_mixers=[SepConv, SepConv, Attention, Attention],
norm_layers=[LayerNorm2dNoBias] * 2 + [LayerNormNoBias] * 2,
**kwargs)
return _create_metaformer('caformer_m36', pretrained=pretrained, **model_kwargs)
@register_model
def caformer_b36(pretrained=False, **kwargs) -> MetaFormer:
Metaformer baselines for vision (final PR with cleanup) (#1793) * update * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * merge with poolformer, initial version * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Revert "Update metaformers.py" This reverts commit 2916f37f8d862cd4fcbc86c858b23894daec3339. * Revert "Update metaformers.py" This reverts commit 1d882eb494caf5b5a3a1e9c7442d883e1707998e. * Revert "Update metaformers.py" This reverts commit 2209d0830eed9b87149df4a1f25f65da46d47f4b. * Revert "Update metaformers.py" This reverts commit 32bede4e279ee1027a63d5b55591153e53c209ec. * Revert "Update metaformers.py" This reverts commit 4ed934e00068be576881a87d5218b355ca01a6be. * Revert "Update metaformers.py" This reverts commit 3f0b07536764c47af42290a218a15097b5cec1a0. * Revert "Update metaformers.py" This reverts commit 2fef9006d72824789b733dd8dbc20b21b79add0b. * Update metaformers.py * Update metaformers.py * rename model * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Stem/Downsample rework * Update metaformers.py * try NHWC * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Squashed commit of the following: commit b7696a30a772dbbb2e00d81e7096c24dac97df73 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Fri Feb 10 01:46:44 2023 -0800 Update metaformers.py commit 41fe5c36263b40a6cd7caddb85b10c5d82d48023 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Fri Feb 10 01:03:47 2023 -0800 Update metaformers.py commit a3aee37c35985c01ca07902d860f809b648c612c Author: Fredo Guan <fredo.guan@hotmail.com> Date: Fri Feb 10 00:32:04 2023 -0800 Update metaformers.py commit f938beb81b4f46851d6d6f04ae7a9a74871ee40d Author: Fredo Guan <fredo.guan@hotmail.com> Date: Fri Feb 10 00:24:58 2023 -0800 Update metaformers.py commit 10bde717e51c95cdf20135c8bba77a7a1b00d78c Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 02:11:28 2023 -0800 Update metaformers.py commit 39274bd45e78b8ead0509367f800121f0d7c25f4 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 02:06:58 2023 -0800 Update metaformers.py commit a2329ab8ec00d0ebc00979690293c3887cc44a4c Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 02:03:34 2023 -0800 Update metaformers.py commit 53b8ce5b8a6b6d828de61788bcc2e6043ebb3081 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 02:02:37 2023 -0800 Update metaformers.py commit ab6225b9414f534815958036f6d5a392038d7ab2 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sun Feb 5 01:04:55 2023 -0800 try NHWC commit 02fcc30eaa67a3c92cae56f3062b2542c32c9283 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sat Feb 4 23:47:06 2023 -0800 Update metaformers.py commit 366aae93047934bd3d7d37a077e713d424fa429c Author: Fredo Guan <fredo.guan@hotmail.com> Date: Sat Feb 4 23:37:30 2023 -0800 Stem/Downsample rework commit 26a8e481a5cb2a32004a796bc25c6800cd2fb7b7 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Wed Feb 1 07:42:07 2023 -0800 Update metaformers.py commit a913f5d4384aa4b2f62fdab46254ae3772df00ee Author: Fredo Guan <fredo.guan@hotmail.com> Date: Wed Feb 1 07:41:24 2023 -0800 Update metaformers.py * Update metaformers.py * Update metaformers.py * channels first for whole network * Channels first * Update metaformers.py * Use buffer for randformer * Update metaformers.py * Remove einsum * don't test randformer for feature extraction * arbitrary input sizes for randformer * Squashed commit of the following: commit 6c089ca4325ab10942fe56e0999dcc1a11e1d2f0 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 02:11:17 2023 -0800 Update metaformers.py commit 521528a900e49ef8f462f5ccd795efb3a5d14214 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 02:06:08 2023 -0800 Update metaformers.py commit 3827eec7963698ff727fbb13ace53594ceb374d5 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 02:03:08 2023 -0800 Update metaformers.py commit ac1c6fea8adcd846e031ea0f5fa81ffe63d3c4bb Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 02:01:04 2023 -0800 Update metaformers.py commit 26f3d343cdc46183543f83482187f669f3181ddf Merge: d577129 f736730 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 01:57:29 2023 -0800 Merge branch 'metaformer_workspace' of https://github.com/fffffgggg54/pytorch-image-models into metaformer_workspace commit d577129aaa23fb348a8bb93bcd17cf1d5a4e8ff8 Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 01:57:20 2023 -0800 Update metaformers.py commit f7367304e8f3b7a9a7f16e0a032bb72546afcc2a Author: Fredo Guan <fredo.guan@hotmail.com> Date: Mon Mar 6 01:56:11 2023 -0800 Metaformer baselines for vision (#12) * formatting, cleanup, fix dropout * fix regression, pass kwargs * fix poolformerv1 weights, formatting * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * Update metaformers.py * some cleanup * SDPA from ViT, fix imports * Update metaformers.py * fix head reset * fast norm bias patch for metaformers * Metaformer refactor, remove rand/ident models, fix issues, remove old poolformer * Switch to hub weights --------- Co-authored-by: Fredo Guan <fredo.guan@hotmail.com>
2023-05-06 02:18:26 +08:00
model_kwargs = dict(
depths=[3, 12, 18, 3],
dims=[128, 256, 512, 768],
token_mixers=[SepConv, SepConv, Attention, Attention],
norm_layers=[LayerNorm2dNoBias] * 2 + [LayerNormNoBias] * 2,
**kwargs)
return _create_metaformer('caformer_b36', pretrained=pretrained, **model_kwargs)