最近在看DARTS的代码,有一个operations.py的文件,里面是对各类点与点之间操作的方法。
OPS = { 'none': lambda C, stride, affine: Zero(stride), 'avg_pool_3x3': lambda C, stride, affine: PoolBN('avg', C, 3, stride, 1, affine=affine), 'max_pool_3x3': lambda C, stride, affine: PoolBN('max', C, 3, stride, 1, affine=affine), 'skip_connect': lambda C, stride, affine: \ Identity() if stride == 1 else FactorizedReduce(C, C, affine=affine), 'sep_conv_3x3': lambda C, stride, affine: SepConv(C, C, 3, stride, 1, affine=affine), 'sep_conv_5x5': lambda C, stride, affine: SepConv(C, C, 5, stride, 2, affine=affine), 'sep_conv_7x7': lambda C, stride, affine: SepConv(C, C, 7, stride, 3, affine=affine), 'dil_conv_3x3
深度解析DARTS中的Operations(PyTorch实现)

本文详细介绍了DARTS代码中operations.py文件中的各种操作类,包括PoolBN、Identity、FactorizedReduce、DilConv、SepConv、FacConv和Zero,这些操作用于构建搜索空间,涉及池化、恒等连接、特征图尺寸减半、深度可分离卷积等技术。
最低0.47元/天 解锁文章
692

被折叠的 条评论
为什么被折叠?



