zhifu gao
2024-04-24 861147c7308b91068ffa02724fdf74ee623a909e
funasr/models/emotion2vec/timm_modules.py
@@ -4,7 +4,7 @@
from functools import partial
def drop_path(x, drop_prob: float = 0., training: bool = False, scale_by_keep: bool = True):
def drop_path(x, drop_prob: float = 0.0, training: bool = False, scale_by_keep: bool = True):
    """Drop paths (Stochastic Depth) per sample (when applied in main path of residual blocks).
    This is the same as the DropConnect impl I created for EfficientNet, etc networks, however,
@@ -14,7 +14,7 @@
    'survival rate' as the argument.
    """
    if drop_prob == 0. or not training:
    if drop_prob == 0.0 or not training:
        return x
    keep_prob = 1 - drop_prob
    shape = (x.shape[0],) + (1,) * (x.ndim - 1)  # work with diff dim tensors, not just 2D ConvNets
@@ -23,10 +23,11 @@
        random_tensor.div_(keep_prob)
    return x * random_tensor
class DropPath(nn.Module):
    """Drop paths (Stochastic Depth) per sample  (when applied in main path of residual blocks).
    """
    def __init__(self, drop_prob: float = 0., scale_by_keep: bool = True):
    """Drop paths (Stochastic Depth) per sample  (when applied in main path of residual blocks)."""
    def __init__(self, drop_prob: float = 0.0, scale_by_keep: bool = True):
        super(DropPath, self).__init__()
        self.drop_prob = drop_prob
        self.scale_by_keep = scale_by_keep
@@ -35,10 +36,7 @@
        return drop_path(x, self.drop_prob, self.training, self.scale_by_keep)
    def extra_repr(self):
        return f'drop_prob={round(self.drop_prob,3):0.3f}'
        return f"drop_prob={round(self.drop_prob,3):0.3f}"
# From PyTorch internals
@@ -47,6 +45,7 @@
        if isinstance(x, collections.abc.Iterable) and not isinstance(x, str):
            return tuple(x)
        return tuple(repeat(x, n))
    return parse
@@ -56,9 +55,10 @@
to_4tuple = _ntuple(4)
to_ntuple = _ntuple
class Mlp(nn.Module):
    """ MLP as used in Vision Transformer, MLP-Mixer and related networks
    """
    """MLP as used in Vision Transformer, MLP-Mixer and related networks"""
    def __init__(
            self,
            in_features,
@@ -67,7 +67,7 @@
            act_layer=nn.GELU,
            norm_layer=None,
            bias=True,
            drop=0.,
        drop=0.0,
            use_conv=False,
    ):
        super().__init__()
@@ -92,5 +92,3 @@
        x = self.fc2(x)
        x = self.drop2(x)
        return x