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
🔅 Shapash makes Machine Learning models transparent and understandable by everyone

🎉 What's new ? Version New Feature Description Tutorial 1.6.x Explainability Quality Metrics To help increase confidence in explainability methods, y

MAIF 2.1k Dec 27, 2022
TinyML Cookbook, published by Packt

TinyML Cookbook This is the code repository for TinyML Cookbook, published by Packt. Author: Gian Marco Iodice Publisher: Packt About the book This bo

Packt 93 Dec 29, 2022
Continuous Query Decomposition for Complex Query Answering in Incomplete Knowledge Graphs

Continuous Query Decomposition This repository contains the official implementation for our ICLR 2021 (Oral) paper, Complex Query Answering with Neura

UCL Natural Language Processing 71 Dec 29, 2022
The code for 'Deep Residual Fourier Transformation for Single Image Deblurring'

Deep Residual Fourier Transformation for Single Image Deblurring Xintian Mao, Yiming Liu, Wei Shen, Qingli Li and Yan Wang code will be released soon

145 Dec 13, 2022
JASS: Japanese-specific Sequence to Sequence Pre-training for Neural Machine Translation

JASS: Japanese-specific Sequence to Sequence Pre-training for Neural Machine Translation This the repository for this paper. Find extensions of this w

Zhuoyuan Mao 14 Oct 26, 2022
Ian Covert 130 Jan 01, 2023
Rot-Pro: Modeling Transitivity by Projection in Knowledge Graph Embedding

Rot-Pro : Modeling Transitivity by Projection in Knowledge Graph Embedding This repository contains the source code for the Rot-Pro model, presented a

Tewi 9 Sep 28, 2022
Stochastic Scene-Aware Motion Prediction

Stochastic Scene-Aware Motion Prediction [Project Page] [Paper] Description This repository contains the training code for MotionNet and GoalNet of SA

Mohamed Hassan 31 Dec 09, 2022
PyTorch implementation of DirectCLR from paper Understanding Dimensional Collapse in Contrastive Self-supervised Learning

DirectCLR DirectCLR is a simple contrastive learning model for visual representation learning. It does not require a trainable projector as SimCLR. It

Meta Research 49 Dec 21, 2022
시각 장애인을 위한 스마트 지팡이에 활용될 딥러닝 모델 (DL Model Repo)

SmartCane-DL-Model Smart Cane using semantic segmentation 참고한 Github repositoy 🔗 https://github.com/JunHyeok96/Road-Segmentation.git 데이터셋 🔗 https://

반드시 졸업한다 (Team Just Graduate) 4 Dec 03, 2021
OneFlow is a performance-centered and open-source deep learning framework.

OneFlow OneFlow is a performance-centered and open-source deep learning framework. Latest News Version 0.5.0 is out! First class support for eager exe

OneFlow 4.2k Jan 07, 2023
Pipeline code for Sequential-GAM(Genome Architecture Mapping).

Sequential-GAM Pipeline code for Sequential-GAM(Genome Architecture Mapping). mapping whole_preprocess.sh include the whole processing of mapping. usa

3 Nov 03, 2022
Authors implementation of LieTransformer: Equivariant Self-Attention for Lie Groups

LieTransformer This repository contains the implementation of the LieTransformer used for experiments in the paper LieTransformer: Equivariant self-at

35 Oct 18, 2022
Real-Time Seizure Detection using EEG: A Comprehensive Comparison of Recent Approaches under a Realistic Setting

Real-Time Seizure Detection using Electroencephalogram (EEG) This is the repository for "Real-Time Seizure Detection using EEG: A Comprehensive Compar

AITRICS 30 Dec 17, 2022
GPOEO is a micro-intrusive GPU online energy optimization framework for iterative applications

GPOEO GPOEO is a micro-intrusive GPU online energy optimization framework for iterative applications. We also implement ODPP [1] as a comparison. [1]

瑞雪轻飏 8 Sep 10, 2022
CenterPoint 3D Object Detection and Tracking using center points in the bird-eye view.

CenterPoint 3D Object Detection and Tracking using center points in the bird-eye view. Center-based 3D Object Detection and Tracking, Tianwei Yin, Xin

Tianwei Yin 134 Dec 23, 2022
Type4Py: Deep Similarity Learning-Based Type Inference for Python

Type4Py: Deep Similarity Learning-Based Type Inference for Python This repository contains the implementation of Type4Py and instructions for re-produ

Software Analytics Lab 45 Dec 15, 2022
An implementation of a discriminant function over a normal distribution to help classify datasets.

CS4044D Machine Learning Assignment 1 By Dev Sony, B180297CS The question, report and source code can be found here. Github Repo Solution 1 Based on t

Dev Sony 6 Nov 09, 2021
The implementation of ICASSP 2020 paper "Pixel-level self-paced learning for super-resolution"

Pixel-level Self-Paced Learning for Super-Resolution This is an official implementaion of the paper Pixel-level Self-Paced Learning for Super-Resoluti

Elon Lin 41 Dec 15, 2022
An implementation of "Optimal Textures: Fast and Robust Texture Synthesis and Style Transfer through Optimal Transport"

Optex An implementation of Optimal Textures: Fast and Robust Texture Synthesis and Style Transfer through Optimal Transport for TU Delft CS4240. You c

Hans Brouwer 33 Jan 05, 2023