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
Generate images from texts. In Russian

ruDALL-E Generate images from texts pip install rudalle==1.1.0rc0 🤗 HF Models: ruDALL-E Malevich (XL) ruDALL-E Emojich (XL) (readme here) ruDALL-E S

AI Forever 1.6k Dec 31, 2022
Official implementation of EdiTTS: Score-based Editing for Controllable Text-to-Speech

EdiTTS: Score-based Editing for Controllable Text-to-Speech Official implementation of EdiTTS: Score-based Editing for Controllable Text-to-Speech. Au

Neosapience 98 Dec 25, 2022
Introduction to Statistics and Basics of Mathematics for Data Science - The Hacker's Way

HackerMath for Machine Learning “Study hard what interests you the most in the most undisciplined, irreverent and original manner possible.” ― Richard

Amit Kapoor 1.4k Dec 22, 2022
Continual reinforcement learning baselines: experiment specifications, implementation of existing methods, and common metrics. Easily extensible to new methods.

Continual Reinforcement Learning This repository provides a simple way to run continual reinforcement learning experiments in PyTorch, including evalu

55 Dec 24, 2022
Universal Adversarial Examples in Remote Sensing: Methodology and Benchmark

Universal Adversarial Examples in Remote Sensing: Methodology and Benchmark Yong

19 Dec 17, 2022
This repository contain code on Novelty-Driven Binary Particle Swarm Optimisation for Truss Optimisation Problems.

This repository contain code on Novelty-Driven Binary Particle Swarm Optimisation for Truss Optimisation Problems. The main directory include the code

0 Dec 23, 2021
This repository contains the code for the paper 'PARM: Paragraph Aggregation Retrieval Model for Dense Document-to-Document Retrieval' published at ECIR'22.

Paragraph Aggregation Retrieval Model (PARM) for Dense Document-to-Document Retrieval This repository contains the code for the paper PARM: A Paragrap

Sophia Althammer 33 Aug 26, 2022
A PyTorch Toolbox for Face Recognition

FaceX-Zoo FaceX-Zoo is a PyTorch toolbox for face recognition. It provides a training module with various supervisory heads and backbones towards stat

JDAI-CV 1.6k Jan 06, 2023
Implementation of Wasserstein adversarial attacks.

Stronger and Faster Wasserstein Adversarial Attacks Code for Stronger and Faster Wasserstein Adversarial Attacks, appeared in ICML 2020. This reposito

21 Oct 06, 2022
EncT5: Fine-tuning T5 Encoder for Non-autoregressive Tasks

EncT5 (Unofficial) Pytorch Implementation of EncT5: Fine-tuning T5 Encoder for Non-autoregressive Tasks About Finetune T5 model for classification & r

Jangwon Park 34 Jan 01, 2023
Rate-limit-semaphore - Semaphore implementation with rate limit restriction for async-style (any core)

Rate Limit Semaphore Rate limit semaphore for async-style (any core) There are t

Yan Kurbatov 4 Jun 21, 2022
'Aligned mixture of latent dynamical systems' (amLDS) for stimulus decoding probabilistic manifold alignment across animals. P. Herrero-Vidal et al. NeurIPS 2021 code.

Across-animal odor decoding by probabilistic manifold alignment (NeurIPS 2021) This repository is the official implementation of aligned mixture of la

Pedro Herrero-Vidal 3 Jul 12, 2022
Code accompanying our NeurIPS 2021 traffic4cast challenge

Traffic forecasting on traffic movie snippets This repo contains all code to reproduce our approach to the IARAI Traffic4cast 2021 challenge. In the c

Nina Wiedemann 2 Aug 09, 2022
The official implementation of the Hybrid Self-Attention NEAT algorithm

PUREPLES - Pure Python Library for ES-HyperNEAT About This is a library of evolutionary algorithms with a focus on neuroevolution, implemented in pure

Adrian Westh 91 Dec 12, 2022
Testability-Aware Low Power Controller Design with Evolutionary Learning, ITC2021

Testability-Aware Low Power Controller Design with Evolutionary Learning This repo contains the source code of Testability-Aware Low Power Controller

Lee Man 1 Dec 26, 2021
The authors' implementation of Unsupervised Adversarial Learning of 3D Human Pose from 2D Joint Locations

Unsupervised Adversarial Learning of 3D Human Pose from 2D Joint Locations This is the authors' implementation of Unsupervised Adversarial Learning of

Dwango Media Village 140 Dec 07, 2022
Implementation of Basic Machine Learning Algorithms on small datasets using Scikit Learn.

Basic Machine Learning Algorithms All the basic Machine Learning Algorithms are implemented in Python using libraries Acknowledgements Machine Learnin

Piyal Banik 47 Oct 16, 2022
This project uses Template Matching technique for object detecting by detection of template image over base image.

Object Detection Project Using OpenCV This project uses Template Matching technique for object detecting by detection the template image over base ima

Pratham Bhatnagar 7 May 29, 2022
Emotion classification of online comments based on RNN

emotion_classification Emotion classification of online comments based on RNN, the accuracy of the model in the test set reaches 99% data: Large Movie

1 Nov 23, 2021
Scene-Text-Detection-and-Recognition (Pytorch)

Scene-Text-Detection-and-Recognition (Pytorch) Competition URL: https://tbrain.t

Gi-Luen Huang 9 Jan 02, 2023