pytorch torch.nn.Identity()

torch.nn.Identity()

今天看源码时,遇到的这个恒等函数,就如同名字那样
占位符,并没有实际操作

源码:

class Identity(Module):
    r"""A placeholder identity operator that is argument-insensitive.
    Args:
        args: any argument (unused)
        kwargs: any keyword argument (unused)
    Examples::
        >>> m = nn.Identity(54, unused_argument1=0.1, unused_argument2=False)
        >>> input = torch.randn(128, 20)
        >>> output = m(input)
        >>> print(output.size())
        torch.Size([128, 20])
    """
    def __init__(self, *args, **kwargs):
        super(Identity, self).__init__()
 
    def forward(self, input: Tensor) -> Tensor:
        return input

主要使用场景:
不区分参数的占位符标识运算符

  • if 某个操作 else Identity()
  • 在增减网络过程中,可以使得整个网络层数据不变,便于迁移权重数据
posted @ 2021-09-28 18:26  贝壳里的星海  阅读(3587)  评论(0编辑  收藏  举报