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
PyTorch implementation for "HyperSPNs: Compact and Expressive Probabilistic Circuits", NeurIPS 2021

HyperSPN This repository contains code for the paper: HyperSPNs: Compact and Expressive Probabilistic Circuits "HyperSPNs: Compact and Expressive Prob

8 Nov 08, 2022
Norm-based Analysis of Transformer

Norm-based Analysis of Transformer Implementations for 2 papers introducing to analyze Transformers using vector norms: Kobayashi+'20 Attention is Not

Goro Kobayashi 52 Dec 05, 2022
PICK: Processing Key Information Extraction from Documents using Improved Graph Learning-Convolutional Networks

Code for the paper "PICK: Processing Key Information Extraction from Documents using Improved Graph Learning-Convolutional Networks" (ICPR 2020)

Wenwen Yu 498 Dec 24, 2022
PyTorch implementation of UPFlow (unsupervised optical flow learning)

UPFlow: Upsampling Pyramid for Unsupervised Optical Flow Learning By Kunming Luo, Chuan Wang, Shuaicheng Liu, Haoqiang Fan, Jue Wang, Jian Sun Megvii

kunming luo 87 Dec 20, 2022
Code for Paper "Evidential Softmax for Sparse MultimodalDistributions in Deep Generative Models"

Evidential Softmax for Sparse Multimodal Distributions in Deep Generative Models Abstract Many applications of generative models rely on the marginali

Stanford Intelligent Systems Laboratory 9 Jun 06, 2022
The final project of "Applying AI to 3D Medical Imaging Data" from "AI for Healthcare" nanodegree - Udacity.

Quantifying Hippocampus Volume for Alzheimer's Progression Background Alzheimer's disease (AD) is a progressive neurodegenerative disorder that result

Omar Laham 1 Jan 14, 2022
Learning hidden low dimensional dyanmics using a Generalized Onsager Principle and neural networks

OnsagerNet Learning hidden low dimensional dyanmics using a Generalized Onsager Principle and neural networks This is the original pyTorch implemenati

Haijun.Yu 3 Aug 24, 2022
Official code of "Mitigating the Mutual Error Amplification for Semi-Supervised Object Detection"

CrossTeaching-SSOD 0. Introduction Official code of "Mitigating the Mutual Error Amplification for Semi-Supervised Object Detection" This repo include

Bruno Ma 9 Nov 29, 2022
Code for training and evaluation of the model from "Language Generation with Recurrent Generative Adversarial Networks without Pre-training"

Language Generation with Recurrent Generative Adversarial Networks without Pre-training Code for training and evaluation of the model from "Language G

Amir Bar 253 Sep 14, 2022
基于AlphaPose的TensorRT加速

1. Requirements CUDA 11.1 TensorRT 7.2.2 Python 3.8.5 Cython PyTorch 1.8.1 torchvision 0.9.1 numpy 1.17.4 (numpy版本过高会出报错 this issue ) python-package s

52 Dec 06, 2022
High-resolution networks and Segmentation Transformer for Semantic Segmentation

High-resolution networks and Segmentation Transformer for Semantic Segmentation Branches This is the implementation for HRNet + OCR. The PyTroch 1.1 v

HRNet 2.8k Jan 07, 2023
PyTorch implementation of Progressive Growing of GANs for Improved Quality, Stability, and Variation.

PyTorch implementation of Progressive Growing of GANs for Improved Quality, Stability, and Variation. Warning: the master branch might collapse. To ob

559 Dec 14, 2022
Official PyTorch implementation of "BlendGAN: Implicitly GAN Blending for Arbitrary Stylized Face Generation" (NeurIPS 2021)

BlendGAN: Implicitly GAN Blending for Arbitrary Stylized Face Generation Official PyTorch implementation of the NeurIPS 2021 paper Mingcong Liu, Qiang

onion 462 Dec 29, 2022
PyTorch IPFS Dataset

PyTorch IPFS Dataset IPFSDataset(Dataset) See the jupyter notepad to see how it works and how it interacts with a standard pytorch DataLoader You need

Jake Kalstad 2 Apr 13, 2022
(CVPR2021) DANNet: A One-Stage Domain Adaptation Network for Unsupervised Nighttime Semantic Segmentation

DANNet: A One-Stage Domain Adaptation Network for Unsupervised Nighttime Semantic Segmentation CVPR2021(oral) [arxiv] Requirements python3.7 pytorch==

W-zx-Y 85 Dec 07, 2022
Towards Improving Embedding Based Models of Social Network Alignment via Pseudo Anchors

PSML paper: Towards Improving Embedding Based Models of Social Network Alignment via Pseudo Anchors PSML_IONE,PSML_ABNE,PSML_DEEPLINK,PSML_SNNA: numpy

13 Nov 27, 2022
imbalanced-DL: Deep Imbalanced Learning in Python

imbalanced-DL: Deep Imbalanced Learning in Python Overview imbalanced-DL (imported as imbalanceddl) is a Python package designed to make deep imbalanc

NTUCSIE CLLab 19 Dec 28, 2022
🚩🚩🚩

My CTF Challenges 2021 AIS3 Pre-exam / MyFirstCTF Name Category Keywords Difficulty ⒸⓄⓋⒾⒹ-①⑨ (MyFirstCTF Only) Reverse Baby ★ Piano Reverse C#, .NET ★

6 Oct 28, 2021
Source code of NeurIPS 2021 Paper ''Be Confident! Towards Trustworthy Graph Neural Networks via Confidence Calibration''

CaGCN This repo is for source code of NeurIPS 2021 paper "Be Confident! Towards Trustworthy Graph Neural Networks via Confidence Calibration". Paper L

6 Dec 19, 2022
Object detection using yolo-tiny model and opencv used as backend

Object detection Algorithm used : Yolo algorithm Backend : opencv Library required: opencv = 4.5.4-dev' Quick Overview about structure 1) main.py Load

2 Jul 06, 2022