| ## @package pooling |
| # Module caffe2.python.helpers.pooling |
| ## @package fc |
| # Module caffe2.python.helpers.pooling |
| |
| |
| |
| |
| |
| |
| def max_pool(model, blob_in, blob_out, use_cudnn=False, order="NCHW", **kwargs): |
| """Max pooling""" |
| if use_cudnn: |
| kwargs['engine'] = 'CUDNN' |
| return model.net.MaxPool(blob_in, blob_out, order=order, **kwargs) |
| |
| |
| def average_pool(model, blob_in, blob_out, use_cudnn=False, order="NCHW", |
| **kwargs): |
| """Average pooling""" |
| if use_cudnn: |
| kwargs['engine'] = 'CUDNN' |
| return model.net.AveragePool( |
| blob_in, |
| blob_out, |
| order=order, |
| **kwargs |
| ) |
| |
| |
| def max_pool_with_index(model, blob_in, blob_out, order="NCHW", **kwargs): |
| """Max pooling with an explicit index of max position""" |
| return model.net.MaxPoolWithIndex( |
| blob_in, |
| [blob_out, blob_out + "_index"], |
| order=order, |
| **kwargs |
| )[0] |