From ee666278b3ef99a316c59e73c23d4857418f841d Mon Sep 17 00:00:00 2001 From: Rosie Wood Date: Wed, 3 Apr 2024 13:18:07 +0100 Subject: [PATCH 1/4] update for cpu --- .../DeformAttn/{ => cpu}/ms_deform_attn_cpu.cpp | 2 +- .../DeformAttn/{ => cpu}/ms_deform_attn_cpu.h | 0 .../DeformAttn/{ => cuda}/ms_deform_attn_cuda.cu | 0 .../DeformAttn/{ => cuda}/ms_deform_attn_cuda.h | 0 .../{ => cuda}/ms_deform_im2col_cuda.cuh | 0 adet/layers/csrc/DeformAttn/ms_deform_attn.h | 4 ++-- adet/layers/ms_deform_attn.py | 16 +++++++++++++--- 7 files changed, 16 insertions(+), 6 deletions(-) rename adet/layers/csrc/DeformAttn/{ => cpu}/ms_deform_attn_cpu.cpp (96%) rename adet/layers/csrc/DeformAttn/{ => cpu}/ms_deform_attn_cpu.h (100%) rename adet/layers/csrc/DeformAttn/{ => cuda}/ms_deform_attn_cuda.cu (100%) rename adet/layers/csrc/DeformAttn/{ => cuda}/ms_deform_attn_cuda.h (100%) rename adet/layers/csrc/DeformAttn/{ => cuda}/ms_deform_im2col_cuda.cuh (100%) diff --git a/adet/layers/csrc/DeformAttn/ms_deform_attn_cpu.cpp b/adet/layers/csrc/DeformAttn/cpu/ms_deform_attn_cpu.cpp similarity index 96% rename from adet/layers/csrc/DeformAttn/ms_deform_attn_cpu.cpp rename to adet/layers/csrc/DeformAttn/cpu/ms_deform_attn_cpu.cpp index e1bf854..0135378 100644 --- a/adet/layers/csrc/DeformAttn/ms_deform_attn_cpu.cpp +++ b/adet/layers/csrc/DeformAttn/cpu/ms_deform_attn_cpu.cpp @@ -11,7 +11,7 @@ #include #include -#include +// #include at::Tensor diff --git a/adet/layers/csrc/DeformAttn/ms_deform_attn_cpu.h b/adet/layers/csrc/DeformAttn/cpu/ms_deform_attn_cpu.h similarity index 100% rename from adet/layers/csrc/DeformAttn/ms_deform_attn_cpu.h rename to adet/layers/csrc/DeformAttn/cpu/ms_deform_attn_cpu.h diff --git a/adet/layers/csrc/DeformAttn/ms_deform_attn_cuda.cu b/adet/layers/csrc/DeformAttn/cuda/ms_deform_attn_cuda.cu similarity index 100% rename from adet/layers/csrc/DeformAttn/ms_deform_attn_cuda.cu rename to adet/layers/csrc/DeformAttn/cuda/ms_deform_attn_cuda.cu diff --git a/adet/layers/csrc/DeformAttn/ms_deform_attn_cuda.h b/adet/layers/csrc/DeformAttn/cuda/ms_deform_attn_cuda.h similarity index 100% rename from adet/layers/csrc/DeformAttn/ms_deform_attn_cuda.h rename to adet/layers/csrc/DeformAttn/cuda/ms_deform_attn_cuda.h diff --git a/adet/layers/csrc/DeformAttn/ms_deform_im2col_cuda.cuh b/adet/layers/csrc/DeformAttn/cuda/ms_deform_im2col_cuda.cuh similarity index 100% rename from adet/layers/csrc/DeformAttn/ms_deform_im2col_cuda.cuh rename to adet/layers/csrc/DeformAttn/cuda/ms_deform_im2col_cuda.cuh diff --git a/adet/layers/csrc/DeformAttn/ms_deform_attn.h b/adet/layers/csrc/DeformAttn/ms_deform_attn.h index 25272cd..494332e 100644 --- a/adet/layers/csrc/DeformAttn/ms_deform_attn.h +++ b/adet/layers/csrc/DeformAttn/ms_deform_attn.h @@ -10,10 +10,10 @@ #pragma once -#include "ms_deform_attn_cpu.h" +#include "cpu/" #ifdef WITH_CUDA -#include "ms_deform_attn_cuda.h" +#include "cuda/ms_deform_attn_cuda.h" #endif diff --git a/adet/layers/ms_deform_attn.py b/adet/layers/ms_deform_attn.py index 73c569c..6064743 100644 --- a/adet/layers/ms_deform_attn.py +++ b/adet/layers/ms_deform_attn.py @@ -148,9 +148,19 @@ def forward(self, query, reference_points, input_flatten, input_spatial_shapes, else: raise ValueError( 'Last dim of reference_points must be 2 or 4, but get {} instead.'.format(reference_points.shape[-1])) - output = _MSDeformAttnFunction.apply( - value, input_spatial_shapes, input_level_start_index, sampling_locations, attention_weights, self.im2col_step) - output = self.output_proj(output) + + try: + # CUDA implementation + output = _MSDeformAttnFunction.apply( + value, input_spatial_shapes, input_level_start_index, sampling_locations, attention_weights, self.im2col_step) + output = self.output_proj(output) + except Exception: + # PyTorch implementation + output = ms_deform_attn_core_pytorch( + value, + input_spatial_shapes, + sampling_locations, + attention_weights) # if decoder: # return output, sampling_locations, attention_weights return output From 981dbf443ea230a6c7aae56091fefae84c442927 Mon Sep 17 00:00:00 2001 From: Rosie Wood Date: Wed, 3 Apr 2024 13:18:41 +0100 Subject: [PATCH 2/4] add gitignore --- .gitignore | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ca0ed7e --- /dev/null +++ b/.gitignore @@ -0,0 +1,56 @@ +# output dir +output +instant_test_output +inference_test_output + + +*.jpg +*.png +*.txt + +# compilation and distribution +__pycache__ +_ext +*.pyc +*.so +AdelaiDet.egg-info/ +build/ +dist/ + +# pytorch/python/numpy formats +*.pth +*.pkl +*.npy + +# ipython/jupyter notebooks +*.ipynb +**/.ipynb_checkpoints/ + +# Editor temporaries +*.swn +*.swo +*.swp +*~ + +# Pycharm editor settings +.idea +.vscode +.python-version + +# project dirs +/datasets/coco +/datasets/lvis +/datasets/pic +/datasets/ytvos +/models +/demo_outputs +/example_inputs +/debug +/weights +/export +eval.sh + +demo/performance.py +demo/demo2.py +train.sh +benchmark.sh From 66abd31812db7d7dd702576633551f5dbaa3ee5a Mon Sep 17 00:00:00 2001 From: Rosie Wood Date: Wed, 3 Apr 2024 13:24:58 +0100 Subject: [PATCH 3/4] fix typo --- adet/layers/csrc/DeformAttn/ms_deform_attn.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/adet/layers/csrc/DeformAttn/ms_deform_attn.h b/adet/layers/csrc/DeformAttn/ms_deform_attn.h index 494332e..2f92f2a 100644 --- a/adet/layers/csrc/DeformAttn/ms_deform_attn.h +++ b/adet/layers/csrc/DeformAttn/ms_deform_attn.h @@ -10,10 +10,10 @@ #pragma once -#include "cpu/" +#include "cpu/ms_deform_attn_cpu.h" #ifdef WITH_CUDA -#include "cuda/ms_deform_attn_cuda.h" +#include "ms_deform_attn_cuda.h" #endif From 92983b6a6f264e3d16d13901ffd58acb462e4c44 Mon Sep 17 00:00:00 2001 From: Rosie Wood Date: Mon, 8 Apr 2024 14:22:01 +0100 Subject: [PATCH 4/4] fix cpu run --- adet/layers/ms_deform_attn.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/adet/layers/ms_deform_attn.py b/adet/layers/ms_deform_attn.py index 6064743..8c5e0c2 100644 --- a/adet/layers/ms_deform_attn.py +++ b/adet/layers/ms_deform_attn.py @@ -153,7 +153,6 @@ def forward(self, query, reference_points, input_flatten, input_spatial_shapes, # CUDA implementation output = _MSDeformAttnFunction.apply( value, input_spatial_shapes, input_level_start_index, sampling_locations, attention_weights, self.im2col_step) - output = self.output_proj(output) except Exception: # PyTorch implementation output = ms_deform_attn_core_pytorch( @@ -161,6 +160,7 @@ def forward(self, query, reference_points, input_flatten, input_spatial_shapes, input_spatial_shapes, sampling_locations, attention_weights) + output = self.output_proj(output) # if decoder: # return output, sampling_locations, attention_weights return output