QuadTree Attention for Vision Transformers (ICLR2022)

Overview

This repository contains codes for quadtree attention. This repo contains codes for feature matching, image classficiation, object detection and semantic segmentation.

Installation

  1. Compile the quadtree attention operation cd QuadTreeAttention&&python setup.py install
  2. Install the package for each task according to each README.md in the separate directory.

Model Zoo and Baselines

We provide baselines results and model zoo in the following.

Feature matching

  • Quadtree on Feature matching
Method [email protected] [email protected] [email protected] Model
ScanNet 24.9 44.7 61.8 [Google]/[GitHub]
Megadepth 53.5 70.2 82.2 [Google]/[GitHub]

Image classification

  • Quadtree on ImageNet-1K
Method Flops [email protected] Model
Quadtree-B-b0 0.6 72.0 [Google]/[GitHub]
Quadtree-B-b1 2.3 80.0 [Google]/[GitHub]
Quadtree-B-b2 4.5 82.7 [Google]/[GitHub]
Quadtree-B-b3 7.8 83.8 [Google]/[GitHub]
Quadtree-B-b4 11.5 84.0 [Google]/[GitHub]

Object detection and instance segmentation

  • Quadtree on COCO

Baseline Detectors

Method Backbone Pretrain Lr schd Aug Box AP Mask AP Model
RetinaNet Quadtree-B-b0 ImageNet-1K 1x No 38.4 - [Google]/[GitHub]
RetinaNet Quadtree-B-b1 ImageNet-1K 1x No 42.6 - [Google]/[GitHub]
RetinaNet Quadtree-B-b2 ImageNet-1K 1x No 46.2 - [Google]/[GitHub]
RetinaNet Quadtree-B-b3 ImageNet-1K 1x No 47.3 - [Google]/[GitHub]
RetinaNet Quadtree-B-b4 ImageNet-1K 1x No 47.9 - [Google]/[GitHub]
Mask R-CNN Quadtree-B-b0 ImageNet-1K 1x No 38.8 36.5 [Google]/[GitHub]
Mask R-CNN Quadtree-B-b1 ImageNet-1K 1x No 43.5 40.1 [Google]/[GitHub]
Mask R-CNN Quadtree-B-b2 ImageNet-1K 1x No 46.7 42.4 [Google]/[GitHub]
Mask R-CNN Quadtree-B-b3 ImageNet-1K 1x No 48.3 43.3 [Google]/[GitHub]
Mask R-CNN Quadtree-B-b4 ImageNet-1K 1x No 48.6 43.6 [Google]/[GitHub]

Semantic Segmentation

  • Quadtree on ADE20K
Method Backbone Pretrain Iters mIoU Model
Semantic FPN Quadtree-b0 ImageNet-1K 160K 39.9 [Google]/[GitHub]
Semantic FPN Quadtree-b1 ImageNet-1K 160K 44.7 [Google]/[GitHub]
Semantic FPN Quadtree-b2 ImageNet-1K 160K 48.7 [Google]/[GitHub]
Semantic FPN Quadtree-b3 ImageNet-1K 160K 50.0 [Google]/[GitHub]
Semantic FPN Quadtree-b4 ImageNet-1K 160K 50.6 [Google]/[GitHub]

Citation

@article{tang2022quadtree,
  title={QuadTree Attention for Vision Transformers},
  author={Tang, Shitao and Zhang, Jiahui and Zhu, Siyu and Tan, Ping},
  journal={ICLR},
  year={2022}
}
Comments
  • Run QuadTreeAttention on CPU

    Run QuadTreeAttention on CPU

    Hi,

    Thank for your work. We are getting very interesting feature matching results in our tests.

    Now we would like the algorithm running on cpu. We made some changes (over torch) in order to run on cpu, but we are getting below error. Is there a score_computation function implemented to run in cpu?

    File "../../QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/functions/quadtree_attention.py", line 11, in forward x = score_computation_cuda.score_forward(query, key, index)

    opened by hmarichalds 6
  • Image resolution for outdoor feature matching

    Image resolution for outdoor feature matching

    Hello @Tangshitao , Thanks for providing excellent work on QuadTreeAttention.

    I want to point out the 2 bugs in FeatureMatching/notebooks/demo_single_pair.ipynb .

    1. The first bug is while loading the default config of KeyError of block_type, which I have corrected by appending configs from training setup into the cvpr_ds_config.py. I have added following lines in cvpr_ds_config.py:
    # 5. Quadtree
    _CN.COARSE.BLOCK_TYPE = 'quadtree'  
    _CN.COARSE.ATTN_TYPE = 'B'  
    _CN.COARSE.TOPKS=[32, 16, 16]  
    _CN.FINE.BLOCK_TYPE = 'loftr'  
    
    1. The second bug I am facing while inferring outdoor weights during resizing operation at the following line:
      img0_raw = cv2.resize(img0_raw, (img0_raw.shape[1]//8*8, img0_raw.shape[0]//8*8)) # input size should be divisible by 8
      This creates an issue down the line in the quadtree attention block while reshaping due to size mismatch. I have resolved the issue by resizing the image to (640, 480) and it is working fine:
      img0_raw = cv2.resize(img0_raw, (480, 640))
      But I believe during the training on Megadeth images, you have kept the higher side to be 832 while being divisible by 8. But during inference, that same process is not working as it working in the original LoFTR notebook.

    TLDR: Could you remove the bugs in demo_single_pair.ipynb in the default config and the resizing operation in outdoor weights?

    opened by UditSinghParihar 5
  • Support for CUDA version 11.x

    Support for CUDA version 11.x

    I appreciate your great work and thank you for releasing it as opensource.

    I guess the current compiling option with setup.py only works with CUDA version 10.2. Are you guys planning to support CUDA 11.x as well? Some gpus like rtx 30 series do not support CUDA 10.x, which is quite annoying..

    Thank you for your attention :)

    opened by HJoonKwon 2
  • For FeatureMatching, the QuadTreeAttention-based LoFTR is slower than the original LoFTR

    For FeatureMatching, the QuadTreeAttention-based LoFTR is slower than the original LoFTR

    Hi, I find this paper very inspiring and interesting. Really appreciate the code and paper.

    After testing the code on the Feature Matching task, I find it achieves better performance than the original LoFTR. But it runs a bit slower than the original LoFTR. For example, on my machine, for the same input pair of images, it runs ~0.380 s, while the original LoFTR runs ~0.27 s.

    I am wondering if this is expected, or is it possibly due to my improper compilation of the QuadTreeAttention, or for some other reasons?

    Thanks a lot for your help.

    opened by KaneKun 1
  • Running scripts for reproducing causes Segmentation Fault

    Running scripts for reproducing causes Segmentation Fault

    I already have LoFTR setup and on running the scripts for reproducing outdoor results I immedeately get a seg fault. I have compiled the required operations as mentioned in the readme, and the setup seemed to have gone smoothly without any errors. Would appreciate any help regarding this!

    Output of python setup.py install -

    running install
    running bdist_egg
    running egg_info
    writing quadtree_attention_package.egg-info/PKG-INFO
    writing dependency_links to quadtree_attention_package.egg-info/dependency_links.txt
    writing top-level names to quadtree_attention_package.egg-info/top_level.txt
    reading manifest file 'quadtree_attention_package.egg-info/SOURCES.txt'
    writing manifest file 'quadtree_attention_package.egg-info/SOURCES.txt'
    installing library code to build/bdist.linux-x86_64/egg
    running install_lib
    running build_ext
    building 'score_computation_cuda' extension
    Emitting ninja build file /repos/repos/QuadTreeAttention/QuadTreeAttention/build/temp.linux-x86_64-3.8/build.ninja...
    Compiling objects...
    Allowing ninja to set a default number of workers... (overridable by setting the environment variable MAX_JOBS=N)
    /anaconda/envs/loftr/lib/python3.8/site-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.
      warnings.warn(
    /anaconda/envs/loftr/lib/python3.8/site-packages/setuptools/command/easy_install.py:144: EasyInstallDeprecationWarning: easy_install command is deprecated. Use build and pip and other standards-based tools.
      warnings.warn(
    [1/2] c++ -MMD -MF /repos/repos/QuadTreeAttention/QuadTreeAttention/build/temp.linux-x86_64-3.8/QuadtreeAttention/src/score_computation.o.d -pthread -B /anaconda/envs/loftr/compiler_compat -Wno-unused-result -Wsign-compare -DNDEBUG -fwrapv -O2 -Wall -fPIC -O2 -isystem /anaconda/envs/loftr/include -fPIC -O2 -isystem /anaconda/envs/loftr/include -fPIC -I/anaconda/envs/loftr/lib/python3.8/site-packages/torch/include -I/anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include -I/anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/TH -I/anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/THC -I/usr/local/cuda/include -I/anaconda/envs/loftr/include/python3.8 -c -c /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/score_computation.cpp -o /repos/repos/QuadTreeAttention/QuadTreeAttention/build/temp.linux-x86_64-3.8/QuadtreeAttention/src/score_computation.o -g -DTORCH_API_INCLUDE_EXTENSION_H '-DPYBIND11_COMPILER_TYPE="_gcc"' '-DPYBIND11_STDLIB="_libstdcpp"' '-DPYBIND11_BUILD_ABI="_cxxabi1011"' -DTORCH_EXTENSION_NAME=score_computation_cuda -D_GLIBCXX_USE_CXX11_ABI=0 -std=c++14
    In file included from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/ATen/Parallel.h:140:0,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/utils.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/nn/cloneable.h:5,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/nn.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/all.h:13,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/extension.h:4,
                     from /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/score_computation.h:3,
                     from /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/score_computation.cpp:1:
    /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/ATen/ParallelOpenMP.h:83:0: warning: ignoring #pragma omp parallel [-Wunknown-pragmas]
     #pragma omp parallel for if ((end - begin) >= grain_size)
     
    In file included from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/c10/core/DeviceType.h:8:0,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/c10/core/Device.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/c10/core/Allocator.h:6,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/ATen/ATen.h:7,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/types.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader_options.h:4,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/base.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/stateful.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/all.h:8,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/extension.h:4,
                     from /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/score_computation.h:3,
                     from /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/score_computation.cpp:1:
    /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/score_computation.cpp: In function ‘std::vector<at::Tensor> score_cuda_forward(at::Tensor, at::Tensor, at::Tensor)’:
    /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/score_computation.cpp:6:42: warning: ‘at::DeprecatedTypeProperties& at::Tensor::type() const’ is deprecated: Tensor.type() is deprecated. Instead use Tensor.options(), which in many cases (e.g. in a constructor) is a drop-in replacement. If you were using data from type(), that is now available from Tensor itself, so instead of tensor.type().scalar_type(), use tensor.scalar_type() instead and instead of tensor.type().backend() use tensor.device(). [-Wdeprecated-declarations]
     #define CHECK_CUDA(x) TORCH_CHECK(x.type().is_cuda(), #x " must be a CUDA tensor")
                                              ^
    /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/c10/macros/Macros.h:173:65: note: in definition of macro ‘C10_UNLIKELY’
     #define C10_UNLIKELY(expr)  (__builtin_expect(static_cast<bool>(expr), 0))
                                                                     ^~~~
    /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/c10/util/Exception.h:362:7: note: in expansion of macro ‘C10_UNLIKELY_OR_CONST’
       if (C10_UNLIKELY_OR_CONST(!(cond))) {                                 \
           ^~~~~~~~~~~~~~~~~~~~~
    /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/score_computation.cpp:6:23: note: in expansion of macro ‘TORCH_CHECK’
     #define CHECK_CUDA(x) TORCH_CHECK(x.type().is_cuda(), #x " must be a CUDA tensor")
                           ^~~~~~~~~~~
    /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/score_computation.cpp:8:24: note: in expansion of macro ‘CHECK_CUDA’
     #define CHECK_INPUT(x) CHECK_CUDA(x); CHECK_CONTIGUOUS(x)
                            ^~~~~~~~~~
    /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/score_computation.cpp:15:5: note: in expansion of macro ‘CHECK_INPUT’
         CHECK_INPUT(input1);
         ^
    In file included from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/ATen/Tensor.h:3:0,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/ATen/Context.h:4,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/ATen/ATen.h:9,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/types.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader_options.h:4,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/base.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/stateful.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/all.h:8,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/extension.h:4,
                     from /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/score_computation.h:3,
                     from /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/score_computation.cpp:1:
    /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/ATen/core/TensorBody.h:303:30: note: declared here
       DeprecatedTypeProperties & type() const {
                                  ^~~~
    In file included from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/c10/core/DeviceType.h:8:0,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/c10/core/Device.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/c10/core/Allocator.h:6,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/ATen/ATen.h:7,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/types.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader_options.h:4,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/base.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/stateful.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/all.h:8,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/extension.h:4,
                     from /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/score_computation.h:3,
                     from /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/score_computation.cpp:1:
    /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/score_computation.cpp:6:42: warning: ‘at::DeprecatedTypeProperties& at::Tensor::type() const’ is deprecated: Tensor.type() is deprecated. Instead use Tensor.options(), which in many cases (e.g. in a constructor) is a drop-in replacement. If you were using data from type(), that is now available from Tensor itself, so instead of tensor.type().scalar_type(), use tensor.scalar_type() instead and instead of tensor.type().backend() use tensor.device(). [-Wdeprecated-declarations]
     #define CHECK_CUDA(x) TORCH_CHECK(x.type().is_cuda(), #x " must be a CUDA tensor")
                                              ^
    /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/c10/macros/Macros.h:173:65: note: in definition of macro ‘C10_UNLIKELY’
     #define C10_UNLIKELY(expr)  (__builtin_expect(static_cast<bool>(expr), 0))
                                                                     ^~~~
    /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/c10/util/Exception.h:362:7: note: in expansion of macro ‘C10_UNLIKELY_OR_CONST’
       if (C10_UNLIKELY_OR_CONST(!(cond))) {                                 \
           ^~~~~~~~~~~~~~~~~~~~~
    /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/score_computation.cpp:6:23: note: in expansion of macro ‘TORCH_CHECK’
     #define CHECK_CUDA(x) TORCH_CHECK(x.type().is_cuda(), #x " must be a CUDA tensor")
                           ^~~~~~~~~~~
    /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/score_computation.cpp:8:24: note: in expansion of macro ‘CHECK_CUDA’
     #define CHECK_INPUT(x) CHECK_CUDA(x); CHECK_CONTIGUOUS(x)
                            ^~~~~~~~~~
    /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/score_computation.cpp:16:5: note: in expansion of macro ‘CHECK_INPUT’
         CHECK_INPUT(input2);
         ^
    In file included from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/ATen/Tensor.h:3:0,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/ATen/Context.h:4,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/ATen/ATen.h:9,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/types.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader_options.h:4,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/base.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/stateful.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/all.h:8,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/extension.h:4,
                     from /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/score_computation.h:3,
                     from /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/score_computation.cpp:1:
    /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/ATen/core/TensorBody.h:303:30: note: declared here
       DeprecatedTypeProperties & type() const {
                                  ^~~~
    In file included from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/c10/core/DeviceType.h:8:0,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/c10/core/Device.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/c10/core/Allocator.h:6,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/ATen/ATen.h:7,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/types.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader_options.h:4,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/base.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/stateful.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/all.h:8,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/extension.h:4,
                     from /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/score_computation.h:3,
                     from /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/score_computation.cpp:1:
    /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/score_computation.cpp:6:42: warning: ‘at::DeprecatedTypeProperties& at::Tensor::type() const’ is deprecated: Tensor.type() is deprecated. Instead use Tensor.options(), which in many cases (e.g. in a constructor) is a drop-in replacement. If you were using data from type(), that is now available from Tensor itself, so instead of tensor.type().scalar_type(), use tensor.scalar_type() instead and instead of tensor.type().backend() use tensor.device(). [-Wdeprecated-declarations]
     #define CHECK_CUDA(x) TORCH_CHECK(x.type().is_cuda(), #x " must be a CUDA tensor")
                                              ^
    /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/c10/macros/Macros.h:173:65: note: in definition of macro ‘C10_UNLIKELY’
     #define C10_UNLIKELY(expr)  (__builtin_expect(static_cast<bool>(expr), 0))
                                                                     ^~~~
    /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/c10/util/Exception.h:362:7: note: in expansion of macro ‘C10_UNLIKELY_OR_CONST’
       if (C10_UNLIKELY_OR_CONST(!(cond))) {                                 \
           ^~~~~~~~~~~~~~~~~~~~~
    /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/score_computation.cpp:6:23: note: in expansion of macro ‘TORCH_CHECK’
     #define CHECK_CUDA(x) TORCH_CHECK(x.type().is_cuda(), #x " must be a CUDA tensor")
                           ^~~~~~~~~~~
    /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/score_computation.cpp:8:24: note: in expansion of macro ‘CHECK_CUDA’
     #define CHECK_INPUT(x) CHECK_CUDA(x); CHECK_CONTIGUOUS(x)
                            ^~~~~~~~~~
    /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/score_computation.cpp:17:5: note: in expansion of macro ‘CHECK_INPUT’
         CHECK_INPUT(index);
         ^
    In file included from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/ATen/Tensor.h:3:0,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/ATen/Context.h:4,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/ATen/ATen.h:9,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/types.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader_options.h:4,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/base.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/stateful.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/all.h:8,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/extension.h:4,
                     from /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/score_computation.h:3,
                     from /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/score_computation.cpp:1:
    /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/ATen/core/TensorBody.h:303:30: note: declared here
       DeprecatedTypeProperties & type() const {
                                  ^~~~
    In file included from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/c10/core/DeviceType.h:8:0,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/c10/core/Device.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/c10/core/Allocator.h:6,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/ATen/ATen.h:7,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/types.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader_options.h:4,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/base.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/stateful.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/all.h:8,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/extension.h:4,
                     from /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/score_computation.h:3,
                     from /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/score_computation.cpp:1:
    /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/score_computation.cpp: In function ‘std::vector<at::Tensor> score_cuda_backward(at::Tensor, at::Tensor, at::Tensor, at::Tensor)’:
    /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/score_computation.cpp:6:42: warning: ‘at::DeprecatedTypeProperties& at::Tensor::type() const’ is deprecated: Tensor.type() is deprecated. Instead use Tensor.options(), which in many cases (e.g. in a constructor) is a drop-in replacement. If you were using data from type(), that is now available from Tensor itself, so instead of tensor.type().scalar_type(), use tensor.scalar_type() instead and instead of tensor.type().backend() use tensor.device(). [-Wdeprecated-declarations]
     #define CHECK_CUDA(x) TORCH_CHECK(x.type().is_cuda(), #x " must be a CUDA tensor")
                                              ^
    /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/c10/macros/Macros.h:173:65: note: in definition of macro ‘C10_UNLIKELY’
     #define C10_UNLIKELY(expr)  (__builtin_expect(static_cast<bool>(expr), 0))
                                                                     ^~~~
    /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/c10/util/Exception.h:362:7: note: in expansion of macro ‘C10_UNLIKELY_OR_CONST’
       if (C10_UNLIKELY_OR_CONST(!(cond))) {                                 \
           ^~~~~~~~~~~~~~~~~~~~~
    /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/score_computation.cpp:6:23: note: in expansion of macro ‘TORCH_CHECK’
     #define CHECK_CUDA(x) TORCH_CHECK(x.type().is_cuda(), #x " must be a CUDA tensor")
                           ^~~~~~~~~~~
    /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/score_computation.cpp:8:24: note: in expansion of macro ‘CHECK_CUDA’
     #define CHECK_INPUT(x) CHECK_CUDA(x); CHECK_CONTIGUOUS(x)
                            ^~~~~~~~~~
    /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/score_computation.cpp:27:5: note: in expansion of macro ‘CHECK_INPUT’
         CHECK_INPUT(grad_output1);
         ^
    In file included from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/ATen/Tensor.h:3:0,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/ATen/Context.h:4,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/ATen/ATen.h:9,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/types.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader_options.h:4,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/base.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/stateful.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/all.h:8,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/extension.h:4,
                     from /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/score_computation.h:3,
                     from /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/score_computation.cpp:1:
    /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/ATen/core/TensorBody.h:303:30: note: declared here
       DeprecatedTypeProperties & type() const {
                                  ^~~~
    In file included from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/c10/core/DeviceType.h:8:0,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/c10/core/Device.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/c10/core/Allocator.h:6,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/ATen/ATen.h:7,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/types.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader_options.h:4,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/base.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/stateful.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/all.h:8,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/extension.h:4,
                     from /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/score_computation.h:3,
                     from /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/score_computation.cpp:1:
    /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/score_computation.cpp:6:42: warning: ‘at::DeprecatedTypeProperties& at::Tensor::type() const’ is deprecated: Tensor.type() is deprecated. Instead use Tensor.options(), which in many cases (e.g. in a constructor) is a drop-in replacement. If you were using data from type(), that is now available from Tensor itself, so instead of tensor.type().scalar_type(), use tensor.scalar_type() instead and instead of tensor.type().backend() use tensor.device(). [-Wdeprecated-declarations]
     #define CHECK_CUDA(x) TORCH_CHECK(x.type().is_cuda(), #x " must be a CUDA tensor")
                                              ^
    /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/c10/macros/Macros.h:173:65: note: in definition of macro ‘C10_UNLIKELY’
     #define C10_UNLIKELY(expr)  (__builtin_expect(static_cast<bool>(expr), 0))
                                                                     ^~~~
    /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/c10/util/Exception.h:362:7: note: in expansion of macro ‘C10_UNLIKELY_OR_CONST’
       if (C10_UNLIKELY_OR_CONST(!(cond))) {                                 \
           ^~~~~~~~~~~~~~~~~~~~~
    /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/score_computation.cpp:6:23: note: in expansion of macro ‘TORCH_CHECK’
     #define CHECK_CUDA(x) TORCH_CHECK(x.type().is_cuda(), #x " must be a CUDA tensor")
                           ^~~~~~~~~~~
    /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/score_computation.cpp:8:24: note: in expansion of macro ‘CHECK_CUDA’
     #define CHECK_INPUT(x) CHECK_CUDA(x); CHECK_CONTIGUOUS(x)
                            ^~~~~~~~~~
    /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/score_computation.cpp:28:5: note: in expansion of macro ‘CHECK_INPUT’
         CHECK_INPUT(input1);
         ^
    In file included from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/ATen/Tensor.h:3:0,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/ATen/Context.h:4,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/ATen/ATen.h:9,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/types.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader_options.h:4,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/base.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/stateful.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/all.h:8,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/extension.h:4,
                     from /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/score_computation.h:3,
                     from /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/score_computation.cpp:1:
    /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/ATen/core/TensorBody.h:303:30: note: declared here
       DeprecatedTypeProperties & type() const {
                                  ^~~~
    In file included from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/c10/core/DeviceType.h:8:0,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/c10/core/Device.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/c10/core/Allocator.h:6,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/ATen/ATen.h:7,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/types.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader_options.h:4,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/base.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/stateful.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/all.h:8,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/extension.h:4,
                     from /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/score_computation.h:3,
                     from /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/score_computation.cpp:1:
    /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/score_computation.cpp:6:42: warning: ‘at::DeprecatedTypeProperties& at::Tensor::type() const’ is deprecated: Tensor.type() is deprecated. Instead use Tensor.options(), which in many cases (e.g. in a constructor) is a drop-in replacement. If you were using data from type(), that is now available from Tensor itself, so instead of tensor.type().scalar_type(), use tensor.scalar_type() instead and instead of tensor.type().backend() use tensor.device(). [-Wdeprecated-declarations]
     #define CHECK_CUDA(x) TORCH_CHECK(x.type().is_cuda(), #x " must be a CUDA tensor")
                                              ^
    /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/c10/macros/Macros.h:173:65: note: in definition of macro ‘C10_UNLIKELY’
     #define C10_UNLIKELY(expr)  (__builtin_expect(static_cast<bool>(expr), 0))
                                                                     ^~~~
    /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/c10/util/Exception.h:362:7: note: in expansion of macro ‘C10_UNLIKELY_OR_CONST’
       if (C10_UNLIKELY_OR_CONST(!(cond))) {                                 \
           ^~~~~~~~~~~~~~~~~~~~~
    /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/score_computation.cpp:6:23: note: in expansion of macro ‘TORCH_CHECK’
     #define CHECK_CUDA(x) TORCH_CHECK(x.type().is_cuda(), #x " must be a CUDA tensor")
                           ^~~~~~~~~~~
    /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/score_computation.cpp:8:24: note: in expansion of macro ‘CHECK_CUDA’
     #define CHECK_INPUT(x) CHECK_CUDA(x); CHECK_CONTIGUOUS(x)
                            ^~~~~~~~~~
    /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/score_computation.cpp:29:5: note: in expansion of macro ‘CHECK_INPUT’
         CHECK_INPUT(input2);
         ^
    In file included from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/ATen/Tensor.h:3:0,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/ATen/Context.h:4,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/ATen/ATen.h:9,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/types.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader_options.h:4,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/base.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/stateful.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/all.h:8,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/extension.h:4,
                     from /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/score_computation.h:3,
                     from /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/score_computation.cpp:1:
    /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/ATen/core/TensorBody.h:303:30: note: declared here
       DeprecatedTypeProperties & type() const {
                                  ^~~~
    In file included from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/c10/core/DeviceType.h:8:0,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/c10/core/Device.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/c10/core/Allocator.h:6,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/ATen/ATen.h:7,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/types.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader_options.h:4,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/base.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/stateful.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/all.h:8,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/extension.h:4,
                     from /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/score_computation.h:3,
                     from /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/score_computation.cpp:1:
    /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/score_computation.cpp:6:42: warning: ‘at::DeprecatedTypeProperties& at::Tensor::type() const’ is deprecated: Tensor.type() is deprecated. Instead use Tensor.options(), which in many cases (e.g. in a constructor) is a drop-in replacement. If you were using data from type(), that is now available from Tensor itself, so instead of tensor.type().scalar_type(), use tensor.scalar_type() instead and instead of tensor.type().backend() use tensor.device(). [-Wdeprecated-declarations]
     #define CHECK_CUDA(x) TORCH_CHECK(x.type().is_cuda(), #x " must be a CUDA tensor")
                                              ^
    /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/c10/macros/Macros.h:173:65: note: in definition of macro ‘C10_UNLIKELY’
     #define C10_UNLIKELY(expr)  (__builtin_expect(static_cast<bool>(expr), 0))
                                                                     ^~~~
    /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/c10/util/Exception.h:362:7: note: in expansion of macro ‘C10_UNLIKELY_OR_CONST’
       if (C10_UNLIKELY_OR_CONST(!(cond))) {                                 \
           ^~~~~~~~~~~~~~~~~~~~~
    /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/score_computation.cpp:6:23: note: in expansion of macro ‘TORCH_CHECK’
     #define CHECK_CUDA(x) TORCH_CHECK(x.type().is_cuda(), #x " must be a CUDA tensor")
                           ^~~~~~~~~~~
    /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/score_computation.cpp:8:24: note: in expansion of macro ‘CHECK_CUDA’
     #define CHECK_INPUT(x) CHECK_CUDA(x); CHECK_CONTIGUOUS(x)
                            ^~~~~~~~~~
    /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/score_computation.cpp:30:5: note: in expansion of macro ‘CHECK_INPUT’
         CHECK_INPUT(index);
         ^
    In file included from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/ATen/Tensor.h:3:0,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/ATen/Context.h:4,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/ATen/ATen.h:9,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/types.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader_options.h:4,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/base.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/stateful.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/all.h:8,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/extension.h:4,
                     from /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/score_computation.h:3,
                     from /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/score_computation.cpp:1:
    /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/ATen/core/TensorBody.h:303:30: note: declared here
       DeprecatedTypeProperties & type() const {
                                  ^~~~
    [2/2] /usr/local/cuda/bin/nvcc --generate-dependencies-with-compile --dependency-output /repos/repos/QuadTreeAttention/QuadTreeAttention/build/temp.linux-x86_64-3.8/QuadtreeAttention/src/score_computation_kernal.o.d -I/anaconda/envs/loftr/lib/python3.8/site-packages/torch/include -I/anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include -I/anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/TH -I/anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/THC -I/usr/local/cuda/include -I/anaconda/envs/loftr/include/python3.8 -c -c /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/score_computation_kernal.cu -o /repos/repos/QuadTreeAttention/QuadTreeAttention/build/temp.linux-x86_64-3.8/QuadtreeAttention/src/score_computation_kernal.o -D__CUDA_NO_HALF_OPERATORS__ -D__CUDA_NO_HALF_CONVERSIONS__ -D__CUDA_NO_BFLOAT16_CONVERSIONS__ -D__CUDA_NO_HALF2_OPERATORS__ --expt-relaxed-constexpr --compiler-options ''"'"'-fPIC'"'"'' -O2 -DTORCH_API_INCLUDE_EXTENSION_H '-DPYBIND11_COMPILER_TYPE="_gcc"' '-DPYBIND11_STDLIB="_libstdcpp"' '-DPYBIND11_BUILD_ABI="_cxxabi1011"' -DTORCH_EXTENSION_NAME=score_computation_cuda -D_GLIBCXX_USE_CXX11_ABI=0 -gencode=arch=compute_70,code=compute_70 -gencode=arch=compute_70,code=sm_70 -std=c++14
    /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/score_computation_kernal.cu: In lambda function:
    /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/score_computation_kernal.cu:83:43: warning: ‘at::DeprecatedTypeProperties& at::Tensor::type() const’ is deprecated: Tensor.type() is deprecated. Instead use Tensor.options(), which in many cases (e.g. in a constructor) is a drop-in replacement. If you were using data from type(), that is now available from Tensor itself, so instead of tensor.type().scalar_type(), use tensor.scalar_type() instead and instead of tensor.type().backend() use tensor.device(). [-Wdeprecated-declarations]
         AT_DISPATCH_FLOATING_TYPES(query.type(), "ScoreData_ongpu", ([&] {
                                               ^
    /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/ATen/core/TensorBody.h:303:1: note: declared here
       DeprecatedTypeProperties & type() const {
     ^ ~~
    /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/score_computation_kernal.cu:83:98: warning: ‘c10::ScalarType detail::scalar_type(const at::DeprecatedTypeProperties&)’ is deprecated: passing at::DeprecatedTypeProperties to an AT_DISPATCH macro is deprecated, pass an at::ScalarType instead [-Wdeprecated-declarations]
         AT_DISPATCH_FLOATING_TYPES(query.type(), "ScoreData_ongpu", ([&] {
                                                                                                      ^
    /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/ATen/Dispatch.h:109:1: note: declared here
     inline at::ScalarType scalar_type(const at::DeprecatedTypeProperties& t) {
     ^~~~~~~~~~~
    /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/score_computation_kernal.cu: In lambda function:
    /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/score_computation_kernal.cu:171:41: warning: ‘at::DeprecatedTypeProperties& at::Tensor::type() const’ is deprecated: Tensor.type() is deprecated. Instead use Tensor.options(), which in many cases (e.g. in a constructor) is a drop-in replacement. If you were using data from type(), that is now available from Tensor itself, so instead of tensor.type().scalar_type(), use tensor.scalar_type() instead and instead of tensor.type().backend() use tensor.device(). [-Wdeprecated-declarations]
         AT_DISPATCH_FLOATING_TYPES(key.type(), "ScoreDatabackward_ongpu", ([&] {
                                             ^
    /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/ATen/core/TensorBody.h:303:1: note: declared here
       DeprecatedTypeProperties & type() const {
     ^ ~~
    /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/score_computation_kernal.cu:171:96: warning: ‘c10::ScalarType detail::scalar_type(const at::DeprecatedTypeProperties&)’ is deprecated: passing at::DeprecatedTypeProperties to an AT_DISPATCH macro is deprecated, pass an at::ScalarType instead [-Wdeprecated-declarations]
         AT_DISPATCH_FLOATING_TYPES(key.type(), "ScoreDatabackward_ongpu", ([&] {
                                                                                                    ^
    /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/ATen/Dispatch.h:109:1: note: declared here
     inline at::ScalarType scalar_type(const at::DeprecatedTypeProperties& t) {
     ^~~~~~~~~~~
    g++ -pthread -B /anaconda/envs/loftr/compiler_compat -shared -Wl,--allow-shlib-undefined -Wl,-rpath,/anaconda/envs/loftr/lib -Wl,-rpath-link,/anaconda/envs/loftr/lib -L/anaconda/envs/loftr/lib -Wl,--allow-shlib-undefined -Wl,-rpath,/anaconda/envs/loftr/lib -Wl,-rpath-link,/anaconda/envs/loftr/lib -L/anaconda/envs/loftr/lib /repos/repos/QuadTreeAttention/QuadTreeAttention/build/temp.linux-x86_64-3.8/QuadtreeAttention/src/score_computation.o /repos/repos/QuadTreeAttention/QuadTreeAttention/build/temp.linux-x86_64-3.8/QuadtreeAttention/src/score_computation_kernal.o -L/anaconda/envs/loftr/lib/python3.8/site-packages/torch/lib -L/usr/local/cuda/lib64 -lc10 -ltorch -ltorch_cpu -ltorch_python -lcudart -lc10_cuda -ltorch_cuda -o build/lib.linux-x86_64-3.8/score_computation_cuda.cpython-38-x86_64-linux-gnu.so
    building 'value_aggregation_cuda' extension
    Emitting ninja build file /repos/repos/QuadTreeAttention/QuadTreeAttention/build/temp.linux-x86_64-3.8/build.ninja...
    Compiling objects...
    Allowing ninja to set a default number of workers... (overridable by setting the environment variable MAX_JOBS=N)
    [1/2] c++ -MMD -MF /repos/repos/QuadTreeAttention/QuadTreeAttention/build/temp.linux-x86_64-3.8/QuadtreeAttention/src/value_aggregation.o.d -pthread -B /anaconda/envs/loftr/compiler_compat -Wno-unused-result -Wsign-compare -DNDEBUG -fwrapv -O2 -Wall -fPIC -O2 -isystem /anaconda/envs/loftr/include -fPIC -O2 -isystem /anaconda/envs/loftr/include -fPIC -I/anaconda/envs/loftr/lib/python3.8/site-packages/torch/include -I/anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include -I/anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/TH -I/anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/THC -I/usr/local/cuda/include -I/anaconda/envs/loftr/include/python3.8 -c -c /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/value_aggregation.cpp -o /repos/repos/QuadTreeAttention/QuadTreeAttention/build/temp.linux-x86_64-3.8/QuadtreeAttention/src/value_aggregation.o -g -DTORCH_API_INCLUDE_EXTENSION_H '-DPYBIND11_COMPILER_TYPE="_gcc"' '-DPYBIND11_STDLIB="_libstdcpp"' '-DPYBIND11_BUILD_ABI="_cxxabi1011"' -DTORCH_EXTENSION_NAME=value_aggregation_cuda -D_GLIBCXX_USE_CXX11_ABI=0 -std=c++14
    In file included from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/ATen/Parallel.h:140:0,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/utils.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/nn/cloneable.h:5,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/nn.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/all.h:13,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/extension.h:4,
                     from /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/value_aggregation.cpp:1:
    /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/ATen/ParallelOpenMP.h:83:0: warning: ignoring #pragma omp parallel [-Wunknown-pragmas]
     #pragma omp parallel for if ((end - begin) >= grain_size)
     
    In file included from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/c10/core/DeviceType.h:8:0,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/c10/core/Device.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/c10/core/Allocator.h:6,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/ATen/ATen.h:7,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/types.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader_options.h:4,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/base.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/stateful.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/all.h:8,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/extension.h:4,
                     from /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/value_aggregation.cpp:1:
    /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/value_aggregation.cpp: In function ‘void value_aggregation_cuda_forward(at::Tensor, at::Tensor, at::Tensor, at::Tensor)’:
    /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/value_aggregation.cpp:5:42: warning: ‘at::DeprecatedTypeProperties& at::Tensor::type() const’ is deprecated: Tensor.type() is deprecated. Instead use Tensor.options(), which in many cases (e.g. in a constructor) is a drop-in replacement. If you were using data from type(), that is now available from Tensor itself, so instead of tensor.type().scalar_type(), use tensor.scalar_type() instead and instead of tensor.type().backend() use tensor.device(). [-Wdeprecated-declarations]
     #define CHECK_CUDA(x) TORCH_CHECK(x.type().is_cuda(), #x " must be a CUDA tensor")
                                              ^
    /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/c10/macros/Macros.h:173:65: note: in definition of macro ‘C10_UNLIKELY’
     #define C10_UNLIKELY(expr)  (__builtin_expect(static_cast<bool>(expr), 0))
                                                                     ^~~~
    /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/c10/util/Exception.h:362:7: note: in expansion of macro ‘C10_UNLIKELY_OR_CONST’
       if (C10_UNLIKELY_OR_CONST(!(cond))) {                                 \
           ^~~~~~~~~~~~~~~~~~~~~
    /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/value_aggregation.cpp:5:23: note: in expansion of macro ‘TORCH_CHECK’
     #define CHECK_CUDA(x) TORCH_CHECK(x.type().is_cuda(), #x " must be a CUDA tensor")
                           ^~~~~~~~~~~
    /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/value_aggregation.cpp:7:24: note: in expansion of macro ‘CHECK_CUDA’
     #define CHECK_INPUT(x) CHECK_CUDA(x); CHECK_CONTIGUOUS(x)
                            ^~~~~~~~~~
    /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/value_aggregation.cpp:15:5: note: in expansion of macro ‘CHECK_INPUT’
         CHECK_INPUT(score);
         ^
    In file included from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/ATen/Tensor.h:3:0,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/ATen/Context.h:4,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/ATen/ATen.h:9,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/types.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader_options.h:4,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/base.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/stateful.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/all.h:8,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/extension.h:4,
                     from /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/value_aggregation.cpp:1:
    /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/ATen/core/TensorBody.h:303:30: note: declared here
       DeprecatedTypeProperties & type() const {
                                  ^~~~
    In file included from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/c10/core/DeviceType.h:8:0,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/c10/core/Device.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/c10/core/Allocator.h:6,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/ATen/ATen.h:7,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/types.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader_options.h:4,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/base.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/stateful.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/all.h:8,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/extension.h:4,
                     from /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/value_aggregation.cpp:1:
    /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/value_aggregation.cpp:5:42: warning: ‘at::DeprecatedTypeProperties& at::Tensor::type() const’ is deprecated: Tensor.type() is deprecated. Instead use Tensor.options(), which in many cases (e.g. in a constructor) is a drop-in replacement. If you were using data from type(), that is now available from Tensor itself, so instead of tensor.type().scalar_type(), use tensor.scalar_type() instead and instead of tensor.type().backend() use tensor.device(). [-Wdeprecated-declarations]
     #define CHECK_CUDA(x) TORCH_CHECK(x.type().is_cuda(), #x " must be a CUDA tensor")
                                              ^
    /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/c10/macros/Macros.h:173:65: note: in definition of macro ‘C10_UNLIKELY’
     #define C10_UNLIKELY(expr)  (__builtin_expect(static_cast<bool>(expr), 0))
                                                                     ^~~~
    /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/c10/util/Exception.h:362:7: note: in expansion of macro ‘C10_UNLIKELY_OR_CONST’
       if (C10_UNLIKELY_OR_CONST(!(cond))) {                                 \
           ^~~~~~~~~~~~~~~~~~~~~
    /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/value_aggregation.cpp:5:23: note: in expansion of macro ‘TORCH_CHECK’
     #define CHECK_CUDA(x) TORCH_CHECK(x.type().is_cuda(), #x " must be a CUDA tensor")
                           ^~~~~~~~~~~
    /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/value_aggregation.cpp:7:24: note: in expansion of macro ‘CHECK_CUDA’
     #define CHECK_INPUT(x) CHECK_CUDA(x); CHECK_CONTIGUOUS(x)
                            ^~~~~~~~~~
    /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/value_aggregation.cpp:16:5: note: in expansion of macro ‘CHECK_INPUT’
         CHECK_INPUT(value);
         ^
    In file included from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/ATen/Tensor.h:3:0,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/ATen/Context.h:4,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/ATen/ATen.h:9,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/types.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader_options.h:4,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/base.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/stateful.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/all.h:8,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/extension.h:4,
                     from /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/value_aggregation.cpp:1:
    /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/ATen/core/TensorBody.h:303:30: note: declared here
       DeprecatedTypeProperties & type() const {
                                  ^~~~
    In file included from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/c10/core/DeviceType.h:8:0,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/c10/core/Device.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/c10/core/Allocator.h:6,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/ATen/ATen.h:7,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/types.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader_options.h:4,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/base.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/stateful.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/all.h:8,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/extension.h:4,
                     from /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/value_aggregation.cpp:1:
    /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/value_aggregation.cpp:5:42: warning: ‘at::DeprecatedTypeProperties& at::Tensor::type() const’ is deprecated: Tensor.type() is deprecated. Instead use Tensor.options(), which in many cases (e.g. in a constructor) is a drop-in replacement. If you were using data from type(), that is now available from Tensor itself, so instead of tensor.type().scalar_type(), use tensor.scalar_type() instead and instead of tensor.type().backend() use tensor.device(). [-Wdeprecated-declarations]
     #define CHECK_CUDA(x) TORCH_CHECK(x.type().is_cuda(), #x " must be a CUDA tensor")
                                              ^
    /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/c10/macros/Macros.h:173:65: note: in definition of macro ‘C10_UNLIKELY’
     #define C10_UNLIKELY(expr)  (__builtin_expect(static_cast<bool>(expr), 0))
                                                                     ^~~~
    /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/c10/util/Exception.h:362:7: note: in expansion of macro ‘C10_UNLIKELY_OR_CONST’
       if (C10_UNLIKELY_OR_CONST(!(cond))) {                                 \
           ^~~~~~~~~~~~~~~~~~~~~
    /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/value_aggregation.cpp:5:23: note: in expansion of macro ‘TORCH_CHECK’
     #define CHECK_CUDA(x) TORCH_CHECK(x.type().is_cuda(), #x " must be a CUDA tensor")
                           ^~~~~~~~~~~
    /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/value_aggregation.cpp:7:24: note: in expansion of macro ‘CHECK_CUDA’
     #define CHECK_INPUT(x) CHECK_CUDA(x); CHECK_CONTIGUOUS(x)
                            ^~~~~~~~~~
    /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/value_aggregation.cpp:17:5: note: in expansion of macro ‘CHECK_INPUT’
         CHECK_INPUT(index);
         ^
    In file included from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/ATen/Tensor.h:3:0,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/ATen/Context.h:4,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/ATen/ATen.h:9,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/types.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader_options.h:4,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/base.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/stateful.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/all.h:8,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/extension.h:4,
                     from /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/value_aggregation.cpp:1:
    /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/ATen/core/TensorBody.h:303:30: note: declared here
       DeprecatedTypeProperties & type() const {
                                  ^~~~
    /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/value_aggregation.cpp:28:56: warning: ‘T* at::Tensor::data() const [with T = float]’ is deprecated: Tensor.data<T>() is deprecated. Please use Tensor.data_ptr<T>() instead. [-Wdeprecated-declarations]
         value_aggregation_forward_kernel(score.data<float>(), value.data<float>(),
                                                            ^
    In file included from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/ATen/Tensor.h:3:0,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/ATen/Context.h:4,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/ATen/ATen.h:9,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/types.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader_options.h:4,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/base.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/stateful.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/all.h:8,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/extension.h:4,
                     from /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/value_aggregation.cpp:1:
    /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/ATen/core/TensorBody.h:398:7: note: declared here
       T * data() const {
           ^~~~
    /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/value_aggregation.cpp:28:77: warning: ‘T* at::Tensor::data() const [with T = float]’ is deprecated: Tensor.data<T>() is deprecated. Please use Tensor.data_ptr<T>() instead. [-Wdeprecated-declarations]
         value_aggregation_forward_kernel(score.data<float>(), value.data<float>(),
                                                                                 ^
    In file included from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/ATen/Tensor.h:3:0,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/ATen/Context.h:4,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/ATen/ATen.h:9,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/types.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader_options.h:4,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/base.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/stateful.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/all.h:8,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/extension.h:4,
                     from /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/value_aggregation.cpp:1:
    /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/ATen/core/TensorBody.h:398:7: note: declared here
       T * data() const {
           ^~~~
    /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/value_aggregation.cpp:29:26: warning: ‘T* at::Tensor::data() const [with T = long int]’ is deprecated: Tensor.data<T>() is deprecated. Please use Tensor.data_ptr<T>() instead. [-Wdeprecated-declarations]
             index.data<long>(), output.data<float>(), B, N, K, H, M, D,
                              ^
    In file included from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/ATen/Tensor.h:3:0,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/ATen/Context.h:4,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/ATen/ATen.h:9,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/types.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader_options.h:4,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/base.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/stateful.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/all.h:8,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/extension.h:4,
                     from /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/value_aggregation.cpp:1:
    /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/ATen/core/TensorBody.h:398:7: note: declared here
       T * data() const {
           ^~~~
    /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/value_aggregation.cpp:29:48: warning: ‘T* at::Tensor::data() const [with T = float]’ is deprecated: Tensor.data<T>() is deprecated. Please use Tensor.data_ptr<T>() instead. [-Wdeprecated-declarations]
             index.data<long>(), output.data<float>(), B, N, K, H, M, D,
                                                    ^
    In file included from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/ATen/Tensor.h:3:0,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/ATen/Context.h:4,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/ATen/ATen.h:9,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/types.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader_options.h:4,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/base.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/stateful.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/all.h:8,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/extension.h:4,
                     from /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/value_aggregation.cpp:1:
    /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/ATen/core/TensorBody.h:398:7: note: declared here
       T * data() const {
           ^~~~
    In file included from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/c10/core/DeviceType.h:8:0,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/c10/core/Device.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/c10/core/Allocator.h:6,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/ATen/ATen.h:7,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/types.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader_options.h:4,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/base.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/stateful.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/all.h:8,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/extension.h:4,
                     from /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/value_aggregation.cpp:1:
    /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/value_aggregation.cpp: In function ‘void value_aggregation_cuda_backward(at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor)’:
    /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/value_aggregation.cpp:5:42: warning: ‘at::DeprecatedTypeProperties& at::Tensor::type() const’ is deprecated: Tensor.type() is deprecated. Instead use Tensor.options(), which in many cases (e.g. in a constructor) is a drop-in replacement. If you were using data from type(), that is now available from Tensor itself, so instead of tensor.type().scalar_type(), use tensor.scalar_type() instead and instead of tensor.type().backend() use tensor.device(). [-Wdeprecated-declarations]
     #define CHECK_CUDA(x) TORCH_CHECK(x.type().is_cuda(), #x " must be a CUDA tensor")
                                              ^
    /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/c10/macros/Macros.h:173:65: note: in definition of macro ‘C10_UNLIKELY’
     #define C10_UNLIKELY(expr)  (__builtin_expect(static_cast<bool>(expr), 0))
                                                                     ^~~~
    /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/c10/util/Exception.h:362:7: note: in expansion of macro ‘C10_UNLIKELY_OR_CONST’
       if (C10_UNLIKELY_OR_CONST(!(cond))) {                                 \
           ^~~~~~~~~~~~~~~~~~~~~
    /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/value_aggregation.cpp:5:23: note: in expansion of macro ‘TORCH_CHECK’
     #define CHECK_CUDA(x) TORCH_CHECK(x.type().is_cuda(), #x " must be a CUDA tensor")
                           ^~~~~~~~~~~
    /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/value_aggregation.cpp:7:24: note: in expansion of macro ‘CHECK_CUDA’
     #define CHECK_INPUT(x) CHECK_CUDA(x); CHECK_CONTIGUOUS(x)
                            ^~~~~~~~~~
    /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/value_aggregation.cpp:42:5: note: in expansion of macro ‘CHECK_INPUT’
         CHECK_INPUT(score);
         ^
    In file included from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/ATen/Tensor.h:3:0,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/ATen/Context.h:4,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/ATen/ATen.h:9,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/types.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader_options.h:4,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/base.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/stateful.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/all.h:8,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/extension.h:4,
                     from /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/value_aggregation.cpp:1:
    /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/ATen/core/TensorBody.h:303:30: note: declared here
       DeprecatedTypeProperties & type() const {
                                  ^~~~
    In file included from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/c10/core/DeviceType.h:8:0,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/c10/core/Device.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/c10/core/Allocator.h:6,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/ATen/ATen.h:7,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/types.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader_options.h:4,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/base.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/stateful.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/all.h:8,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/extension.h:4,
                     from /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/value_aggregation.cpp:1:
    /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/value_aggregation.cpp:5:42: warning: ‘at::DeprecatedTypeProperties& at::Tensor::type() const’ is deprecated: Tensor.type() is deprecated. Instead use Tensor.options(), which in many cases (e.g. in a constructor) is a drop-in replacement. If you were using data from type(), that is now available from Tensor itself, so instead of tensor.type().scalar_type(), use tensor.scalar_type() instead and instead of tensor.type().backend() use tensor.device(). [-Wdeprecated-declarations]
     #define CHECK_CUDA(x) TORCH_CHECK(x.type().is_cuda(), #x " must be a CUDA tensor")
                                              ^
    /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/c10/macros/Macros.h:173:65: note: in definition of macro ‘C10_UNLIKELY’
     #define C10_UNLIKELY(expr)  (__builtin_expect(static_cast<bool>(expr), 0))
                                                                     ^~~~
    /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/c10/util/Exception.h:362:7: note: in expansion of macro ‘C10_UNLIKELY_OR_CONST’
       if (C10_UNLIKELY_OR_CONST(!(cond))) {                                 \
           ^~~~~~~~~~~~~~~~~~~~~
    /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/value_aggregation.cpp:5:23: note: in expansion of macro ‘TORCH_CHECK’
     #define CHECK_CUDA(x) TORCH_CHECK(x.type().is_cuda(), #x " must be a CUDA tensor")
                           ^~~~~~~~~~~
    /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/value_aggregation.cpp:7:24: note: in expansion of macro ‘CHECK_CUDA’
     #define CHECK_INPUT(x) CHECK_CUDA(x); CHECK_CONTIGUOUS(x)
                            ^~~~~~~~~~
    /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/value_aggregation.cpp:43:5: note: in expansion of macro ‘CHECK_INPUT’
         CHECK_INPUT(value);
         ^
    In file included from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/ATen/Tensor.h:3:0,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/ATen/Context.h:4,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/ATen/ATen.h:9,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/types.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader_options.h:4,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/base.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/stateful.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/all.h:8,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/extension.h:4,
                     from /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/value_aggregation.cpp:1:
    /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/ATen/core/TensorBody.h:303:30: note: declared here
       DeprecatedTypeProperties & type() const {
                                  ^~~~
    In file included from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/c10/core/DeviceType.h:8:0,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/c10/core/Device.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/c10/core/Allocator.h:6,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/ATen/ATen.h:7,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/types.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader_options.h:4,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/base.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/stateful.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/all.h:8,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/extension.h:4,
                     from /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/value_aggregation.cpp:1:
    /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/value_aggregation.cpp:5:42: warning: ‘at::DeprecatedTypeProperties& at::Tensor::type() const’ is deprecated: Tensor.type() is deprecated. Instead use Tensor.options(), which in many cases (e.g. in a constructor) is a drop-in replacement. If you were using data from type(), that is now available from Tensor itself, so instead of tensor.type().scalar_type(), use tensor.scalar_type() instead and instead of tensor.type().backend() use tensor.device(). [-Wdeprecated-declarations]
     #define CHECK_CUDA(x) TORCH_CHECK(x.type().is_cuda(), #x " must be a CUDA tensor")
                                              ^
    /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/c10/macros/Macros.h:173:65: note: in definition of macro ‘C10_UNLIKELY’
     #define C10_UNLIKELY(expr)  (__builtin_expect(static_cast<bool>(expr), 0))
                                                                     ^~~~
    /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/c10/util/Exception.h:362:7: note: in expansion of macro ‘C10_UNLIKELY_OR_CONST’
       if (C10_UNLIKELY_OR_CONST(!(cond))) {                                 \
           ^~~~~~~~~~~~~~~~~~~~~
    /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/value_aggregation.cpp:5:23: note: in expansion of macro ‘TORCH_CHECK’
     #define CHECK_CUDA(x) TORCH_CHECK(x.type().is_cuda(), #x " must be a CUDA tensor")
                           ^~~~~~~~~~~
    /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/value_aggregation.cpp:7:24: note: in expansion of macro ‘CHECK_CUDA’
     #define CHECK_INPUT(x) CHECK_CUDA(x); CHECK_CONTIGUOUS(x)
                            ^~~~~~~~~~
    /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/value_aggregation.cpp:44:5: note: in expansion of macro ‘CHECK_INPUT’
         CHECK_INPUT(index);
         ^
    In file included from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/ATen/Tensor.h:3:0,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/ATen/Context.h:4,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/ATen/ATen.h:9,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/types.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader_options.h:4,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/base.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/stateful.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/all.h:8,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/extension.h:4,
                     from /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/value_aggregation.cpp:1:
    /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/ATen/core/TensorBody.h:303:30: note: declared here
       DeprecatedTypeProperties & type() const {
                                  ^~~~
    In file included from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/c10/core/DeviceType.h:8:0,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/c10/core/Device.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/c10/core/Allocator.h:6,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/ATen/ATen.h:7,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/types.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader_options.h:4,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/base.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/stateful.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/all.h:8,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/extension.h:4,
                     from /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/value_aggregation.cpp:1:
    /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/value_aggregation.cpp:5:42: warning: ‘at::DeprecatedTypeProperties& at::Tensor::type() const’ is deprecated: Tensor.type() is deprecated. Instead use Tensor.options(), which in many cases (e.g. in a constructor) is a drop-in replacement. If you were using data from type(), that is now available from Tensor itself, so instead of tensor.type().scalar_type(), use tensor.scalar_type() instead and instead of tensor.type().backend() use tensor.device(). [-Wdeprecated-declarations]
     #define CHECK_CUDA(x) TORCH_CHECK(x.type().is_cuda(), #x " must be a CUDA tensor")
                                              ^
    /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/c10/macros/Macros.h:173:65: note: in definition of macro ‘C10_UNLIKELY’
     #define C10_UNLIKELY(expr)  (__builtin_expect(static_cast<bool>(expr), 0))
                                                                     ^~~~
    /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/c10/util/Exception.h:362:7: note: in expansion of macro ‘C10_UNLIKELY_OR_CONST’
       if (C10_UNLIKELY_OR_CONST(!(cond))) {                                 \
           ^~~~~~~~~~~~~~~~~~~~~
    /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/value_aggregation.cpp:5:23: note: in expansion of macro ‘TORCH_CHECK’
     #define CHECK_CUDA(x) TORCH_CHECK(x.type().is_cuda(), #x " must be a CUDA tensor")
                           ^~~~~~~~~~~
    /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/value_aggregation.cpp:7:24: note: in expansion of macro ‘CHECK_CUDA’
     #define CHECK_INPUT(x) CHECK_CUDA(x); CHECK_CONTIGUOUS(x)
                            ^~~~~~~~~~
    /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/value_aggregation.cpp:45:5: note: in expansion of macro ‘CHECK_INPUT’
         CHECK_INPUT(grad_output);
         ^
    In file included from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/ATen/Tensor.h:3:0,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/ATen/Context.h:4,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/ATen/ATen.h:9,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/types.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader_options.h:4,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/base.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/stateful.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/all.h:8,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/extension.h:4,
                     from /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/value_aggregation.cpp:1:
    /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/ATen/core/TensorBody.h:303:30: note: declared here
       DeprecatedTypeProperties & type() const {
                                  ^~~~
    /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/value_aggregation.cpp:57:63: warning: ‘T* at::Tensor::data() const [with T = float]’ is deprecated: Tensor.data<T>() is deprecated. Please use Tensor.data_ptr<T>() instead. [-Wdeprecated-declarations]
         value_aggregation_backward_kernel(grad_output.data<float>(), score.data<float>(),
                                                                   ^
    In file included from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/ATen/Tensor.h:3:0,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/ATen/Context.h:4,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/ATen/ATen.h:9,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/types.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader_options.h:4,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/base.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/stateful.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/all.h:8,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/extension.h:4,
                     from /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/value_aggregation.cpp:1:
    /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/ATen/core/TensorBody.h:398:7: note: declared here
       T * data() const {
           ^~~~
    /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/value_aggregation.cpp:57:84: warning: ‘T* at::Tensor::data() const [with T = float]’ is deprecated: Tensor.data<T>() is deprecated. Please use Tensor.data_ptr<T>() instead. [-Wdeprecated-declarations]
         value_aggregation_backward_kernel(grad_output.data<float>(), score.data<float>(),
                                                                                        ^
    In file included from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/ATen/Tensor.h:3:0,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/ATen/Context.h:4,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/ATen/ATen.h:9,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/types.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader_options.h:4,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/base.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/stateful.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/all.h:8,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/extension.h:4,
                     from /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/value_aggregation.cpp:1:
    /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/ATen/core/TensorBody.h:398:7: note: declared here
       T * data() const {
           ^~~~
    /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/value_aggregation.cpp:58:27: warning: ‘T* at::Tensor::data() const [with T = float]’ is deprecated: Tensor.data<T>() is deprecated. Please use Tensor.data_ptr<T>() instead. [-Wdeprecated-declarations]
             value.data<float>(), index.data<long>(), grad_score.data<float>(), grad_value.data<float>(),
                               ^
    In file included from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/ATen/Tensor.h:3:0,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/ATen/Context.h:4,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/ATen/ATen.h:9,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/types.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader_options.h:4,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/base.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/stateful.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/all.h:8,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/extension.h:4,
                     from /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/value_aggregation.cpp:1:
    /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/ATen/core/TensorBody.h:398:7: note: declared here
       T * data() const {
           ^~~~
    /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/value_aggregation.cpp:58:47: warning: ‘T* at::Tensor::data() const [with T = long int]’ is deprecated: Tensor.data<T>() is deprecated. Please use Tensor.data_ptr<T>() instead. [-Wdeprecated-declarations]
             value.data<float>(), index.data<long>(), grad_score.data<float>(), grad_value.data<float>(),
                                                   ^
    In file included from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/ATen/Tensor.h:3:0,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/ATen/Context.h:4,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/ATen/ATen.h:9,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/types.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader_options.h:4,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/base.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/stateful.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/all.h:8,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/extension.h:4,
                     from /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/value_aggregation.cpp:1:
    /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/ATen/core/TensorBody.h:398:7: note: declared here
       T * data() const {
           ^~~~
    /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/value_aggregation.cpp:58:73: warning: ‘T* at::Tensor::data() const [with T = float]’ is deprecated: Tensor.data<T>() is deprecated. Please use Tensor.data_ptr<T>() instead. [-Wdeprecated-declarations]
             value.data<float>(), index.data<long>(), grad_score.data<float>(), grad_value.data<float>(),
                                                                             ^
    In file included from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/ATen/Tensor.h:3:0,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/ATen/Context.h:4,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/ATen/ATen.h:9,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/types.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader_options.h:4,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/base.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/stateful.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/all.h:8,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/extension.h:4,
                     from /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/value_aggregation.cpp:1:
    /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/ATen/core/TensorBody.h:398:7: note: declared here
       T * data() const {
           ^~~~
    /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/value_aggregation.cpp:58:99: warning: ‘T* at::Tensor::data() const [with T = float]’ is deprecated: Tensor.data<T>() is deprecated. Please use Tensor.data_ptr<T>() instead. [-Wdeprecated-declarations]
             value.data<float>(), index.data<long>(), grad_score.data<float>(), grad_value.data<float>(),
                                                                                                       ^
    In file included from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/ATen/Tensor.h:3:0,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/ATen/Context.h:4,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/ATen/ATen.h:9,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/types.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader_options.h:4,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/base.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/stateful.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data.h:3,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/all.h:8,
                     from /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/extension.h:4,
                     from /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/value_aggregation.cpp:1:
    /anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/ATen/core/TensorBody.h:398:7: note: declared here
       T * data() const {
           ^~~~
    [2/2] /usr/local/cuda/bin/nvcc --generate-dependencies-with-compile --dependency-output /repos/repos/QuadTreeAttention/QuadTreeAttention/build/temp.linux-x86_64-3.8/QuadtreeAttention/src/value_aggregation_kernel.o.d -I/anaconda/envs/loftr/lib/python3.8/site-packages/torch/include -I/anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include -I/anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/TH -I/anaconda/envs/loftr/lib/python3.8/site-packages/torch/include/THC -I/usr/local/cuda/include -I/anaconda/envs/loftr/include/python3.8 -c -c /repos/repos/QuadTreeAttention/QuadTreeAttention/QuadtreeAttention/src/value_aggregation_kernel.cu -o /repos/repos/QuadTreeAttention/QuadTreeAttention/build/temp.linux-x86_64-3.8/QuadtreeAttention/src/value_aggregation_kernel.o -D__CUDA_NO_HALF_OPERATORS__ -D__CUDA_NO_HALF_CONVERSIONS__ -D__CUDA_NO_BFLOAT16_CONVERSIONS__ -D__CUDA_NO_HALF2_OPERATORS__ --expt-relaxed-constexpr --compiler-options ''"'"'-fPIC'"'"'' -O2 -DTORCH_API_INCLUDE_EXTENSION_H '-DPYBIND11_COMPILER_TYPE="_gcc"' '-DPYBIND11_STDLIB="_libstdcpp"' '-DPYBIND11_BUILD_ABI="_cxxabi1011"' -DTORCH_EXTENSION_NAME=value_aggregation_cuda -D_GLIBCXX_USE_CXX11_ABI=0 -gencode=arch=compute_70,code=compute_70 -gencode=arch=compute_70,code=sm_70 -std=c++14
    g++ -pthread -B /anaconda/envs/loftr/compiler_compat -shared -Wl,--allow-shlib-undefined -Wl,-rpath,/anaconda/envs/loftr/lib -Wl,-rpath-link,/anaconda/envs/loftr/lib -L/anaconda/envs/loftr/lib -Wl,--allow-shlib-undefined -Wl,-rpath,/anaconda/envs/loftr/lib -Wl,-rpath-link,/anaconda/envs/loftr/lib -L/anaconda/envs/loftr/lib /repos/repos/QuadTreeAttention/QuadTreeAttention/build/temp.linux-x86_64-3.8/QuadtreeAttention/src/value_aggregation.o /repos/repos/QuadTreeAttention/QuadTreeAttention/build/temp.linux-x86_64-3.8/QuadtreeAttention/src/value_aggregation_kernel.o -L/anaconda/envs/loftr/lib/python3.8/site-packages/torch/lib -L/usr/local/cuda/lib64 -lc10 -ltorch -ltorch_cpu -ltorch_python -lcudart -lc10_cuda -ltorch_cuda -o build/lib.linux-x86_64-3.8/value_aggregation_cuda.cpython-38-x86_64-linux-gnu.so
    creating build/bdist.linux-x86_64/egg
    copying build/lib.linux-x86_64-3.8/score_computation_cuda.cpython-38-x86_64-linux-gnu.so -> build/bdist.linux-x86_64/egg
    copying build/lib.linux-x86_64-3.8/value_aggregation_cuda.cpython-38-x86_64-linux-gnu.so -> build/bdist.linux-x86_64/egg
    creating stub loader for score_computation_cuda.cpython-38-x86_64-linux-gnu.so
    creating stub loader for value_aggregation_cuda.cpython-38-x86_64-linux-gnu.so
    byte-compiling build/bdist.linux-x86_64/egg/score_computation_cuda.py to score_computation_cuda.cpython-38.pyc
    byte-compiling build/bdist.linux-x86_64/egg/value_aggregation_cuda.py to value_aggregation_cuda.cpython-38.pyc
    creating build/bdist.linux-x86_64/egg/EGG-INFO
    copying quadtree_attention_package.egg-info/PKG-INFO -> build/bdist.linux-x86_64/egg/EGG-INFO
    copying quadtree_attention_package.egg-info/SOURCES.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
    copying quadtree_attention_package.egg-info/dependency_links.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
    copying quadtree_attention_package.egg-info/top_level.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
    writing build/bdist.linux-x86_64/egg/EGG-INFO/native_libs.txt
    zip_safe flag not set; analyzing archive contents...
    __pycache__.score_computation_cuda.cpython-38: module references __file__
    __pycache__.value_aggregation_cuda.cpython-38: module references __file__
    creating 'dist/quadtree_attention_package-0.0.0-py3.8-linux-x86_64.egg' and adding 'build/bdist.linux-x86_64/egg' to it
    removing 'build/bdist.linux-x86_64/egg' (and everything under it)
    Processing quadtree_attention_package-0.0.0-py3.8-linux-x86_64.egg
    creating /anaconda/envs/loftr/lib/python3.8/site-packages/quadtree_attention_package-0.0.0-py3.8-linux-x86_64.egg
    Extracting quadtree_attention_package-0.0.0-py3.8-linux-x86_64.egg to /anaconda/envs/loftr/lib/python3.8/site-packages
    Adding quadtree-attention-package 0.0.0 to easy-install.pth file
    
    Installed /anaconda/envs/loftr/lib/python3.8/site-packages/quadtree_attention_package-0.0.0-py3.8-linux-x86_64.egg
    Processing dependencies for quadtree-attention-package==0.0.0
    Finished processing dependencies for quadtree-attention-package==0.0.0
    
    opened by amanshenoy 1
  • Why training is ~3x slower than Swin?

    Why training is ~3x slower than Swin?

    Thanks for open sourcing this great work. While trying the code, I found the training speed is ~3x slower than Swin Transformer. For example, for quadtree-b2 which has similar FLOPs as Swin-T, training takes ~2.5s per batch. And it is even slower (3s/batch) when I align its macro design (depths, embedding dims, etc.) with Swin-T.

    Can you give some insights to account for this scenario?

    opened by rayleizhu 2
  • Config questions of notebook and scripts of feature matching

    Config questions of notebook and scripts of feature matching

    Thanks for your excellent work.

    In 'FeatureMatching/scripts/reproduce_test/outdoor_ds_quadtree.sh', 'configs/loftr/outdoor/loftr_ds_quadtree.py' is used. But this config is different from 'cvpr_ds_config.py'.

    In 'FeatureMatching/notebooks' only default settings from 'cvpr_ds_config.py' are used. Which setting should be correct for the QuadTreeAttention in feature matching?

    opened by ewrfcas 2
  • Install Problem

    Install Problem

    Hi! Appreciated for your work.

    Could you provide the environment required to install quadtreeattention module?

    I came up with compile errors on both linux and windows system. I have different conda environments including torch1.10 and torch 1.8 (cu11.1), but all envs met different compile problems. Not sure what's the reason.

    opened by lee-vius 2
  • License?

    License?

    Hi,

    Could you please provide a license for your code? We would like to add QuadTreeAttention to kornia in a similar way, as we have LoFTR now there :)

    -- Best, Dmytro

    opened by ducha-aiki 3
Owner
tangshitao
tangshitao
R interface to fast.ai

R interface to fastai The fastai package provides R wrappers to fastai. The fastai library simplifies training fast and accurate neural nets using mod

113 Dec 20, 2022
PassAPI is a password generator in hash format and fully developed in Python, with the aim of teaching how to handle and build

simple, elegant and safe Introduction PassAPI is a password generator in hash format and fully developed in Python, with the aim of teaching how to ha

Johnsz 2 Mar 02, 2022
Stochastic Extragradient: General Analysis and Improved Rates

Stochastic Extragradient: General Analysis and Improved Rates This repository is the official implementation of the paper "Stochastic Extragradient: G

Hugo Berard 4 Nov 11, 2022
RobustART: Benchmarking Robustness on Architecture Design and Training Techniques

The first comprehensive Robustness investigation benchmark on large-scale dataset ImageNet regarding ARchitecture design and Training techniques towards diverse noises.

132 Dec 23, 2022
Demonstration of transfer of knowledge and generalization with distillation

Distilling-the-Knowledge-in-a-Neural-Network This is an implementation of a part of the paper "Distilling the Knowledge in a Neural Network" (https://

26 Nov 25, 2022
Implementation EfficientDet: Scalable and Efficient Object Detection in PyTorch

Implementation EfficientDet: Scalable and Efficient Object Detection in PyTorch

tonne 1.4k Dec 29, 2022
Self-Supervised Deep Blind Video Super-Resolution

Self-Blind-VSR Paper | Discussion Self-Supervised Deep Blind Video Super-Resolution By Haoran Bai and Jinshan Pan Abstract Existing deep learning-base

Haoran Bai 35 Dec 09, 2022
Flexible-CLmser: Regularized Feedback Connections for Biomedical Image Segmentation

Flexible-CLmser: Regularized Feedback Connections for Biomedical Image Segmentation The skip connections in U-Net pass features from the levels of enc

Boheng Cao 1 Dec 29, 2021
Individual Treatment Effect Estimation

CAPE Individual Treatment Effect Estimation Run CAPE python train_causal.py --loop 10 -m cape_cau -d NI --i_t 1 Run a baseline model python train_cau

S. Deng 4 Sep 02, 2022
Intent parsing and slot filling in PyTorch with seq2seq + attention

PyTorch Seq2Seq Intent Parsing Reframing intent parsing as a human - machine translation task. Work in progress successor to torch-seq2seq-intent-pars

Sean Robertson 160 Jan 07, 2023
patchmatch和patchmatchstereo算法的python实现

patchmatch patchmatch以及patchmatchstereo算法的python版实现 patchmatch参考 github patchmatchstereo参考李迎松博士的c++版代码 由于patchmatchstereo没有做任何优化,并且是python的代码,主要是方便解析算

Sanders Bao 11 Dec 02, 2022
Pytorch implementation of our paper LIMUSE: LIGHTWEIGHT MULTI-MODAL SPEAKER EXTRACTION.

LiMuSE Overview Pytorch implementation of our paper LIMUSE: LIGHTWEIGHT MULTI-MODAL SPEAKER EXTRACTION. LiMuSE explores group communication on a multi

Auditory Model and Cognitive Computing Lab 17 Oct 26, 2022
Pytorch ImageNet1k Loader with Bounding Boxes.

ImageNet 1K Bounding Boxes For some experiments, you might wanna pass only the background of imagenet images vs passing only the foreground. Here, I'v

Amin Ghiasi 11 Oct 15, 2022
YuNetのPythonでのONNX、TensorFlow-Lite推論サンプル

YuNet-ONNX-TFLite-Sample YuNetのPythonでのONNX、TensorFlow-Lite推論サンプルです。 TensorFlow-LiteモデルはPINTO0309/PINTO_model_zoo/144_YuNetのものを使用しています。 Requirement Op

KazuhitoTakahashi 8 Nov 17, 2021
Source code release of the paper: Knowledge-Guided Deep Fractal Neural Networks for Human Pose Estimation.

GNet-pose Project Page: http://guanghan.info/projects/guided-fractal/ UPDATE 9/27/2018: Prototxts and model that achieved 93.9Pck on LSP dataset. http

Guanghan Ning 83 Nov 21, 2022
A Partition Filter Network for Joint Entity and Relation Extraction EMNLP 2021

EMNLP 2021 - A Partition Filter Network for Joint Entity and Relation Extraction

zhy 127 Jan 04, 2023
Steerable discovery of neural audio effects

Steerable discovery of neural audio effects Christian J. Steinmetz and Joshua D. Reiss Abstract Applications of deep learning for audio effects often

Christian J. Steinmetz 182 Dec 29, 2022
[CVPRW 2021] Code for Region-Adaptive Deformable Network for Image Quality Assessment

RADN [CVPRW 2021] Code for Region-Adaptive Deformable Network for Image Quality Assessment [Paper on arXiv] Overview Update [2021/5/7] add codes for W

IIGROUP 53 Dec 28, 2022
Boosting Adversarial Attacks with Enhanced Momentum (BMVC 2021)

EMI-FGSM This repository contains code to reproduce results from the paper: Boosting Adversarial Attacks with Enhanced Momentum (BMVC 2021) Xiaosen Wa

John Hopcroft Lab at HUST 10 Sep 26, 2022
Official pytorch implementation of paper "Image-to-image Translation via Hierarchical Style Disentanglement".

HiSD: Image-to-image Translation via Hierarchical Style Disentanglement Official pytorch implementation of paper "Image-to-image Translation

364 Dec 14, 2022