Python中partial函数的用法及作用

编程入门 行业动态 更新时间:2024-10-05 13:19:09

Python中partial<a href=https://www.elefans.com/category/jswz/34/1771370.html style=函数的用法及作用"/>

Python中partial函数的用法及作用

先贴一篇大佬的讲解,很清晰易懂:

彻底明白 Python partial() - Demon的文章 - 知乎

精华版讲解:

partial函数用作 “冻结” 某些函数的参数或者关键字参数,同时会生成一个带有新标签的对象(即返回一个新的函数)。所谓“冻结”,即使得原函数中的某些参数固定不变。

partial来进行参数的绑定,返回一个参数缩减的特化版本, 即冻结了原函数中部分参数,返回一个新的函数

那么,冻结参数有啥用呢?

答:当原函数需要被多次调用,并且调用时函数中部分参数是固定不变的,那么我们就可以把这部分参数冻结,以便调用。

本文主要目的是结合实际应用,讲一下partial函数的用法。

举例:

需要多次调用的类如下所示:

class LayerNorm(nn.Module):def __init__(self, normalized_shape, eps=1e-6, data_format="channels_last"):super().__init__()# 后面省略...

使用partial后:

norm_layer = partial(LayerNorm, eps=1e-6, data_format="channels_first")

分析上述代码:原类为LayerNorm,其中参数有3个(normalized_shape, eps, data_format)。我们使用partial函数进行冻结之后得到了新类norm_layer,新类即指定了参数的LayerNorm类,可以认为是LayerNorm类的简化版本。

后续使用norm_layer类时,便只需要指定一个参数即可:norm_layer(64)

等价于:LayerNorm(normalized_shape=64, eps=1e-6, data_format="channels_last")

更多推荐

Python中partial函数的用法及作用

本文发布于:2024-03-04 11:15:58,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1709124.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:函数   作用   Python   partial

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!