Control Pooling Receptive Fields of FractionalMaxPool2D

FractionalMaxPool2D randomizes the pool receptive field to get the final output. An example of this is shown below

Reference: Fig 1 of paper

pool_recep    = 2
pool_ratio   = 0.707
input        = 0.1 * (1 + torch.arange(36)).reshape((1, 1, 6, 6)).float()
m            = nn.FractionalMaxPool2d(pool_recep, output_ratio=(pool_ratio, pool_ratio))
output_frac = m(input)
print(output_frac.shape) # 1x1x4x4

However, I do not know how to control this randomization. In other words, I want certain specific areas to be pooled with 2 x 2 receptive fields, while certain areas to be pooled with 1x1, 1x2 and 2x1 receptive fields pool_field.

m            = nn.FractionalMaxPool2d(pool_field, output_ratio=(pool_ratio, pool_ratio))