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
Active Offline Policy Selection With Python

Active Offline Policy Selection This is supporting example code for NeurIPS 2021 paper Active Offline Policy Selection by Ksenia Konyushkova*, Yutian

DeepMind 27 Oct 15, 2022
Official codebase for "B-Pref: Benchmarking Preference-BasedReinforcement Learning" contains scripts to reproduce experiments.

B-Pref Official codebase for B-Pref: Benchmarking Preference-BasedReinforcement Learning contains scripts to reproduce experiments. Install conda env

48 Dec 20, 2022
Official Implementation for Fast Training of Neural Lumigraph Representations using Meta Learning.

Fast Training of Neural Lumigraph Representations using Meta Learning Project Page | Paper | Data Alexander W. Bergman, Petr Kellnhofer, Gordon Wetzst

Alex 39 Oct 08, 2022
SOTA easy to use PyTorch-based DL training library

Easily train or fine-tune SOTA computer vision models from one training repository. SuperGradients Introduction Welcome to SuperGradients, a free open

619 Jan 03, 2023
CS50's Introduction to Artificial Intelligence Test Scripts

CS50's Introduction to Artificial Intelligence Test Scripts 🤷‍♂️ What's this? 🤷‍♀️ This repository contains Python scripts to automate tests for mos

Jet Kan 2 Dec 28, 2022
Deepface is a lightweight face recognition and facial attribute analysis (age, gender, emotion and race) framework for python

deepface Deepface is a lightweight face recognition and facial attribute analysis (age, gender, emotion and race) framework for python. It is a hybrid

Kushal Shingote 2 Feb 10, 2022
Game Agent Framework. Helping you create AIs / Bots that learn to play any game you own!

Serpent.AI - Game Agent Framework (Python) Update: Revival (May 2020) Development work has resumed on the framework with the aim of bringing it into 2

Serpent.AI 6.4k Jan 05, 2023
PyTorch implementation of Soft-DTW: a Differentiable Loss Function for Time-Series in CUDA

Soft DTW Loss Function for PyTorch in CUDA This is a Pytorch Implementation of Soft-DTW: a Differentiable Loss Function for Time-Series which is batch

Keon Lee 76 Dec 20, 2022
Recovering Brain Structure Network Using Functional Connectivity

Recovering-Brain-Structure-Network-Using-Functional-Connectivity Framework: Papers: This repository provides a PyTorch implementation of the models ad

5 Nov 30, 2022
Orchestrating Distributed Materials Acceleration Platform Tutorial

Orchestrating Distributed Materials Acceleration Platform Tutorial This tutorial for orchestrating distributed materials acceleration platform was pre

BIG-MAP 1 Jan 25, 2022
Official PyTorch Implementation for InfoSwap: Information Bottleneck Disentanglement for Identity Swapping

InfoSwap: Information Bottleneck Disentanglement for Identity Swapping Code usage Please check out the user manual page. Paper Gege Gao, Huaibo Huang,

Grace Hešeri 56 Dec 20, 2022
Free-duolingo-plus - Duolingo account creator that uses your invite code to get you free duolingo plus

free-duolingo-plus duolingo account creator that uses your invite code to get yo

1 Jan 06, 2022
:fire: 2D and 3D Face alignment library build using pytorch

Face Recognition Detect facial landmarks from Python using the world's most accurate face alignment network, capable of detecting points in both 2D an

Adrian Bulat 6k Dec 31, 2022
DanceTrack: Multiple Object Tracking in Uniform Appearance and Diverse Motion

DanceTrack DanceTrack is a benchmark for tracking multiple objects in uniform appearance and diverse motion. DanceTrack provides box and identity anno

260 Dec 28, 2022
Implementation of "Selection via Proxy: Efficient Data Selection for Deep Learning" from ICLR 2020.

Selection via Proxy: Efficient Data Selection for Deep Learning This repository contains a refactored implementation of "Selection via Proxy: Efficien

Stanford Future Data Systems 70 Nov 16, 2022
Few-Shot Graph Learning for Molecular Property Prediction

Few-shot Graph Learning for Molecular Property Prediction Introduction This is the source code and dataset for the following paper: Few-shot Graph Lea

Zhichun Guo 94 Dec 12, 2022
利用yolov5和TensorRT从0到1实现目标检测的模型训练到模型部署全过程

写在前面 利用TensorRT加速推理速度是以时间换取精度的做法,意味着在推理速度上升的同时将会有精度的下降,不过不用太担心,精度下降微乎其微。此外,要有NVIDIA显卡,经测试,CUDA10.2可以支持20系列显卡及以下,30系列显卡需要CUDA11.x的支持,并且目前有bug。 默认你已经完成了

Helium 6 Jul 28, 2022
Frigate - NVR With Realtime Object Detection for IP Cameras

A complete and local NVR designed for HomeAssistant with AI object detection. Uses OpenCV and Tensorflow to perform realtime object detection locally for IP cameras.

Blake Blackshear 6.4k Dec 31, 2022
DECAF: Deep Extreme Classification with Label Features

DECAF DECAF: Deep Extreme Classification with Label Features @InProceedings{Mittal21, author = "Mittal, A. and Dahiya, K. and Agrawal, S. and Sain

46 Nov 06, 2022
Using modified BiSeNet for face parsing in PyTorch

face-parsing.PyTorch Contents Training Demo References Training Prepare training data: -- download CelebAMask-HQ dataset -- change file path in the pr

zll 1.6k Jan 08, 2023