- 11 Oct, 2020 1 commit
-
-
Vasilis Vryniotis authored
* Adding checks on forward and backward passes. * Adding unit-tests.
-
- 03 Apr, 2020 1 commit
-
-
Francisco Massa authored
* Add clang-format to CircleCI * Fix for clang-format version * Fix lint and remove Travis CI * Seeing if lost commit comes back * Fix lint * Re-enable all tests
-
- 02 Apr, 2020 1 commit
-
-
Francisco Massa authored
* Add test for large batches in DeformConv2d * Clean-up and (try) fix DeformConv2d * Simplifications and bugfixes * Try fix CUDA now
-
- 01 Apr, 2020 1 commit
-
-
Francisco Massa authored
-
- 30 Mar, 2020 1 commit
-
-
Yuwen Xiong authored
* fix shape error for deform conv gpu op recover shape of columns for next iteration in for loops, previous version will cause error when batch_sz / n_parallel_imgs > 1 * fix shape error for deform conv cpu op recover shape of columns for next iteration in for loops, previous version will cause error when batch_sz / n_parallel_imgs > 1
-
- 16 Dec, 2019 1 commit
-
-
Francisco Massa authored
-
- 04 Dec, 2019 1 commit
-
-
pedrofreire authored
* Add Deformable Convolution operation. This adds the deformable convolution operation, as described in Deformable Convolutional Networks (https://arxiv.org/abs/1703.06211). - The code is based on https://github.com/open-mmlab/mmdetection/blob/master/mmdet/ops/dcn/src/deform_conv_cuda.cpp ; the whole code was modified and refactored to remove redundancies and increase clarity, and to adapt it to torchvision. - The CPU part is a direct copy of the CUDA code; it might make sense to do follow-up adjustments in the CPU code to simplify it / optimize it, or to reuse functionality between CPU and CUDA.. - We also add tests (with a non-trivial set of parameters); they can be made more robust by randomizing the parameters and executing multiple times. * Update DeformConv to be more consistent w/ Conv2d * rename some variables and arguments to match Conv2d; * add optional bias; * add weight, offset and bias as module parameters; * remove the n_parallel_imgs parameter; * Fix __repr__; * etc.. Initialization of weight and bias is the same as in Conv2d, and initialization of offsets to zero is the same as in the paper. This also includes some other small unrelated fixes/improvements. * Apply clang-format in DeformConv files. * Import Optional type annotation * Remove offset param from DeformConv2d module - We pass the offset in the forward of DeformConv2d, instead of having an internal parameter. This adds some complexity to creating the module (e.g. now you have to worry about the output size, to create the offset), but it gives more flexibility. - We also use make_tuple for tuple creation, in an attempt to fix error w/ older compilers. * Replace abs by std::abs Old gcc versions were giving wrong results here, because they would resolve abs as int -> int, thus causing undesired truncation. Replacing abs by std::abs should allow for correct overloading of abs as float -> float. * Reorder declarations for clarity * Reorder weight and offset args in deform_conv2d We place offset arg before the weight arg, to be more consistent with DeformConv2d.forward(input, offset) * Replace abs by std::abs in DeformConv_cuda
-