い哎哟喂〤
2018-08-22 06:20
采纳率: 25%
浏览 2.7k
已采纳

Python中装饰器@wraps

@wraps(Conv2D)
def DarknetConv2D(*args, **kwargs):
"""Wrapper to set Darknet parameters for Convolution2D."""
darknet_conv_kwargs = {'kernel_regularizer': l2(5e-4)}
darknet_conv_kwargs['padding'] = 'valid' if kwargs.get('strides')==(2,2) else 'same'
darknet_conv_kwargs.update(kwargs)
return Conv2D(*args, **darknet_conv_kwargs)

    程序中@wraps(Conv2D)在这里是什么意思,程序流程
  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 邀请回答

2条回答 默认 最新

  • threenewbee 2018-08-22 07:12
    最佳回答

    python里的装饰器,装饰器是定义的一个函数,函数接受你原来的函数,并且返回一个新的函数,在这个过程中可以插入代码到原来函数前后或者改变函数的调用。
    DarknetConv2D是被修饰的函数,而Conv2D是用来修饰的函数,看函数名,这个应该是一个二维卷积函数,而它可以给你的DarknetConv2D设置调用参数。
    一个是设置核函数的正则项,采用l2正则,一个是padding,之前说了,这个是用来填补数据的边缘区域。再设置好之后,这些参数放入darknet_conv_kwargs传给Conv2D

    评论
    解决 10 无用
    打赏 举报
查看更多回答(1条)

相关推荐 更多相似问题