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)