partial其实是Python模块functools中定义的一个函数,当我们需要经常调用某个函数时,但是其中某些参数是已知的固定值,这样可能会让代码显得冗余,这个时候就可以考虑使用partial函数。
做二进制转十进制时
print(int('1000000', base=2)) 64 print(int('1010101', base=2)) 85
如果我们要重复使用这个函数,需要重复写的东西就会很多
但是如果我们使用partial
from functools import partial int2 = partial(int, base=2) int2('110') 6
在神经网络搭建中,亦可采用partial函数定义层
from functools import partial import torch.nn as nn norm_layer = partial(nn.LayerNorm, eps=1e-6) norm_layer:functools.partial(<class 'torch.nn.modules.normalization.LayerNorm'>, eps=1e-06)
参考:Python partial函数原理及用法解析