fsp_matrix

paddle.fluid.layers.fsp_matrix ( x, y ) [源代码]

FSP matrix op

fsp_matrix op用于计算两个4-D Tensor特征图的求解过程(FSP)矩阵。假设特征图x的形状为

fsp_matrix - 图1

,特征图y的形状为

fsp_matrix - 图2

,fsp_matrix op分两步得到x和y的fsp矩阵:

1.将x reshape到形状为

fsp_matrix - 图3

的矩阵,将y reshape到形状为

fsp_matrix - 图4

的矩阵。

2.对x和y做矩阵乘法得到形状为 [x_channel,y_channel][x_channel,y_channel] 的fsp矩阵。

输出是一个batch的fsp矩阵。

参数:

  • x (Variable): 一个形状为 [batch_size,x_channel,height,width][batch_size,x_channel,height,width] 的 4-D 特征图Tensor, 数据类型为float32或float64。

  • y (Variable):一个形状为 [batch_size,y_channel,height,width][batch_size,y_channel,height,width] 的 4-D 特征图Tensor, 数据类型为float32或float64。y_channel可以与输入(x)的x_channel不同,而其他维度必须与输入(x)相同。

返回:一个形状为 [batch_size,x_channel,y_channel][batch_size,x_channel,y_channel] 的fsp矩阵, 是一个 3-D Tensor,数据类型与输入数据类型一致。其中,x_channel是输入x的通道数,y_channel是输入y的通道数。数据类型为float32或float64。

返回类型:Variable

代码示例

  1. import paddle.fluid as fluid
  2. data = fluid.layers.data(name='data', shape=[3, 32, 32])
  3. feature_map_0 = fluid.layers.conv2d(data, num_filters=2,
  4. filter_size=3)
  5. feature_map_1 = fluid.layers.conv2d(feature_map_0, num_filters=2,
  6. filter_size=1)
  7. loss = fluid.layers.fsp_matrix(feature_map_0, feature_map_1)