You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

deformable_psroi_pooling.py 1.3 kB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. # -*- coding: utf-8 -*-
  2. # MegEngine is Licensed under the Apache License, Version 2.0 (the "License")
  3. #
  4. # Copyright (c) 2014-2021 Megvii Inc. All rights reserved.
  5. #
  6. # Unless required by applicable law or agreed to in writing,
  7. # software distributed under the License is distributed on an
  8. # "AS IS" BASIS, WITHOUT ARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  9. from ..functional import deformable_psroi_pooling
  10. from .module import Module
  11. class DeformablePSROIPooling(Module):
  12. def __init__(
  13. self,
  14. no_trans,
  15. part_size,
  16. pooled_h,
  17. pooled_w,
  18. sample_per_part,
  19. spatial_scale,
  20. trans_std: float = 0.1,
  21. **kwargs
  22. ):
  23. super().__init__(**kwargs)
  24. self.no_trans = no_trans
  25. self.part_size = part_size
  26. self.pooled_h = pooled_h
  27. self.pooled_w = pooled_w
  28. self.sample_per_part = sample_per_part
  29. self.spatial_scale = spatial_scale
  30. self.trans_std = trans_std
  31. def forward(self, inp, rois, trans):
  32. return deformable_psroi_pooling(
  33. inp,
  34. rois,
  35. trans,
  36. self.no_trans,
  37. self.part_size,
  38. self.pooled_h,
  39. self.pooled_w,
  40. self.sample_per_part,
  41. self.spatial_scale,
  42. self.trans_std,
  43. )