Shortcuts

mmcv.cnn.bricks.hswish 源代码

# Copyright (c) OpenMMLab. All rights reserved.
import torch.nn as nn

from mmcv.utils import TORCH_VERSION, digit_version
from .registry import ACTIVATION_LAYERS


[文档]class HSwish(nn.Module): """Hard Swish Module. This module applies the hard swish function: .. math:: Hswish(x) = x * ReLU6(x + 3) / 6 Args: inplace (bool): can optionally do the operation in-place. Default: False. Returns: Tensor: The output tensor. """ def __init__(self, inplace=False): super(HSwish, self).__init__() self.act = nn.ReLU6(inplace)
[文档] def forward(self, x): return x * self.act(x + 3) / 6
if (TORCH_VERSION == 'parrots' or digit_version(TORCH_VERSION) < digit_version('1.7')): # Hardswish is not supported when PyTorch version < 1.6. # And Hardswish in PyTorch 1.6 does not support inplace. ACTIVATION_LAYERS.register_module(module=HSwish) else: ACTIVATION_LAYERS.register_module(module=nn.Hardswish, name='HSwish')
Read the Docs v: v1.5.1
Versions
latest
stable
v1.5.1
v1.5.0
v1.4.8
v1.4.7
v1.4.6
v1.4.5
v1.4.4
v1.4.3
v1.4.2
v1.4.1
v1.4.0
v1.3.18
v1.3.17
v1.3.16
v1.3.15
v1.3.14
v1.3.13
Downloads
On Read the Docs
Project Home
Builds

Free document hosting provided by Read the Docs.