mindtext.modules.encoder.pool¶
class mindtext.modules.encoder.pool.MaxPool (kernel_size: Optional[int] = None, stride: int = 1, dimension: int = 1, pad_mode: str = “valid”)
最大池化模型
init (kernel_size: Optional[int] = None, stride: int = 1, dimension: int = 1, pad_mode: str = “valid”)
参数
kernel_size (Optional[int]): 卷积核的大小,默认为tensor.shape[-1]。
stride (int): 最大池化的步长,默认为1。
dimension (int): 最大池化的维度,支持dimension[1,2],默认为1。
pad_mode (str): 1.same 2.valid,默认为”valid。
construct (x: mindspore.Tensor)
参数
x (mindspore.Tensor): 输入的向量,shape为(N, L, C)。
返回
x (mindspore.Tensor): 返回的向量,shape为(N, C)。
class mindtext.modules.encoder.pool.MaxPoolWithMask ()
最大池化模型带有mask机制,不考虑mask为0
init ()
construct (tensor: mindspore.Tensor, mask: mindspore.Tensor, axis: int = 1)
参数
tensor (mindspore.Tensor): 输入的向量,shape为(batch_size, seq_len, channels)。
mask (mindspore.Tensor): mask向量值必须为0/1或者True/False,shape为(batch_size, seq_len)。
axis (int): 最大池化的维度,默认为1。
返回
tensor (mindspore.Tensor): 带有mask的最大池化返回。
class mindtext.modules.encoder.pool.KMaxPool (k: int = 1)
K最大池化
init (k: int = 1)
参数
k (int): KMaxPool的k值。
construct (x: mindspore.Tensor)
参数
x (mindspore.Tensor): 输入的向量,shape为(N, L, C)。
返回
x (mindspore.Tensor): 输出向量,shape为(N, C*k)。
class mindtext.modules.encoder.pool.AvgPool (stride: int = 1, dimension: int = 1, pad_mode: str = “valid”)
在最后一个维度的平均池化
init (stride: int = 1, dimension: int = 1, pad_mode: str = “valid”)
参数
stride (int): 步长。
dimension (int): 最大池化的维度,支持dimension[1,2],默认为1。
pad_mode (str): 1.same 2.valid,默认为”valid。
construct (x: mindspore.Tensor)
参数
x (mindspore.Tensor): 输入的向量,shape为(N, L, C)。
返回
x (mindspore.Tensor): 输出向量,shape为(N, C)。
class mindtext.modules.encoder.pool.AvgPoolWithMask ()
带有mask的平均池化
init ()
construct (x: mindspore.Tensor)
参数
tensor (mindspore.Tensor): 输入的向量,shape为(batch_size, seq_len, channels)。
mask (mindspore.Tensor): mask向量值必须为0/1或者True/False,shape为(batch_size, seq_len)。
axis (int): 最大池化的维度,默认为1。
返回
x (mindspore.Tensor): 输出向量。