Kernels:
Trusted publisher
Uploaded using `kernel-builder`.
Browse filesThis view is limited to 50 files because it contains too many changes. See raw diff
- build/torch210-cu126-aarch64-linux/__init__.py +46 -0
- build/torch210-cu126-aarch64-linux/_deformable_detr_cuda_fe2bb66.abi3.so +3 -0
- build/torch210-cu126-aarch64-linux/_ops.py +9 -0
- build/torch210-cu126-aarch64-linux/layers.py +84 -0
- build/torch210-cu126-aarch64-linux/metadata.json +43 -0
- build/torch210-cu126-aarch64-linux/metadata.json.sigstore +1 -0
- build/torch210-cu126-aarch64-linux/symbols.json +138 -0
- build/torch210-cu128-aarch64-linux/__init__.py +46 -0
- build/torch210-cu128-aarch64-linux/_deformable_detr_cuda_fe2bb66.abi3.so +3 -0
- build/torch210-cu128-aarch64-linux/_ops.py +9 -0
- build/torch210-cu128-aarch64-linux/layers.py +84 -0
- build/torch210-cu128-aarch64-linux/metadata.json +46 -0
- build/torch210-cu128-aarch64-linux/metadata.json.sigstore +1 -0
- build/torch210-cu128-aarch64-linux/symbols.json +138 -0
- build/torch210-cu130-aarch64-linux/__init__.py +46 -0
- build/torch210-cu130-aarch64-linux/_deformable_detr_cuda_fe2bb66.abi3.so +3 -0
- build/torch210-cu130-aarch64-linux/_ops.py +9 -0
- build/torch210-cu130-aarch64-linux/layers.py +84 -0
- build/torch210-cu130-aarch64-linux/metadata.json +46 -0
- build/torch210-cu130-aarch64-linux/metadata.json.sigstore +1 -0
- build/torch210-cu130-aarch64-linux/symbols.json +138 -0
- build/torch211-cu126-aarch64-linux/__init__.py +46 -0
- build/torch211-cu126-aarch64-linux/_deformable_detr_cuda_fe2bb66.abi3.so +3 -0
- build/torch211-cu126-aarch64-linux/_ops.py +9 -0
- build/torch211-cu126-aarch64-linux/layers.py +84 -0
- build/torch211-cu126-aarch64-linux/metadata.json +43 -0
- build/torch211-cu126-aarch64-linux/metadata.json.sigstore +1 -0
- build/torch211-cu126-aarch64-linux/symbols.json +138 -0
- build/torch211-cu128-aarch64-linux/__init__.py +46 -0
- build/torch211-cu128-aarch64-linux/_deformable_detr_cuda_fe2bb66.abi3.so +3 -0
- build/torch211-cu128-aarch64-linux/_ops.py +9 -0
- build/torch211-cu128-aarch64-linux/layers.py +84 -0
- build/torch211-cu128-aarch64-linux/metadata.json +46 -0
- build/torch211-cu128-aarch64-linux/metadata.json.sigstore +1 -0
- build/torch211-cu128-aarch64-linux/symbols.json +138 -0
- build/torch211-cu130-aarch64-linux/__init__.py +46 -0
- build/torch211-cu130-aarch64-linux/_deformable_detr_cuda_fe2bb66.abi3.so +3 -0
- build/torch211-cu130-aarch64-linux/_ops.py +9 -0
- build/torch211-cu130-aarch64-linux/layers.py +84 -0
- build/torch211-cu130-aarch64-linux/metadata.json +46 -0
- build/torch211-cu130-aarch64-linux/metadata.json.sigstore +1 -0
- build/torch211-cu130-aarch64-linux/symbols.json +138 -0
- build/torch212-cu126-aarch64-linux/__init__.py +46 -0
- build/torch212-cu126-aarch64-linux/_deformable_detr_cuda_fe2bb66.abi3.so +3 -0
- build/torch212-cu126-aarch64-linux/_ops.py +9 -0
- build/torch212-cu126-aarch64-linux/layers.py +84 -0
- build/torch212-cu126-aarch64-linux/metadata.json +43 -0
- build/torch212-cu126-aarch64-linux/metadata.json.sigstore +1 -0
- build/torch212-cu126-aarch64-linux/symbols.json +138 -0
- build/torch212-cu130-aarch64-linux/__init__.py +46 -0
build/torch210-cu126-aarch64-linux/__init__.py
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
from typing import List
|
| 2 |
+
import torch
|
| 3 |
+
|
| 4 |
+
from ._ops import ops
|
| 5 |
+
from . import layers
|
| 6 |
+
|
| 7 |
+
|
| 8 |
+
def ms_deform_attn_backward(
|
| 9 |
+
value: torch.Tensor,
|
| 10 |
+
spatial_shapes: torch.Tensor,
|
| 11 |
+
level_start_index: torch.Tensor,
|
| 12 |
+
sampling_loc: torch.Tensor,
|
| 13 |
+
attn_weight: torch.Tensor,
|
| 14 |
+
grad_output: torch.Tensor,
|
| 15 |
+
im2col_step: int,
|
| 16 |
+
) -> List[torch.Tensor]:
|
| 17 |
+
return ops.ms_deform_attn_backward(
|
| 18 |
+
value,
|
| 19 |
+
spatial_shapes,
|
| 20 |
+
level_start_index,
|
| 21 |
+
sampling_loc,
|
| 22 |
+
attn_weight,
|
| 23 |
+
grad_output,
|
| 24 |
+
im2col_step,
|
| 25 |
+
)
|
| 26 |
+
|
| 27 |
+
|
| 28 |
+
def ms_deform_attn_forward(
|
| 29 |
+
value: torch.Tensor,
|
| 30 |
+
spatial_shapes: torch.Tensor,
|
| 31 |
+
level_start_index: torch.Tensor,
|
| 32 |
+
sampling_loc: torch.Tensor,
|
| 33 |
+
attn_weight: torch.Tensor,
|
| 34 |
+
im2col_step: int,
|
| 35 |
+
) -> torch.Tensor:
|
| 36 |
+
return ops.ms_deform_attn_forward(
|
| 37 |
+
value,
|
| 38 |
+
spatial_shapes,
|
| 39 |
+
level_start_index,
|
| 40 |
+
sampling_loc,
|
| 41 |
+
attn_weight,
|
| 42 |
+
im2col_step,
|
| 43 |
+
)
|
| 44 |
+
|
| 45 |
+
|
| 46 |
+
__all__ = ["layers", "ms_deform_attn_forward", "ms_deform_attn_backward"]
|
build/torch210-cu126-aarch64-linux/_deformable_detr_cuda_fe2bb66.abi3.so
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:44601388b33d55f8b48b7c95f533b37454bac4f3eef7ee31268883830e30d677
|
| 3 |
+
size 6661560
|
build/torch210-cu126-aarch64-linux/_ops.py
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import torch
|
| 2 |
+
from . import _deformable_detr_cuda_fe2bb66
|
| 3 |
+
ops = torch.ops._deformable_detr_cuda_fe2bb66
|
| 4 |
+
|
| 5 |
+
def add_op_namespace_prefix(op_name: str):
|
| 6 |
+
"""
|
| 7 |
+
Prefix op by namespace.
|
| 8 |
+
"""
|
| 9 |
+
return f"_deformable_detr_cuda_fe2bb66::{op_name}"
|
build/torch210-cu126-aarch64-linux/layers.py
ADDED
|
@@ -0,0 +1,84 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
from typing import List, Union, Tuple
|
| 2 |
+
|
| 3 |
+
from torch import Tensor
|
| 4 |
+
from torch.autograd import Function
|
| 5 |
+
from torch.autograd.function import once_differentiable
|
| 6 |
+
import torch.nn as nn
|
| 7 |
+
|
| 8 |
+
from ._ops import ops
|
| 9 |
+
|
| 10 |
+
|
| 11 |
+
class MultiScaleDeformableAttentionFunction(Function):
|
| 12 |
+
@staticmethod
|
| 13 |
+
def forward(
|
| 14 |
+
context,
|
| 15 |
+
value: Tensor,
|
| 16 |
+
value_spatial_shapes: Tensor,
|
| 17 |
+
value_level_start_index: Tensor,
|
| 18 |
+
sampling_locations: Tensor,
|
| 19 |
+
attention_weights: Tensor,
|
| 20 |
+
im2col_step: int,
|
| 21 |
+
):
|
| 22 |
+
context.im2col_step = im2col_step
|
| 23 |
+
output = ops.ms_deform_attn_forward(
|
| 24 |
+
value,
|
| 25 |
+
value_spatial_shapes,
|
| 26 |
+
value_level_start_index,
|
| 27 |
+
sampling_locations,
|
| 28 |
+
attention_weights,
|
| 29 |
+
context.im2col_step,
|
| 30 |
+
)
|
| 31 |
+
context.save_for_backward(
|
| 32 |
+
value,
|
| 33 |
+
value_spatial_shapes,
|
| 34 |
+
value_level_start_index,
|
| 35 |
+
sampling_locations,
|
| 36 |
+
attention_weights,
|
| 37 |
+
)
|
| 38 |
+
return output
|
| 39 |
+
|
| 40 |
+
@staticmethod
|
| 41 |
+
@once_differentiable
|
| 42 |
+
def backward(context, grad_output):
|
| 43 |
+
(
|
| 44 |
+
value,
|
| 45 |
+
value_spatial_shapes,
|
| 46 |
+
value_level_start_index,
|
| 47 |
+
sampling_locations,
|
| 48 |
+
attention_weights,
|
| 49 |
+
) = context.saved_tensors
|
| 50 |
+
grad_value, grad_sampling_loc, grad_attn_weight = ops.ms_deform_attn_backward(
|
| 51 |
+
value,
|
| 52 |
+
value_spatial_shapes,
|
| 53 |
+
value_level_start_index,
|
| 54 |
+
sampling_locations,
|
| 55 |
+
attention_weights,
|
| 56 |
+
grad_output,
|
| 57 |
+
context.im2col_step,
|
| 58 |
+
)
|
| 59 |
+
|
| 60 |
+
return grad_value, None, None, grad_sampling_loc, grad_attn_weight, None
|
| 61 |
+
|
| 62 |
+
|
| 63 |
+
class MultiScaleDeformableAttention(nn.Module):
|
| 64 |
+
def forward(
|
| 65 |
+
self,
|
| 66 |
+
value: Tensor,
|
| 67 |
+
value_spatial_shapes: Tensor,
|
| 68 |
+
value_spatial_shapes_list: List[Tuple],
|
| 69 |
+
level_start_index: Tensor,
|
| 70 |
+
sampling_locations: Tensor,
|
| 71 |
+
attention_weights: Tensor,
|
| 72 |
+
im2col_step: int,
|
| 73 |
+
):
|
| 74 |
+
return MultiScaleDeformableAttentionFunction.apply(
|
| 75 |
+
value,
|
| 76 |
+
value_spatial_shapes,
|
| 77 |
+
level_start_index,
|
| 78 |
+
sampling_locations,
|
| 79 |
+
attention_weights,
|
| 80 |
+
im2col_step,
|
| 81 |
+
)
|
| 82 |
+
|
| 83 |
+
|
| 84 |
+
__all__ = ["MultiScaleDeformableAttention"]
|
build/torch210-cu126-aarch64-linux/metadata.json
ADDED
|
@@ -0,0 +1,43 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"name": "deformable-detr",
|
| 3 |
+
"id": "_deformable_detr_cuda_fe2bb66",
|
| 4 |
+
"version": 1,
|
| 5 |
+
"kernels-minver": "0.14.0",
|
| 6 |
+
"license": "Apache-2.0",
|
| 7 |
+
"python-depends": [],
|
| 8 |
+
"kernel-depends": [],
|
| 9 |
+
"backend": {
|
| 10 |
+
"type": "cuda",
|
| 11 |
+
"archs": [
|
| 12 |
+
"7.0",
|
| 13 |
+
"7.2",
|
| 14 |
+
"7.5",
|
| 15 |
+
"8.0",
|
| 16 |
+
"8.6",
|
| 17 |
+
"8.7",
|
| 18 |
+
"8.9",
|
| 19 |
+
"9.0+PTX"
|
| 20 |
+
]
|
| 21 |
+
},
|
| 22 |
+
"digest": {
|
| 23 |
+
"algorithm": "sha256",
|
| 24 |
+
"files": {
|
| 25 |
+
"__init__.py": "/P9rmKjjgzhOqU3peSjUIi0u9GaxAmMEcaQb5kNGG90=",
|
| 26 |
+
"_deformable_detr_cuda_fe2bb66.abi3.so": "RGATiLM9Vfi0i3yV9TOzdFS6xPPu9+4xJoiDgw4w1nc=",
|
| 27 |
+
"_ops.py": "i9uA2K4/sWeUF4FAwHQJ80J8tvwwaf5I4n6oN+q9VR4=",
|
| 28 |
+
"layers.py": "H3mypbDteagvzG5WTscmD05BfJhNbylbPJr0zb3k82A=",
|
| 29 |
+
"symbols.json": "SE1abIt8U28b3HcQzThCV+v19Ww2kNiQdWEjoQzsUpw="
|
| 30 |
+
}
|
| 31 |
+
},
|
| 32 |
+
"provenance": {
|
| 33 |
+
"kernel-builder": {
|
| 34 |
+
"version": "0.18.0-dev0",
|
| 35 |
+
"commit": "d054906a13710b811b96697b4635f03020842733",
|
| 36 |
+
"dirty": false
|
| 37 |
+
},
|
| 38 |
+
"kernel": {
|
| 39 |
+
"commit": "fe2bb66fee6c2a77eccf08a0508dc57428d488ed",
|
| 40 |
+
"dirty": false
|
| 41 |
+
}
|
| 42 |
+
}
|
| 43 |
+
}
|
build/torch210-cu126-aarch64-linux/metadata.json.sigstore
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
{"mediaType":"application/vnd.dev.sigstore.bundle.v0.3+json","verificationMaterial":{"certificate":{"rawBytes":"MIIHLDCCBrKgAwIBAgIUNAW5Az1Yi+x3ZIAlwgwXN/zyxmEwCgYIKoZIzj0EAwMwNzEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MR4wHAYDVQQDExVzaWdzdG9yZS1pbnRlcm1lZGlhdGUwHhcNMjYxMDE5MTEwNjI0WhcNMjYxMDE5MTExNjI0WjAAMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEHGsG6+uLJN8P3vpAE611OGJXh/kLQQEIoKsUiw0HSDqjtrTP+XPt+fshowJOeTiEt7e9fUncFotaIAzfqJT75qOCBdEwggXNMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAfBgNVHSMEGDAWgBTf0+nPViQRlvmo2OkoVaLGLhhkPzBrBgNVHREBAf8EYTBfhl1odHRwczovL2dpdGh1Yi5jb20vaHVnZ2luZ2ZhY2Uva2VybmVscy1jb21tdW5pdHkvLmdpdGh1Yi93b3JrZmxvd3MvYnVpbGQueWFtbEByZWZzL2hlYWRzL21haW4wOQYKKwYBBAGDvzABAQQraHR0cHM6Ly90b2tlbi5hY3Rpb25zLmdpdGh1YnVzZXJjb250ZW50LmNvbTAfBgorBgEEAYO/MAECBBF3b3JrZmxvd19kaXNwYXRjaDA2BgorBgEEAYO/MAEDBChmZTJiYjY2ZmVlNmMyYTc3ZWNjZjA4YTA1MDhkYzU3NDI4ZDQ4OGVkMBMGCisGAQQBg78wAQQEBUJ1aWxkMCsGCisGAQQBg78wAQUEHWh1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5MB0GCisGAQQBg78wAQYED3JlZnMvaGVhZHMvbWFpbjA7BgorBgEEAYO/MAEIBC0MK2h0dHBzOi8vdG9rZW4uYWN0aW9ucy5naXRodWJ1c2VyY29udGVudC5jb20wbQYKKwYBBAGDvzABCQRfDF1odHRwczovL2dpdGh1Yi5jb20vaHVnZ2luZ2ZhY2Uva2VybmVscy1jb21tdW5pdHkvLmdpdGh1Yi93b3JrZmxvd3MvYnVpbGQueWFtbEByZWZzL2hlYWRzL21haW4wOAYKKwYBBAGDvzABCgQqDChmZTJiYjY2ZmVlNmMyYTc3ZWNjZjA4YTA1MDhkYzU3NDI4ZDQ4OGVkMBsGCisGAQQBg78wAQsEDQwLc2VsZi1ob3N0ZWQwQAYKKwYBBAGDvzABDAQyDDBodHRwczovL2dpdGh1Yi5jb20vaHVnZ2luZ2ZhY2Uva2VybmVscy1jb21tdW5pdHkwOAYKKwYBBAGDvzABDQQqDChmZTJiYjY2ZmVlNmMyYTc3ZWNjZjA4YTA1MDhkYzU3NDI4ZDQ4OGVkMB8GCisGAQQBg78wAQ4EEQwPcmVmcy9oZWFkcy9tYWluMBoGCisGAQQBg78wAQ8EDAwKMTA3MTQ3NTUyOTAuBgorBgEEAYO/MAEQBCAMHmh0dHBzOi8vZ2l0aHViLmNvbS9odWdnaW5nZmFjZTAYBgorBgEEAYO/MAERBAoMCDI1NzIwNzQzMG0GCisGAQQBg78wARIEXwxdaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5Ly5naXRodWIvd29ya2Zsb3dzL2J1aWxkLnlhbWxAcmVmcy9oZWFkcy9tYWluMDgGCisGAQQBg78wARMEKgwoZmUyYmI2NmZlZTZjMmE3N2VjY2YwOGEwNTA4ZGM1NzQyOGQ0ODhlZDAhBgorBgEEAYO/MAEUBBMMEXdvcmtmbG93X2Rpc3BhdGNoMGQGCisGAQQBg78wARUEVgxUaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5L2FjdGlvbnMvcnVucy8zOTIzOTUzNzc0Ni9hdHRlbXB0cy8xMBYGCisGAQQBg78wARYECAwGcHVibGljMEYGCisGAQQBg78wARgEOAw2cmVwbzpodWdnaW5nZmFjZS9rZXJuZWxzLWNvbW11bml0eTpyZWY6cmVmcy9oZWFkcy9tYWluMIGKBgorBgEEAdZ5AgQCBHwEegB4AHYA3T0wasbHETJjGR4cmWc3AqJKXrjePK3/h4pygC8p7o4AAAGhU9dY3wAABAMARzBFAiAfwt1kFjxY+xbkrqGAexuM/QEZVcG5JdSB65wmsh6Q4AIhAPvxkfc1wUIoy8Hvl1lZpApMptEtxA/PL56Q5YqAfGHMMAoGCCqGSM49BAMDA2gAMGUCMQDU/qPn41s1ctmQL6HssWWDg6ZLyxNMp7VG6Xjw3NhNiDaeVlzf3UJ4cDehsNNeFTICMBVEu/O7e2dPrYvZFj0dgelY4F3WV3Xu4t/nH1QMAmYAbsYmrHwZTZyTTB9eqQdfOw=="},"tlogEntries":[{"logIndex":"3320115171","logId":{"keyId":"wNI9atQGlz+VWfO6LRygH4QUfY/8W4RFwiT5i5WRgB0="},"kindVersion":{"kind":"hashedrekord","version":"0.0.1"},"integratedTime":"1792407984","inclusionPromise":{"signedEntryTimestamp":"MEUCICulrd48bSIg5qhnT3iV6qN4EokKCilMQ+qrqK6F/kQrAiEAns0pP65DFYNV9dghhQfSuedNCY6WZ7ACoqdP4zDJols="},"inclusionProof":{"logIndex":"3198210909","rootHash":"FgQaySiiVVaEmKUp98P4PVyQ3jhSrP2RFLuGlHB/Se8=","treeSize":"3198210911","hashes":["eQYFfUN88UMkWt9SXVxJJcStaZhBM4Kd1/Eryv3woMQ=","CqUvhRx+73ms+t28YlPMmO6LESHY6SQTLDmYE/AkGGI=","bVVdXbvHzCmSqmYa3PmCokeBdJd3YtfNHCwFQHSimAw=","g1vCQIy+bVEOrPh1roH2gmMzhuWUGp4bqC7SC7QaJHU=","JYhlihMhsfv7dwe8hIIz+abL0YDJxome4Qs1/5XvH/U=","Opx4Trjms86Wh4oLCW6bQYl9YEjDZij7biMYuhm25+w=","XeJRfO8GGqdVjjDSrcs8+Wc5QwvXThQ63MFVLW5wtfo=","s9iN9HHBoxC2mbJmeUlysJhmQiWhVMF8kCCF2P6eLgU=","PJRsVvScXNHmqQge+wrG01cIyckZNEkkYLfYRFm0H14=","f4MktXqhBPk7ruDBxwgqTvXa7eCNzak9cUObXS0eTxI=","OlLDeTiZ1vIMDel4vGDtbNVnrFnzDe1MFV5rBN5Ep4o=","uCZQe757l2sS1c05Y7TzOwEm+X8MeGLIUCkEOmFVOz4=","nyQV/+cWQUG5Hb2PKjQQNkQIJmz2qzAZKBQlkHGIknM=","G+nk7mgE5h6dUmv2UY7NDJrY3WvrZY31raaO1AETt+o=","qlTWNDzERnTBQVcHHXXVPjiUP0SsikGxfcxVlgqVFDo=","gg9GNApNke3+zNhl4tsWtmIycCFrOMCB3lys6XuSQNQ=","NlOclldmKPA1tMKIskqHAwuQDYHp31YwpK+OOMrMccc=","qxzHanAzz57SDdmJe0B7bJK72NTIBbwEMGBBKvDOROw=","xH/DCseLHr9eKoYT8qsORZK7zVdEGYWHuVtsVrD95wY="],"checkpoint":{"envelope":"rekor.sigstore.dev - 1193050959916656506\n3198210911\nFgQaySiiVVaEmKUp98P4PVyQ3jhSrP2RFLuGlHB/Se8=\n\n— rekor.sigstore.dev wNI9ajBFAiEAw074cLJTvY0U+SPtRCGJyRoQPCxXLO5B+qYNO7TUE48CIAf4ddgudUjjWp9EXmBUP/RwrjC7WzvQ6gtpFA78ejpP\n"}},"canonicalizedBody":"eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiaGFzaGVkcmVrb3JkIiwic3BlYyI6eyJkYXRhIjp7Imhhc2giOnsiYWxnb3JpdGhtIjoic2hhMjU2IiwidmFsdWUiOiJmNmVkZDZlNmZkY2IxMjU5YzUwOWQ2ZjQ0MjM5ZTBmYjhlZmZiYjUwYjViMDk3Y2Q2MTExNmJiYWY2Zjg4MTU0In19LCJzaWduYXR1cmUiOnsiY29udGVudCI6Ik1FUUNJR2lhKzYxSFRUbVJYcG9lbC9MV1VnaU9BaHJzL3MyVnRIV0ZnUmF2V1EwYkFpQTFWeGdicUpMQWtaVDFJMEVPcmJwRkpoUjhSSUJwQTBXdERKWFMwZ3lLcEE9PSIsInB1YmxpY0tleSI6eyJjb250ZW50IjoiTFMwdExTMUNSVWRKVGlCRFJWSlVTVVpKUTBGVVJTMHRMUzB0Q2sxSlNVaE1SRU5EUW5KTFowRjNTVUpCWjBsVlRrRlhOVUY2TVZscEszZ3pXa2xCYkhkbmQxaE9MM3A1ZUcxRmQwTm5XVWxMYjFwSmVtb3dSVUYzVFhjS1RucEZWazFDVFVkQk1WVkZRMmhOVFdNeWJHNWpNMUoyWTIxVmRWcEhWakpOVWpSM1NFRlpSRlpSVVVSRmVGWjZZVmRrZW1SSE9YbGFVekZ3WW01U2JBcGpiVEZzV2tkc2FHUkhWWGRJYUdOT1RXcFplRTFFUlRWTlZFVjNUbXBKTUZkb1kwNU5hbGw0VFVSRk5VMVVSWGhPYWtrd1YycEJRVTFHYTNkRmQxbElDa3R2V2tsNmFqQkRRVkZaU1V0dldrbDZhakJFUVZGalJGRm5RVVZJUjNOSE5pdDFURXBPT0ZBemRuQkJSVFl4TVU5SFNsaG9MMnRNVVZGRlNXOUxjMVVLYVhjd1NGTkVjV3AwY2xSUUsxaFFkQ3RtYzJodmQwcFBaVlJwUlhRM1pUbG1WVzVqUm05MFlVbEJlbVp4U2xRM05YRlBRMEprUlhkbloxaE9UVUUwUndwQk1WVmtSSGRGUWk5M1VVVkJkMGxJWjBSQlZFSm5UbFpJVTFWRlJFUkJTMEpuWjNKQ1owVkdRbEZqUkVGNlFXWkNaMDVXU0ZOTlJVZEVRVmRuUWxSbUNqQXJibEJXYVZGU2JIWnRiekpQYTI5V1lVeEhUR2hvYTFCNlFuSkNaMDVXU0ZKRlFrRm1PRVZaVkVKbWFHd3hiMlJJVW5kamVtOTJUREprY0dSSGFERUtXV2sxYW1JeU1IWmhTRlp1V2pKc2RWb3lXbWhaTWxWMllUSldlV0p0Vm5OamVURnFZakl4ZEdSWE5YQmtTR3QyVEcxa2NHUkhhREZaYVRrellqTktjZ3BhYlhoMlpETk5kbGx1Vm5CaVIxRjFaVmRHZEdKRlFubGFWMXA2VERKb2JGbFhVbnBNTWpGb1lWYzBkMDlSV1V0TGQxbENRa0ZIUkhaNlFVSkJVVkZ5Q21GSVVqQmpTRTAyVEhrNU1HSXlkR3hpYVRWb1dUTlNjR0l5TlhwTWJXUndaRWRvTVZsdVZucGFXRXBxWWpJMU1GcFhOVEJNYlU1MllsUkJaa0puYjNJS1FtZEZSVUZaVHk5TlFVVkRRa0pHTTJJelNuSmFiWGgyWkRFNWEyRllUbmRaV0ZKcVlVUkJNa0puYjNKQ1owVkZRVmxQTDAxQlJVUkNRMmh0V2xSS2FRcFphbGt5V20xV2JFNXRUWGxaVkdNeldsZE9hbHBxUVRSWlZFRXhUVVJvYTFsNlZUTk9SRWswV2tSUk5FOUhWbXROUWsxSFEybHpSMEZSVVVKbk56aDNDa0ZSVVVWQ1ZVb3hZVmQ0YTAxRGMwZERhWE5IUVZGUlFtYzNPSGRCVVZWRlNGZG9NVm95WkhCaWJXUnRXVmRPYkV3eWRHeGpiVFZzWWtoTmRGa3lPWFFLWWxoV2RXRllValZOUWpCSFEybHpSMEZSVVVKbk56aDNRVkZaUlVRelNteGFiazEyWVVkV2FGcElUWFppVjBad1ltcEJOMEpuYjNKQ1owVkZRVmxQTHdwTlFVVkpRa013VFVzeWFEQmtTRUo2VDJrNGRtUkhPWEphVnpSMVdWZE9NR0ZYT1hWamVUVnVZVmhTYjJSWFNqRmpNbFo1V1RJNWRXUkhWblZrUXpWcUNtSXlNSGRpVVZsTFMzZFpRa0pCUjBSMmVrRkNRMUZTWmtSR01XOWtTRkozWTNwdmRrd3laSEJrUjJneFdXazFhbUl5TUhaaFNGWnVXakpzZFZveVdtZ0tXVEpWZG1FeVZubGliVlp6WTNreGFtSXlNWFJrVnpWd1pFaHJka3h0WkhCa1IyZ3hXV2s1TTJJelNuSmFiWGgyWkROTmRsbHVWbkJpUjFGMVpWZEdkQXBpUlVKNVdsZGFla3d5YUd4WlYxSjZUREl4YUdGWE5IZFBRVmxMUzNkWlFrSkJSMFIyZWtGQ1EyZFJjVVJEYUcxYVZFcHBXV3BaTWxwdFZteE9iVTE1Q2xsVVl6TmFWMDVxV21wQk5GbFVRVEZOUkdocldYcFZNMDVFU1RSYVJGRTBUMGRXYTAxQ2MwZERhWE5IUVZGUlFtYzNPSGRCVVhORlJGRjNUR015Vm5NS1dta3hiMkl6VGpCYVYxRjNVVUZaUzB0M1dVSkNRVWRFZG5wQlFrUkJVWGxFUkVKdlpFaFNkMk42YjNaTU1tUndaRWRvTVZscE5XcGlNakIyWVVoV2JncGFNbXgxV2pKYWFGa3lWWFpoTWxaNVltMVdjMk41TVdwaU1qRjBaRmMxY0dSSWEzZFBRVmxMUzNkWlFrSkJSMFIyZWtGQ1JGRlJjVVJEYUcxYVZFcHBDbGxxV1RKYWJWWnNUbTFOZVZsVVl6TmFWMDVxV21wQk5GbFVRVEZOUkdocldYcFZNMDVFU1RSYVJGRTBUMGRXYTAxQ09FZERhWE5IUVZGUlFtYzNPSGNLUVZFMFJVVlJkMUJqYlZadFkzazViMXBYUm10amVUbDBXVmRzZFUxQ2IwZERhWE5IUVZGUlFtYzNPSGRCVVRoRlJFRjNTMDFVUVROTlZGRXpUbFJWZVFwUFZFRjFRbWR2Y2tKblJVVkJXVTh2VFVGRlVVSkRRVTFJYldnd1pFaENlazlwT0haYU1td3dZVWhXYVV4dFRuWmlVemx2WkZka2JtRlhOVzVhYlVacUNscFVRVmxDWjI5eVFtZEZSVUZaVHk5TlFVVlNRa0Z2VFVORVNURk9la2wzVG5wUmVrMUhNRWREYVhOSFFWRlJRbWMzT0hkQlVrbEZXSGQ0WkdGSVVqQUtZMGhOTmt4NU9XNWhXRkp2WkZkSmRWa3lPWFJNTW1neFdqSmtjR0p0WkcxWlYwNXNUREowYkdOdE5XeGlTRTEwV1RJNWRHSllWblZoV0ZJMVRIazFiZ3BoV0ZKdlpGZEpkbVF5T1hsaE1scHpZak5rZWt3eVNqRmhWM2hyVEc1c2FHSlhlRUZqYlZadFkzazViMXBYUm10amVUbDBXVmRzZFUxRVowZERhWE5IQ2tGUlVVSm5OemgzUVZKTlJVdG5kMjlhYlZWNVdXMUpNazV0V214YVZGcHFUVzFGTTA0eVZtcFpNbGwzVDBkRmQwNVVRVFJhUjAweFRucFJlVTlIVVRBS1QwUm9iRnBFUVdoQ1oyOXlRbWRGUlVGWlR5OU5RVVZWUWtKTlRVVllaSFpqYlhSdFlrYzVNMWd5VW5Cak0wSm9aRWRPYjAxSFVVZERhWE5IUVZGUlFncG5OemgzUVZKVlJWWm5lRlZoU0ZJd1kwaE5Oa3g1T1c1aFdGSnZaRmRKZFZreU9YUk1NbWd4V2pKa2NHSnRaRzFaVjA1c1RESjBiR050Tld4aVNFMTBDbGt5T1hSaVdGWjFZVmhTTlV3eVJtcGtSMngyWW01TmRtTnVWblZqZVRoNlQxUkplazlVVlhwT2VtTXdUbWs1YUdSSVVteGlXRUl3WTNrNGVFMUNXVWNLUTJselIwRlJVVUpuTnpoM1FWSlpSVU5CZDBkalNGWnBZa2RzYWsxRldVZERhWE5IUVZGUlFtYzNPSGRCVW1kRlQwRjNNbU50Vm5kaWVuQnZaRmRrYmdwaFZ6VnVXbTFHYWxwVE9YSmFXRXAxV2xkNGVreFhUblppVnpFeFltMXNNR1ZVY0hsYVYxazJZMjFXYldONU9XOWFWMFpyWTNrNWRGbFhiSFZOU1VkTENrSm5iM0pDWjBWRlFXUmFOVUZuVVVOQ1NIZEZaV2RDTkVGSVdVRXpWREIzWVhOaVNFVlVTbXBIVWpSamJWZGpNMEZ4U2t0WWNtcGxVRXN6TDJnMGNIa0taME00Y0Rkdk5FRkJRVWRvVlRsa1dUTjNRVUZDUVUxQlVucENSa0ZwUVdaM2RERnJSbXA0V1N0NFltdHljVWRCWlhoMVRTOVJSVnBXWTBjMVNtUlRRZ28yTlhkdGMyZzJVVFJCU1doQlVIWjRhMlpqTVhkVlNXOTVPRWgyYkRGc1duQkJjRTF3ZEVWMGVFRXZVRXcxTmxFMVdYRkJaa2RJVFUxQmIwZERRM0ZIQ2xOTk5EbENRVTFFUVRKblFVMUhWVU5OVVVSVkwzRlFialF4Y3pGamRHMVJURFpJYzNOWFYwUm5ObHBNZVhoT1RYQTNWa2MyV0dwM00wNW9UbWxFWVdVS1ZteDZaak5WU2pSalJHVm9jMDVPWlVaVVNVTk5RbFpGZFM5UE4yVXlaRkJ5V1haYVJtb3daR2RsYkZrMFJqTlhWak5ZZFRSMEwyNUlNVkZOUVcxWlFRcGljMWx0Y2toM1dsUmFlVlJVUWpsbGNWRmtaazkzUFQwS0xTMHRMUzFGVGtRZ1EwVlNWRWxHU1VOQlZFVXRMUzB0TFFvPSJ9fX19"}],"timestampVerificationData":{"rfc3161Timestamps":[{"signedTimestamp":"MIICyjADAgEAMIICwQYJKoZIhvcNAQcCoIICsjCCAq4CAQMxDTALBglghkgBZQMEAgEwgbgGCyqGSIb3DQEJEAEEoIGoBIGlMIGiAgEBBgkrBgEEAYO/MAIwMTANBglghkgBZQMEAgEFAAQgCEzu7/qnzSxnAXTI6RvMPWpuWDt98D8Ix7cVuvYrvZ0CFQDS3v/6ce5mIrgR+PVDd9CKfSWi8RgPMjAyNjEwMTkxMTA2MjRaMAMCAQGgMqQwMC4xFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEVMBMGA1UEAxMMc2lnc3RvcmUtdHNhoAAxggHbMIIB1wIBATBRMDkxFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEgMB4GA1UEAxMXc2lnc3RvcmUtdHNhLXNlbGZzaWduZWQCFDoTVC8MkGHuvMFDL8uKjosqI4sMMAsGCWCGSAFlAwQCAaCB/DAaBgkqhkiG9w0BCQMxDQYLKoZIhvcNAQkQAQQwHAYJKoZIhvcNAQkFMQ8XDTI2MTAxOTExMDYyNFowLwYJKoZIhvcNAQkEMSIEIF/+dg6CO4ijqlF33Zl7HwNVSykxtsD5gUH9Y3fj+FdIMIGOBgsqhkiG9w0BCRACLzF/MH0wezB5BCCF+Se8B6tiysO0Q1bBDvyBssaIP9p6uebYcNnROs0FtzBVMD2kOzA5MRUwEwYDVQQKEwxzaWdzdG9yZS5kZXYxIDAeBgNVBAMTF3NpZ3N0b3JlLXRzYS1zZWxmc2lnbmVkAhQ6E1QvDJBh7rzBQy/Lio6LKiOLDDAKBggqhkjOPQQDAgRnMGUCMQD00Es1Rx0UJ1DwjBLaer6UMKMUWwMEdqneb3CP6/INjoh9soalBCtVrj6ANb4ZuEcCMBaz8ArzcIEY8/OLecvFOFdsfrfqPJyCBo2c2hjmUJc3y690x79wCO+2eK5RtJnqOg=="}]}},"messageSignature":{"messageDigest":{"algorithm":"SHA2_256","digest":"9u3W5v3LElnFCdb0Qjng+47/u1C1sJfNYRFruvb4gVQ="},"signature":"MEQCIGia+61HTTmRXpoel/LWUgiOAhrs/s2VtHWFgRavWQ0bAiA1VxgbqJLAkZT1I0EOrbpFJhR8RIBpA0WtDJXS0gyKpA=="}}
|
build/torch210-cu126-aarch64-linux/symbols.json
ADDED
|
@@ -0,0 +1,138 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"schema_version": 1,
|
| 3 |
+
"module": "_deformable_detr_cuda_fe2bb66",
|
| 4 |
+
"functions": [
|
| 5 |
+
{
|
| 6 |
+
"name": "ms_deform_attn_forward",
|
| 7 |
+
"qualname": "ms_deform_attn_forward",
|
| 8 |
+
"module": "_deformable_detr_cuda_fe2bb66",
|
| 9 |
+
"kind": "function",
|
| 10 |
+
"doc": null,
|
| 11 |
+
"signature": {
|
| 12 |
+
"parameters": [
|
| 13 |
+
{
|
| 14 |
+
"name": "value",
|
| 15 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 16 |
+
"default": null,
|
| 17 |
+
"annotation": "torch.Tensor"
|
| 18 |
+
},
|
| 19 |
+
{
|
| 20 |
+
"name": "spatial_shapes",
|
| 21 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 22 |
+
"default": null,
|
| 23 |
+
"annotation": "torch.Tensor"
|
| 24 |
+
},
|
| 25 |
+
{
|
| 26 |
+
"name": "level_start_index",
|
| 27 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 28 |
+
"default": null,
|
| 29 |
+
"annotation": "torch.Tensor"
|
| 30 |
+
},
|
| 31 |
+
{
|
| 32 |
+
"name": "sampling_loc",
|
| 33 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 34 |
+
"default": null,
|
| 35 |
+
"annotation": "torch.Tensor"
|
| 36 |
+
},
|
| 37 |
+
{
|
| 38 |
+
"name": "attn_weight",
|
| 39 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 40 |
+
"default": null,
|
| 41 |
+
"annotation": "torch.Tensor"
|
| 42 |
+
},
|
| 43 |
+
{
|
| 44 |
+
"name": "im2col_step",
|
| 45 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 46 |
+
"default": null,
|
| 47 |
+
"annotation": "int"
|
| 48 |
+
}
|
| 49 |
+
],
|
| 50 |
+
"return_annotation": "torch.Tensor"
|
| 51 |
+
}
|
| 52 |
+
},
|
| 53 |
+
{
|
| 54 |
+
"name": "ms_deform_attn_backward",
|
| 55 |
+
"qualname": "ms_deform_attn_backward",
|
| 56 |
+
"module": "_deformable_detr_cuda_fe2bb66",
|
| 57 |
+
"kind": "function",
|
| 58 |
+
"doc": null,
|
| 59 |
+
"signature": {
|
| 60 |
+
"parameters": [
|
| 61 |
+
{
|
| 62 |
+
"name": "value",
|
| 63 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 64 |
+
"default": null,
|
| 65 |
+
"annotation": "torch.Tensor"
|
| 66 |
+
},
|
| 67 |
+
{
|
| 68 |
+
"name": "spatial_shapes",
|
| 69 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 70 |
+
"default": null,
|
| 71 |
+
"annotation": "torch.Tensor"
|
| 72 |
+
},
|
| 73 |
+
{
|
| 74 |
+
"name": "level_start_index",
|
| 75 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 76 |
+
"default": null,
|
| 77 |
+
"annotation": "torch.Tensor"
|
| 78 |
+
},
|
| 79 |
+
{
|
| 80 |
+
"name": "sampling_loc",
|
| 81 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 82 |
+
"default": null,
|
| 83 |
+
"annotation": "torch.Tensor"
|
| 84 |
+
},
|
| 85 |
+
{
|
| 86 |
+
"name": "attn_weight",
|
| 87 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 88 |
+
"default": null,
|
| 89 |
+
"annotation": "torch.Tensor"
|
| 90 |
+
},
|
| 91 |
+
{
|
| 92 |
+
"name": "grad_output",
|
| 93 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 94 |
+
"default": null,
|
| 95 |
+
"annotation": "torch.Tensor"
|
| 96 |
+
},
|
| 97 |
+
{
|
| 98 |
+
"name": "im2col_step",
|
| 99 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 100 |
+
"default": null,
|
| 101 |
+
"annotation": "int"
|
| 102 |
+
}
|
| 103 |
+
],
|
| 104 |
+
"return_annotation": "List[torch.Tensor]"
|
| 105 |
+
}
|
| 106 |
+
}
|
| 107 |
+
],
|
| 108 |
+
"layers": [
|
| 109 |
+
{
|
| 110 |
+
"name": "MultiScaleDeformableAttention",
|
| 111 |
+
"qualname": "MultiScaleDeformableAttention",
|
| 112 |
+
"module": "_deformable_detr_cuda_fe2bb66.layers",
|
| 113 |
+
"kind": "class",
|
| 114 |
+
"doc": "Base class for all neural network modules.\n\nYour models should also subclass this class.\n\nModules can also contain other Modules, allowing them to be nested in\na tree structure. You can assign the submodules as regular attributes::\n\n import torch.nn as nn\n import torch.nn.functional as F\n\n\n class Model(nn.Module):\n def __init__(self) -> None:\n super().__init__()\n self.conv1 = nn.Conv2d(1, 20, 5)\n self.conv2 = nn.Conv2d(20, 20, 5)\n\n def forward(self, x):\n x = F.relu(self.conv1(x))\n return F.relu(self.conv2(x))\n\nSubmodules assigned in this way will be registered, and will also have their\nparameters converted when you call :meth:`to`, etc.\n\n.. note::\n As per the example above, an ``__init__()`` call to the parent class\n must be made before assignment on the child.\n\n:ivar training: Boolean represents whether this module is in training or\n evaluation mode.\n:vartype training: bool",
|
| 115 |
+
"signature": {
|
| 116 |
+
"parameters": [
|
| 117 |
+
{
|
| 118 |
+
"name": "args",
|
| 119 |
+
"kind": "VAR_POSITIONAL",
|
| 120 |
+
"default": null,
|
| 121 |
+
"annotation": "Any"
|
| 122 |
+
},
|
| 123 |
+
{
|
| 124 |
+
"name": "kwargs",
|
| 125 |
+
"kind": "VAR_KEYWORD",
|
| 126 |
+
"default": null,
|
| 127 |
+
"annotation": "Any"
|
| 128 |
+
}
|
| 129 |
+
],
|
| 130 |
+
"return_annotation": "None"
|
| 131 |
+
},
|
| 132 |
+
"attributes": {
|
| 133 |
+
"has_backward": null,
|
| 134 |
+
"can_torch_compile": null
|
| 135 |
+
}
|
| 136 |
+
}
|
| 137 |
+
]
|
| 138 |
+
}
|
build/torch210-cu128-aarch64-linux/__init__.py
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
from typing import List
|
| 2 |
+
import torch
|
| 3 |
+
|
| 4 |
+
from ._ops import ops
|
| 5 |
+
from . import layers
|
| 6 |
+
|
| 7 |
+
|
| 8 |
+
def ms_deform_attn_backward(
|
| 9 |
+
value: torch.Tensor,
|
| 10 |
+
spatial_shapes: torch.Tensor,
|
| 11 |
+
level_start_index: torch.Tensor,
|
| 12 |
+
sampling_loc: torch.Tensor,
|
| 13 |
+
attn_weight: torch.Tensor,
|
| 14 |
+
grad_output: torch.Tensor,
|
| 15 |
+
im2col_step: int,
|
| 16 |
+
) -> List[torch.Tensor]:
|
| 17 |
+
return ops.ms_deform_attn_backward(
|
| 18 |
+
value,
|
| 19 |
+
spatial_shapes,
|
| 20 |
+
level_start_index,
|
| 21 |
+
sampling_loc,
|
| 22 |
+
attn_weight,
|
| 23 |
+
grad_output,
|
| 24 |
+
im2col_step,
|
| 25 |
+
)
|
| 26 |
+
|
| 27 |
+
|
| 28 |
+
def ms_deform_attn_forward(
|
| 29 |
+
value: torch.Tensor,
|
| 30 |
+
spatial_shapes: torch.Tensor,
|
| 31 |
+
level_start_index: torch.Tensor,
|
| 32 |
+
sampling_loc: torch.Tensor,
|
| 33 |
+
attn_weight: torch.Tensor,
|
| 34 |
+
im2col_step: int,
|
| 35 |
+
) -> torch.Tensor:
|
| 36 |
+
return ops.ms_deform_attn_forward(
|
| 37 |
+
value,
|
| 38 |
+
spatial_shapes,
|
| 39 |
+
level_start_index,
|
| 40 |
+
sampling_loc,
|
| 41 |
+
attn_weight,
|
| 42 |
+
im2col_step,
|
| 43 |
+
)
|
| 44 |
+
|
| 45 |
+
|
| 46 |
+
__all__ = ["layers", "ms_deform_attn_forward", "ms_deform_attn_backward"]
|
build/torch210-cu128-aarch64-linux/_deformable_detr_cuda_fe2bb66.abi3.so
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:922220e4936bc46ac0122b268dc6f69a3bba4253506ee07a170eef0407aa3e91
|
| 3 |
+
size 9610648
|
build/torch210-cu128-aarch64-linux/_ops.py
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import torch
|
| 2 |
+
from . import _deformable_detr_cuda_fe2bb66
|
| 3 |
+
ops = torch.ops._deformable_detr_cuda_fe2bb66
|
| 4 |
+
|
| 5 |
+
def add_op_namespace_prefix(op_name: str):
|
| 6 |
+
"""
|
| 7 |
+
Prefix op by namespace.
|
| 8 |
+
"""
|
| 9 |
+
return f"_deformable_detr_cuda_fe2bb66::{op_name}"
|
build/torch210-cu128-aarch64-linux/layers.py
ADDED
|
@@ -0,0 +1,84 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
from typing import List, Union, Tuple
|
| 2 |
+
|
| 3 |
+
from torch import Tensor
|
| 4 |
+
from torch.autograd import Function
|
| 5 |
+
from torch.autograd.function import once_differentiable
|
| 6 |
+
import torch.nn as nn
|
| 7 |
+
|
| 8 |
+
from ._ops import ops
|
| 9 |
+
|
| 10 |
+
|
| 11 |
+
class MultiScaleDeformableAttentionFunction(Function):
|
| 12 |
+
@staticmethod
|
| 13 |
+
def forward(
|
| 14 |
+
context,
|
| 15 |
+
value: Tensor,
|
| 16 |
+
value_spatial_shapes: Tensor,
|
| 17 |
+
value_level_start_index: Tensor,
|
| 18 |
+
sampling_locations: Tensor,
|
| 19 |
+
attention_weights: Tensor,
|
| 20 |
+
im2col_step: int,
|
| 21 |
+
):
|
| 22 |
+
context.im2col_step = im2col_step
|
| 23 |
+
output = ops.ms_deform_attn_forward(
|
| 24 |
+
value,
|
| 25 |
+
value_spatial_shapes,
|
| 26 |
+
value_level_start_index,
|
| 27 |
+
sampling_locations,
|
| 28 |
+
attention_weights,
|
| 29 |
+
context.im2col_step,
|
| 30 |
+
)
|
| 31 |
+
context.save_for_backward(
|
| 32 |
+
value,
|
| 33 |
+
value_spatial_shapes,
|
| 34 |
+
value_level_start_index,
|
| 35 |
+
sampling_locations,
|
| 36 |
+
attention_weights,
|
| 37 |
+
)
|
| 38 |
+
return output
|
| 39 |
+
|
| 40 |
+
@staticmethod
|
| 41 |
+
@once_differentiable
|
| 42 |
+
def backward(context, grad_output):
|
| 43 |
+
(
|
| 44 |
+
value,
|
| 45 |
+
value_spatial_shapes,
|
| 46 |
+
value_level_start_index,
|
| 47 |
+
sampling_locations,
|
| 48 |
+
attention_weights,
|
| 49 |
+
) = context.saved_tensors
|
| 50 |
+
grad_value, grad_sampling_loc, grad_attn_weight = ops.ms_deform_attn_backward(
|
| 51 |
+
value,
|
| 52 |
+
value_spatial_shapes,
|
| 53 |
+
value_level_start_index,
|
| 54 |
+
sampling_locations,
|
| 55 |
+
attention_weights,
|
| 56 |
+
grad_output,
|
| 57 |
+
context.im2col_step,
|
| 58 |
+
)
|
| 59 |
+
|
| 60 |
+
return grad_value, None, None, grad_sampling_loc, grad_attn_weight, None
|
| 61 |
+
|
| 62 |
+
|
| 63 |
+
class MultiScaleDeformableAttention(nn.Module):
|
| 64 |
+
def forward(
|
| 65 |
+
self,
|
| 66 |
+
value: Tensor,
|
| 67 |
+
value_spatial_shapes: Tensor,
|
| 68 |
+
value_spatial_shapes_list: List[Tuple],
|
| 69 |
+
level_start_index: Tensor,
|
| 70 |
+
sampling_locations: Tensor,
|
| 71 |
+
attention_weights: Tensor,
|
| 72 |
+
im2col_step: int,
|
| 73 |
+
):
|
| 74 |
+
return MultiScaleDeformableAttentionFunction.apply(
|
| 75 |
+
value,
|
| 76 |
+
value_spatial_shapes,
|
| 77 |
+
level_start_index,
|
| 78 |
+
sampling_locations,
|
| 79 |
+
attention_weights,
|
| 80 |
+
im2col_step,
|
| 81 |
+
)
|
| 82 |
+
|
| 83 |
+
|
| 84 |
+
__all__ = ["MultiScaleDeformableAttention"]
|
build/torch210-cu128-aarch64-linux/metadata.json
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"name": "deformable-detr",
|
| 3 |
+
"id": "_deformable_detr_cuda_fe2bb66",
|
| 4 |
+
"version": 1,
|
| 5 |
+
"kernels-minver": "0.14.0",
|
| 6 |
+
"license": "Apache-2.0",
|
| 7 |
+
"python-depends": [],
|
| 8 |
+
"kernel-depends": [],
|
| 9 |
+
"backend": {
|
| 10 |
+
"type": "cuda",
|
| 11 |
+
"archs": [
|
| 12 |
+
"10.0",
|
| 13 |
+
"10.1",
|
| 14 |
+
"12.0+PTX",
|
| 15 |
+
"7.0",
|
| 16 |
+
"7.2",
|
| 17 |
+
"7.5",
|
| 18 |
+
"8.0",
|
| 19 |
+
"8.6",
|
| 20 |
+
"8.7",
|
| 21 |
+
"8.9",
|
| 22 |
+
"9.0"
|
| 23 |
+
]
|
| 24 |
+
},
|
| 25 |
+
"digest": {
|
| 26 |
+
"algorithm": "sha256",
|
| 27 |
+
"files": {
|
| 28 |
+
"__init__.py": "/P9rmKjjgzhOqU3peSjUIi0u9GaxAmMEcaQb5kNGG90=",
|
| 29 |
+
"_deformable_detr_cuda_fe2bb66.abi3.so": "kiIg5JNrxGrAEismjcb2mju6QlNQbuB6Fw7vBAeqPpE=",
|
| 30 |
+
"_ops.py": "i9uA2K4/sWeUF4FAwHQJ80J8tvwwaf5I4n6oN+q9VR4=",
|
| 31 |
+
"layers.py": "H3mypbDteagvzG5WTscmD05BfJhNbylbPJr0zb3k82A=",
|
| 32 |
+
"symbols.json": "SE1abIt8U28b3HcQzThCV+v19Ww2kNiQdWEjoQzsUpw="
|
| 33 |
+
}
|
| 34 |
+
},
|
| 35 |
+
"provenance": {
|
| 36 |
+
"kernel-builder": {
|
| 37 |
+
"version": "0.18.0-dev0",
|
| 38 |
+
"commit": "d054906a13710b811b96697b4635f03020842733",
|
| 39 |
+
"dirty": false
|
| 40 |
+
},
|
| 41 |
+
"kernel": {
|
| 42 |
+
"commit": "fe2bb66fee6c2a77eccf08a0508dc57428d488ed",
|
| 43 |
+
"dirty": false
|
| 44 |
+
}
|
| 45 |
+
}
|
| 46 |
+
}
|
build/torch210-cu128-aarch64-linux/metadata.json.sigstore
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
{"mediaType":"application/vnd.dev.sigstore.bundle.v0.3+json","verificationMaterial":{"certificate":{"rawBytes":"MIIHLDCCBrKgAwIBAgIUGLgoK4roaKvfphouTvtalhf0epwwCgYIKoZIzj0EAwMwNzEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MR4wHAYDVQQDExVzaWdzdG9yZS1pbnRlcm1lZGlhdGUwHhcNMjYxMDE5MTEwNjI1WhcNMjYxMDE5MTExNjI1WjAAMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEhxxjaUqBqdiRvy8U81dmX3riYeP6W65DMV8S3DSkLFR2FMDLD0ksyNmwUpfQ9gLHGKWiacYrVZvNkl6q9OmQPaOCBdEwggXNMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAfBgNVHSMEGDAWgBTf0+nPViQRlvmo2OkoVaLGLhhkPzBrBgNVHREBAf8EYTBfhl1odHRwczovL2dpdGh1Yi5jb20vaHVnZ2luZ2ZhY2Uva2VybmVscy1jb21tdW5pdHkvLmdpdGh1Yi93b3JrZmxvd3MvYnVpbGQueWFtbEByZWZzL2hlYWRzL21haW4wOQYKKwYBBAGDvzABAQQraHR0cHM6Ly90b2tlbi5hY3Rpb25zLmdpdGh1YnVzZXJjb250ZW50LmNvbTAfBgorBgEEAYO/MAECBBF3b3JrZmxvd19kaXNwYXRjaDA2BgorBgEEAYO/MAEDBChmZTJiYjY2ZmVlNmMyYTc3ZWNjZjA4YTA1MDhkYzU3NDI4ZDQ4OGVkMBMGCisGAQQBg78wAQQEBUJ1aWxkMCsGCisGAQQBg78wAQUEHWh1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5MB0GCisGAQQBg78wAQYED3JlZnMvaGVhZHMvbWFpbjA7BgorBgEEAYO/MAEIBC0MK2h0dHBzOi8vdG9rZW4uYWN0aW9ucy5naXRodWJ1c2VyY29udGVudC5jb20wbQYKKwYBBAGDvzABCQRfDF1odHRwczovL2dpdGh1Yi5jb20vaHVnZ2luZ2ZhY2Uva2VybmVscy1jb21tdW5pdHkvLmdpdGh1Yi93b3JrZmxvd3MvYnVpbGQueWFtbEByZWZzL2hlYWRzL21haW4wOAYKKwYBBAGDvzABCgQqDChmZTJiYjY2ZmVlNmMyYTc3ZWNjZjA4YTA1MDhkYzU3NDI4ZDQ4OGVkMBsGCisGAQQBg78wAQsEDQwLc2VsZi1ob3N0ZWQwQAYKKwYBBAGDvzABDAQyDDBodHRwczovL2dpdGh1Yi5jb20vaHVnZ2luZ2ZhY2Uva2VybmVscy1jb21tdW5pdHkwOAYKKwYBBAGDvzABDQQqDChmZTJiYjY2ZmVlNmMyYTc3ZWNjZjA4YTA1MDhkYzU3NDI4ZDQ4OGVkMB8GCisGAQQBg78wAQ4EEQwPcmVmcy9oZWFkcy9tYWluMBoGCisGAQQBg78wAQ8EDAwKMTA3MTQ3NTUyOTAuBgorBgEEAYO/MAEQBCAMHmh0dHBzOi8vZ2l0aHViLmNvbS9odWdnaW5nZmFjZTAYBgorBgEEAYO/MAERBAoMCDI1NzIwNzQzMG0GCisGAQQBg78wARIEXwxdaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5Ly5naXRodWIvd29ya2Zsb3dzL2J1aWxkLnlhbWxAcmVmcy9oZWFkcy9tYWluMDgGCisGAQQBg78wARMEKgwoZmUyYmI2NmZlZTZjMmE3N2VjY2YwOGEwNTA4ZGM1NzQyOGQ0ODhlZDAhBgorBgEEAYO/MAEUBBMMEXdvcmtmbG93X2Rpc3BhdGNoMGQGCisGAQQBg78wARUEVgxUaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5L2FjdGlvbnMvcnVucy8zOTIzOTUzNzc0Ni9hdHRlbXB0cy8xMBYGCisGAQQBg78wARYECAwGcHVibGljMEYGCisGAQQBg78wARgEOAw2cmVwbzpodWdnaW5nZmFjZS9rZXJuZWxzLWNvbW11bml0eTpyZWY6cmVmcy9oZWFkcy9tYWluMIGKBgorBgEEAdZ5AgQCBHwEegB4AHYA3T0wasbHETJjGR4cmWc3AqJKXrjePK3/h4pygC8p7o4AAAGhU9dc4gAABAMARzBFAiEAgH6WFXWjrMQ0UgFn2H7bkNM3xCxxpKHEi/DG/MDvhvECICFG0I2P0rQ7UyUcr7ATOmayeFEKt6ENrfp7V62KpbpbMAoGCCqGSM49BAMDA2gAMGUCMQCOMHnOAJyeN2pE0mIdYHkhzkT9ktN7fy203FwFoyi9BMRAgT+Gld0BsOLag6gk3h0CMGEgia55ZRb5l1LS/1owIPHkUqN2tSxdE3JSLPqaoSFtNxUe4ll2b5MOWhTkgWVT5A=="},"tlogEntries":[{"logIndex":"3320115185","logId":{"keyId":"wNI9atQGlz+VWfO6LRygH4QUfY/8W4RFwiT5i5WRgB0="},"kindVersion":{"kind":"hashedrekord","version":"0.0.1"},"integratedTime":"1792407985","inclusionPromise":{"signedEntryTimestamp":"MEUCIQCi2LNZ69ol6R5mn4E/SFNNjWepKWFToH/i0O2h2hXbWwIgeKonjJrHSGBS7HDqLdRwSP0Ff+XARqo3yx4VVGOCeJo="},"inclusionProof":{"logIndex":"3198210923","rootHash":"NGWyj8VLbV/0Bhyk7g7cE67eEmMB8qJ3csfb02OpaaQ=","treeSize":"3198210925","hashes":["90YNjJdLX7bX2QE1NhZWiS181RrjNrGf7nr1z8HnGJA=","2T34hADKhmSQ6WMHJXLFXPuDfvfwa9yqHClD1EghgVY=","361nQE6dHJ+pam4qXLAJlboaWGLxf5b1f1gO4gJTw2E=","mWOrCjCW7gZ9Mvje80G1jtjsXjbmWmETsISnDZz8Gds=","P8NrC1C4XVtVLd2bOsaCbES1dbtLfQfSmf1t/w1SA3s=","Opx4Trjms86Wh4oLCW6bQYl9YEjDZij7biMYuhm25+w=","XeJRfO8GGqdVjjDSrcs8+Wc5QwvXThQ63MFVLW5wtfo=","s9iN9HHBoxC2mbJmeUlysJhmQiWhVMF8kCCF2P6eLgU=","PJRsVvScXNHmqQge+wrG01cIyckZNEkkYLfYRFm0H14=","f4MktXqhBPk7ruDBxwgqTvXa7eCNzak9cUObXS0eTxI=","OlLDeTiZ1vIMDel4vGDtbNVnrFnzDe1MFV5rBN5Ep4o=","uCZQe757l2sS1c05Y7TzOwEm+X8MeGLIUCkEOmFVOz4=","nyQV/+cWQUG5Hb2PKjQQNkQIJmz2qzAZKBQlkHGIknM=","G+nk7mgE5h6dUmv2UY7NDJrY3WvrZY31raaO1AETt+o=","qlTWNDzERnTBQVcHHXXVPjiUP0SsikGxfcxVlgqVFDo=","gg9GNApNke3+zNhl4tsWtmIycCFrOMCB3lys6XuSQNQ=","NlOclldmKPA1tMKIskqHAwuQDYHp31YwpK+OOMrMccc=","qxzHanAzz57SDdmJe0B7bJK72NTIBbwEMGBBKvDOROw=","xH/DCseLHr9eKoYT8qsORZK7zVdEGYWHuVtsVrD95wY="],"checkpoint":{"envelope":"rekor.sigstore.dev - 1193050959916656506\n3198210925\nNGWyj8VLbV/0Bhyk7g7cE67eEmMB8qJ3csfb02OpaaQ=\n\n— rekor.sigstore.dev wNI9ajBFAiEAz6AQQj6eDRjCU+je3gplsW2WGavi4fNo/GDBjDBlosoCIDSkxp1WoqcGJd/9rybEMNYVHMdD2NSSYVpYi2z8YgK7\n"}},"canonicalizedBody":"eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiaGFzaGVkcmVrb3JkIiwic3BlYyI6eyJkYXRhIjp7Imhhc2giOnsiYWxnb3JpdGhtIjoic2hhMjU2IiwidmFsdWUiOiIzNGRmZTM5ODdmNWMzMTgxZjg4NWQzNDVkNzgwODk2NDllYzNhNjQzYmE0ZjBkYzM1YmJmMzI5ZjM1YmE1ZGU1In19LCJzaWduYXR1cmUiOnsiY29udGVudCI6Ik1FWUNJUURkMndkWms3U1BKb3huS3ErUVM5ZFhuUExKODZya0psVmtieWpxN0t3MFRBSWhBUHFaV3Z3UEdaQjN1OTkxTW9lZ1paNHdzM01nb3pqVkQ2U09odHdxVlREVSIsInB1YmxpY0tleSI6eyJjb250ZW50IjoiTFMwdExTMUNSVWRKVGlCRFJWSlVTVVpKUTBGVVJTMHRMUzB0Q2sxSlNVaE1SRU5EUW5KTFowRjNTVUpCWjBsVlIweG5iMHMwY205aFMzWm1jR2h2ZFZSMmRHRnNhR1l3WlhCM2QwTm5XVWxMYjFwSmVtb3dSVUYzVFhjS1RucEZWazFDVFVkQk1WVkZRMmhOVFdNeWJHNWpNMUoyWTIxVmRWcEhWakpOVWpSM1NFRlpSRlpSVVVSRmVGWjZZVmRrZW1SSE9YbGFVekZ3WW01U2JBcGpiVEZzV2tkc2FHUkhWWGRJYUdOT1RXcFplRTFFUlRWTlZFVjNUbXBKTVZkb1kwNU5hbGw0VFVSRk5VMVVSWGhPYWtreFYycEJRVTFHYTNkRmQxbElDa3R2V2tsNmFqQkRRVkZaU1V0dldrbDZhakJFUVZGalJGRm5RVVZvZUhocVlWVnhRbkZrYVZKMmVUaFZPREZrYlZnemNtbFpaVkEyVnpZMVJFMVdPRk1LTTBSVGEweEdVakpHVFVSTVJEQnJjM2xPYlhkVmNHWlJPV2RNU0VkTFYybGhZMWx5VmxwMlRtdHNObkU1VDIxUlVHRlBRMEprUlhkbloxaE9UVUUwUndwQk1WVmtSSGRGUWk5M1VVVkJkMGxJWjBSQlZFSm5UbFpJVTFWRlJFUkJTMEpuWjNKQ1owVkdRbEZqUkVGNlFXWkNaMDVXU0ZOTlJVZEVRVmRuUWxSbUNqQXJibEJXYVZGU2JIWnRiekpQYTI5V1lVeEhUR2hvYTFCNlFuSkNaMDVXU0ZKRlFrRm1PRVZaVkVKbWFHd3hiMlJJVW5kamVtOTJUREprY0dSSGFERUtXV2sxYW1JeU1IWmhTRlp1V2pKc2RWb3lXbWhaTWxWMllUSldlV0p0Vm5OamVURnFZakl4ZEdSWE5YQmtTR3QyVEcxa2NHUkhhREZaYVRrellqTktjZ3BhYlhoMlpETk5kbGx1Vm5CaVIxRjFaVmRHZEdKRlFubGFWMXA2VERKb2JGbFhVbnBNTWpGb1lWYzBkMDlSV1V0TGQxbENRa0ZIUkhaNlFVSkJVVkZ5Q21GSVVqQmpTRTAyVEhrNU1HSXlkR3hpYVRWb1dUTlNjR0l5TlhwTWJXUndaRWRvTVZsdVZucGFXRXBxWWpJMU1GcFhOVEJNYlU1MllsUkJaa0puYjNJS1FtZEZSVUZaVHk5TlFVVkRRa0pHTTJJelNuSmFiWGgyWkRFNWEyRllUbmRaV0ZKcVlVUkJNa0puYjNKQ1owVkZRVmxQTDAxQlJVUkNRMmh0V2xSS2FRcFphbGt5V20xV2JFNXRUWGxaVkdNeldsZE9hbHBxUVRSWlZFRXhUVVJvYTFsNlZUTk9SRWswV2tSUk5FOUhWbXROUWsxSFEybHpSMEZSVVVKbk56aDNDa0ZSVVVWQ1ZVb3hZVmQ0YTAxRGMwZERhWE5IUVZGUlFtYzNPSGRCVVZWRlNGZG9NVm95WkhCaWJXUnRXVmRPYkV3eWRHeGpiVFZzWWtoTmRGa3lPWFFLWWxoV2RXRllValZOUWpCSFEybHpSMEZSVVVKbk56aDNRVkZaUlVRelNteGFiazEyWVVkV2FGcElUWFppVjBad1ltcEJOMEpuYjNKQ1owVkZRVmxQTHdwTlFVVkpRa013VFVzeWFEQmtTRUo2VDJrNGRtUkhPWEphVnpSMVdWZE9NR0ZYT1hWamVUVnVZVmhTYjJSWFNqRmpNbFo1V1RJNWRXUkhWblZrUXpWcUNtSXlNSGRpVVZsTFMzZFpRa0pCUjBSMmVrRkNRMUZTWmtSR01XOWtTRkozWTNwdmRrd3laSEJrUjJneFdXazFhbUl5TUhaaFNGWnVXakpzZFZveVdtZ0tXVEpWZG1FeVZubGliVlp6WTNreGFtSXlNWFJrVnpWd1pFaHJka3h0WkhCa1IyZ3hXV2s1TTJJelNuSmFiWGgyWkROTmRsbHVWbkJpUjFGMVpWZEdkQXBpUlVKNVdsZGFla3d5YUd4WlYxSjZUREl4YUdGWE5IZFBRVmxMUzNkWlFrSkJSMFIyZWtGQ1EyZFJjVVJEYUcxYVZFcHBXV3BaTWxwdFZteE9iVTE1Q2xsVVl6TmFWMDVxV21wQk5GbFVRVEZOUkdocldYcFZNMDVFU1RSYVJGRTBUMGRXYTAxQ2MwZERhWE5IUVZGUlFtYzNPSGRCVVhORlJGRjNUR015Vm5NS1dta3hiMkl6VGpCYVYxRjNVVUZaUzB0M1dVSkNRVWRFZG5wQlFrUkJVWGxFUkVKdlpFaFNkMk42YjNaTU1tUndaRWRvTVZscE5XcGlNakIyWVVoV2JncGFNbXgxV2pKYWFGa3lWWFpoTWxaNVltMVdjMk41TVdwaU1qRjBaRmMxY0dSSWEzZFBRVmxMUzNkWlFrSkJSMFIyZWtGQ1JGRlJjVVJEYUcxYVZFcHBDbGxxV1RKYWJWWnNUbTFOZVZsVVl6TmFWMDVxV21wQk5GbFVRVEZOUkdocldYcFZNMDVFU1RSYVJGRTBUMGRXYTAxQ09FZERhWE5IUVZGUlFtYzNPSGNLUVZFMFJVVlJkMUJqYlZadFkzazViMXBYUm10amVUbDBXVmRzZFUxQ2IwZERhWE5IUVZGUlFtYzNPSGRCVVRoRlJFRjNTMDFVUVROTlZGRXpUbFJWZVFwUFZFRjFRbWR2Y2tKblJVVkJXVTh2VFVGRlVVSkRRVTFJYldnd1pFaENlazlwT0haYU1td3dZVWhXYVV4dFRuWmlVemx2WkZka2JtRlhOVzVhYlVacUNscFVRVmxDWjI5eVFtZEZSVUZaVHk5TlFVVlNRa0Z2VFVORVNURk9la2wzVG5wUmVrMUhNRWREYVhOSFFWRlJRbWMzT0hkQlVrbEZXSGQ0WkdGSVVqQUtZMGhOTmt4NU9XNWhXRkp2WkZkSmRWa3lPWFJNTW1neFdqSmtjR0p0WkcxWlYwNXNUREowYkdOdE5XeGlTRTEwV1RJNWRHSllWblZoV0ZJMVRIazFiZ3BoV0ZKdlpGZEpkbVF5T1hsaE1scHpZak5rZWt3eVNqRmhWM2hyVEc1c2FHSlhlRUZqYlZadFkzazViMXBYUm10amVUbDBXVmRzZFUxRVowZERhWE5IQ2tGUlVVSm5OemgzUVZKTlJVdG5kMjlhYlZWNVdXMUpNazV0V214YVZGcHFUVzFGTTA0eVZtcFpNbGwzVDBkRmQwNVVRVFJhUjAweFRucFJlVTlIVVRBS1QwUm9iRnBFUVdoQ1oyOXlRbWRGUlVGWlR5OU5RVVZWUWtKTlRVVllaSFpqYlhSdFlrYzVNMWd5VW5Cak0wSm9aRWRPYjAxSFVVZERhWE5IUVZGUlFncG5OemgzUVZKVlJWWm5lRlZoU0ZJd1kwaE5Oa3g1T1c1aFdGSnZaRmRKZFZreU9YUk1NbWd4V2pKa2NHSnRaRzFaVjA1c1RESjBiR050Tld4aVNFMTBDbGt5T1hSaVdGWjFZVmhTTlV3eVJtcGtSMngyWW01TmRtTnVWblZqZVRoNlQxUkplazlVVlhwT2VtTXdUbWs1YUdSSVVteGlXRUl3WTNrNGVFMUNXVWNLUTJselIwRlJVVUpuTnpoM1FWSlpSVU5CZDBkalNGWnBZa2RzYWsxRldVZERhWE5IUVZGUlFtYzNPSGRCVW1kRlQwRjNNbU50Vm5kaWVuQnZaRmRrYmdwaFZ6VnVXbTFHYWxwVE9YSmFXRXAxV2xkNGVreFhUblppVnpFeFltMXNNR1ZVY0hsYVYxazJZMjFXYldONU9XOWFWMFpyWTNrNWRGbFhiSFZOU1VkTENrSm5iM0pDWjBWRlFXUmFOVUZuVVVOQ1NIZEZaV2RDTkVGSVdVRXpWREIzWVhOaVNFVlVTbXBIVWpSamJWZGpNMEZ4U2t0WWNtcGxVRXN6TDJnMGNIa0taME00Y0Rkdk5FRkJRVWRvVlRsa1l6Um5RVUZDUVUxQlVucENSa0ZwUlVGblNEWlhSbGhYYW5KTlVUQlZaMFp1TWtnM1ltdE9UVE40UTNoNGNFdElSUXBwTDBSSEwwMUVkbWgyUlVOSlEwWkhNRWt5VURCeVVUZFZlVlZqY2pkQlZFOXRZWGxsUmtWTGREWkZUbkptY0RkV05qSkxjR0p3WWsxQmIwZERRM0ZIQ2xOTk5EbENRVTFFUVRKblFVMUhWVU5OVVVOUFRVaHVUMEZLZVdWT01uQkZNRzFKWkZsSWEyaDZhMVE1YTNST04yWjVNakF6Um5kR2IzbHBPVUpOVWtFS1oxUXJSMnhrTUVKelQweGhaelpuYXpOb01FTk5SMFZuYVdFMU5WcFNZalZzTVV4VEx6RnZkMGxRU0d0VmNVNHlkRk40WkVVelNsTk1VSEZoYjFOR2RBcE9lRlZsTkd4c01tSTFUVTlYYUZScloxZFdWRFZCUFQwS0xTMHRMUzFGVGtRZ1EwVlNWRWxHU1VOQlZFVXRMUzB0TFFvPSJ9fX19"}],"timestampVerificationData":{"rfc3161Timestamps":[{"signedTimestamp":"MIICyTADAgEAMIICwAYJKoZIhvcNAQcCoIICsTCCAq0CAQMxDTALBglghkgBZQMEAgEwgbcGCyqGSIb3DQEJEAEEoIGnBIGkMIGhAgEBBgkrBgEEAYO/MAIwMTANBglghkgBZQMEAgEFAAQgQy1z1brS5vqMLUNGteAyVWNF3ZTQOxBE2oPlKxMz5k0CFBjv/Z0xQYIq6FXgq1mjOEexncizGA8yMDI2MTAxOTExMDYyNVowAwIBAaAypDAwLjEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MRUwEwYDVQQDEwxzaWdzdG9yZS10c2GgADGCAdswggHXAgEBMFEwOTEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MSAwHgYDVQQDExdzaWdzdG9yZS10c2Etc2VsZnNpZ25lZAIUOhNULwyQYe68wUMvy4qOiyojiwwwCwYJYIZIAWUDBAIBoIH8MBoGCSqGSIb3DQEJAzENBgsqhkiG9w0BCRABBDAcBgkqhkiG9w0BCQUxDxcNMjYxMDE5MTEwNjI1WjAvBgkqhkiG9w0BCQQxIgQgZF7uXpdSIAJ9hZlldyc7v2qeGRwdINtu0qqHZ6l4FL8wgY4GCyqGSIb3DQEJEAIvMX8wfTB7MHkEIIX5J7wHq2LKw7RDVsEO/IGyxog/2nq55thw2dE6zQW3MFUwPaQ7MDkxFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEgMB4GA1UEAxMXc2lnc3RvcmUtdHNhLXNlbGZzaWduZWQCFDoTVC8MkGHuvMFDL8uKjosqI4sMMAoGCCqGSM49BAMCBGcwZQIxANXMPbUFM//1Vexm/pxgLbXFpMNBJ+/aFDNOrpKZnPkKTHUoi5vhQy1Lyb6Gh2NKfgIwHtfbvw7FR7rGoB2FsrytLuEMn4y6Xwc+iEY7rP87fPbB7/g86p0KPFWliDxjNwp/"}]}},"messageSignature":{"messageDigest":{"algorithm":"SHA2_256","digest":"NN/jmH9cMYH4hdNF14CJZJ7DpkO6Tw3DW78ynzW6XeU="},"signature":"MEYCIQDd2wdZk7SPJoxnKq+QS9dXnPLJ86rkJlVkbyjq7Kw0TAIhAPqZWvwPGZB3u991MoegZZ4ws3MgozjVD6SOhtwqVTDU"}}
|
build/torch210-cu128-aarch64-linux/symbols.json
ADDED
|
@@ -0,0 +1,138 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"schema_version": 1,
|
| 3 |
+
"module": "_deformable_detr_cuda_fe2bb66",
|
| 4 |
+
"functions": [
|
| 5 |
+
{
|
| 6 |
+
"name": "ms_deform_attn_forward",
|
| 7 |
+
"qualname": "ms_deform_attn_forward",
|
| 8 |
+
"module": "_deformable_detr_cuda_fe2bb66",
|
| 9 |
+
"kind": "function",
|
| 10 |
+
"doc": null,
|
| 11 |
+
"signature": {
|
| 12 |
+
"parameters": [
|
| 13 |
+
{
|
| 14 |
+
"name": "value",
|
| 15 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 16 |
+
"default": null,
|
| 17 |
+
"annotation": "torch.Tensor"
|
| 18 |
+
},
|
| 19 |
+
{
|
| 20 |
+
"name": "spatial_shapes",
|
| 21 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 22 |
+
"default": null,
|
| 23 |
+
"annotation": "torch.Tensor"
|
| 24 |
+
},
|
| 25 |
+
{
|
| 26 |
+
"name": "level_start_index",
|
| 27 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 28 |
+
"default": null,
|
| 29 |
+
"annotation": "torch.Tensor"
|
| 30 |
+
},
|
| 31 |
+
{
|
| 32 |
+
"name": "sampling_loc",
|
| 33 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 34 |
+
"default": null,
|
| 35 |
+
"annotation": "torch.Tensor"
|
| 36 |
+
},
|
| 37 |
+
{
|
| 38 |
+
"name": "attn_weight",
|
| 39 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 40 |
+
"default": null,
|
| 41 |
+
"annotation": "torch.Tensor"
|
| 42 |
+
},
|
| 43 |
+
{
|
| 44 |
+
"name": "im2col_step",
|
| 45 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 46 |
+
"default": null,
|
| 47 |
+
"annotation": "int"
|
| 48 |
+
}
|
| 49 |
+
],
|
| 50 |
+
"return_annotation": "torch.Tensor"
|
| 51 |
+
}
|
| 52 |
+
},
|
| 53 |
+
{
|
| 54 |
+
"name": "ms_deform_attn_backward",
|
| 55 |
+
"qualname": "ms_deform_attn_backward",
|
| 56 |
+
"module": "_deformable_detr_cuda_fe2bb66",
|
| 57 |
+
"kind": "function",
|
| 58 |
+
"doc": null,
|
| 59 |
+
"signature": {
|
| 60 |
+
"parameters": [
|
| 61 |
+
{
|
| 62 |
+
"name": "value",
|
| 63 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 64 |
+
"default": null,
|
| 65 |
+
"annotation": "torch.Tensor"
|
| 66 |
+
},
|
| 67 |
+
{
|
| 68 |
+
"name": "spatial_shapes",
|
| 69 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 70 |
+
"default": null,
|
| 71 |
+
"annotation": "torch.Tensor"
|
| 72 |
+
},
|
| 73 |
+
{
|
| 74 |
+
"name": "level_start_index",
|
| 75 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 76 |
+
"default": null,
|
| 77 |
+
"annotation": "torch.Tensor"
|
| 78 |
+
},
|
| 79 |
+
{
|
| 80 |
+
"name": "sampling_loc",
|
| 81 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 82 |
+
"default": null,
|
| 83 |
+
"annotation": "torch.Tensor"
|
| 84 |
+
},
|
| 85 |
+
{
|
| 86 |
+
"name": "attn_weight",
|
| 87 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 88 |
+
"default": null,
|
| 89 |
+
"annotation": "torch.Tensor"
|
| 90 |
+
},
|
| 91 |
+
{
|
| 92 |
+
"name": "grad_output",
|
| 93 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 94 |
+
"default": null,
|
| 95 |
+
"annotation": "torch.Tensor"
|
| 96 |
+
},
|
| 97 |
+
{
|
| 98 |
+
"name": "im2col_step",
|
| 99 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 100 |
+
"default": null,
|
| 101 |
+
"annotation": "int"
|
| 102 |
+
}
|
| 103 |
+
],
|
| 104 |
+
"return_annotation": "List[torch.Tensor]"
|
| 105 |
+
}
|
| 106 |
+
}
|
| 107 |
+
],
|
| 108 |
+
"layers": [
|
| 109 |
+
{
|
| 110 |
+
"name": "MultiScaleDeformableAttention",
|
| 111 |
+
"qualname": "MultiScaleDeformableAttention",
|
| 112 |
+
"module": "_deformable_detr_cuda_fe2bb66.layers",
|
| 113 |
+
"kind": "class",
|
| 114 |
+
"doc": "Base class for all neural network modules.\n\nYour models should also subclass this class.\n\nModules can also contain other Modules, allowing them to be nested in\na tree structure. You can assign the submodules as regular attributes::\n\n import torch.nn as nn\n import torch.nn.functional as F\n\n\n class Model(nn.Module):\n def __init__(self) -> None:\n super().__init__()\n self.conv1 = nn.Conv2d(1, 20, 5)\n self.conv2 = nn.Conv2d(20, 20, 5)\n\n def forward(self, x):\n x = F.relu(self.conv1(x))\n return F.relu(self.conv2(x))\n\nSubmodules assigned in this way will be registered, and will also have their\nparameters converted when you call :meth:`to`, etc.\n\n.. note::\n As per the example above, an ``__init__()`` call to the parent class\n must be made before assignment on the child.\n\n:ivar training: Boolean represents whether this module is in training or\n evaluation mode.\n:vartype training: bool",
|
| 115 |
+
"signature": {
|
| 116 |
+
"parameters": [
|
| 117 |
+
{
|
| 118 |
+
"name": "args",
|
| 119 |
+
"kind": "VAR_POSITIONAL",
|
| 120 |
+
"default": null,
|
| 121 |
+
"annotation": "Any"
|
| 122 |
+
},
|
| 123 |
+
{
|
| 124 |
+
"name": "kwargs",
|
| 125 |
+
"kind": "VAR_KEYWORD",
|
| 126 |
+
"default": null,
|
| 127 |
+
"annotation": "Any"
|
| 128 |
+
}
|
| 129 |
+
],
|
| 130 |
+
"return_annotation": "None"
|
| 131 |
+
},
|
| 132 |
+
"attributes": {
|
| 133 |
+
"has_backward": null,
|
| 134 |
+
"can_torch_compile": null
|
| 135 |
+
}
|
| 136 |
+
}
|
| 137 |
+
]
|
| 138 |
+
}
|
build/torch210-cu130-aarch64-linux/__init__.py
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
from typing import List
|
| 2 |
+
import torch
|
| 3 |
+
|
| 4 |
+
from ._ops import ops
|
| 5 |
+
from . import layers
|
| 6 |
+
|
| 7 |
+
|
| 8 |
+
def ms_deform_attn_backward(
|
| 9 |
+
value: torch.Tensor,
|
| 10 |
+
spatial_shapes: torch.Tensor,
|
| 11 |
+
level_start_index: torch.Tensor,
|
| 12 |
+
sampling_loc: torch.Tensor,
|
| 13 |
+
attn_weight: torch.Tensor,
|
| 14 |
+
grad_output: torch.Tensor,
|
| 15 |
+
im2col_step: int,
|
| 16 |
+
) -> List[torch.Tensor]:
|
| 17 |
+
return ops.ms_deform_attn_backward(
|
| 18 |
+
value,
|
| 19 |
+
spatial_shapes,
|
| 20 |
+
level_start_index,
|
| 21 |
+
sampling_loc,
|
| 22 |
+
attn_weight,
|
| 23 |
+
grad_output,
|
| 24 |
+
im2col_step,
|
| 25 |
+
)
|
| 26 |
+
|
| 27 |
+
|
| 28 |
+
def ms_deform_attn_forward(
|
| 29 |
+
value: torch.Tensor,
|
| 30 |
+
spatial_shapes: torch.Tensor,
|
| 31 |
+
level_start_index: torch.Tensor,
|
| 32 |
+
sampling_loc: torch.Tensor,
|
| 33 |
+
attn_weight: torch.Tensor,
|
| 34 |
+
im2col_step: int,
|
| 35 |
+
) -> torch.Tensor:
|
| 36 |
+
return ops.ms_deform_attn_forward(
|
| 37 |
+
value,
|
| 38 |
+
spatial_shapes,
|
| 39 |
+
level_start_index,
|
| 40 |
+
sampling_loc,
|
| 41 |
+
attn_weight,
|
| 42 |
+
im2col_step,
|
| 43 |
+
)
|
| 44 |
+
|
| 45 |
+
|
| 46 |
+
__all__ = ["layers", "ms_deform_attn_forward", "ms_deform_attn_backward"]
|
build/torch210-cu130-aarch64-linux/_deformable_detr_cuda_fe2bb66.abi3.so
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:afe3c348831bd99e29054691a0cc6553260b5de61c1f741fcf2ee391a6918c7c
|
| 3 |
+
size 9846400
|
build/torch210-cu130-aarch64-linux/_ops.py
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import torch
|
| 2 |
+
from . import _deformable_detr_cuda_fe2bb66
|
| 3 |
+
ops = torch.ops._deformable_detr_cuda_fe2bb66
|
| 4 |
+
|
| 5 |
+
def add_op_namespace_prefix(op_name: str):
|
| 6 |
+
"""
|
| 7 |
+
Prefix op by namespace.
|
| 8 |
+
"""
|
| 9 |
+
return f"_deformable_detr_cuda_fe2bb66::{op_name}"
|
build/torch210-cu130-aarch64-linux/layers.py
ADDED
|
@@ -0,0 +1,84 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
from typing import List, Union, Tuple
|
| 2 |
+
|
| 3 |
+
from torch import Tensor
|
| 4 |
+
from torch.autograd import Function
|
| 5 |
+
from torch.autograd.function import once_differentiable
|
| 6 |
+
import torch.nn as nn
|
| 7 |
+
|
| 8 |
+
from ._ops import ops
|
| 9 |
+
|
| 10 |
+
|
| 11 |
+
class MultiScaleDeformableAttentionFunction(Function):
|
| 12 |
+
@staticmethod
|
| 13 |
+
def forward(
|
| 14 |
+
context,
|
| 15 |
+
value: Tensor,
|
| 16 |
+
value_spatial_shapes: Tensor,
|
| 17 |
+
value_level_start_index: Tensor,
|
| 18 |
+
sampling_locations: Tensor,
|
| 19 |
+
attention_weights: Tensor,
|
| 20 |
+
im2col_step: int,
|
| 21 |
+
):
|
| 22 |
+
context.im2col_step = im2col_step
|
| 23 |
+
output = ops.ms_deform_attn_forward(
|
| 24 |
+
value,
|
| 25 |
+
value_spatial_shapes,
|
| 26 |
+
value_level_start_index,
|
| 27 |
+
sampling_locations,
|
| 28 |
+
attention_weights,
|
| 29 |
+
context.im2col_step,
|
| 30 |
+
)
|
| 31 |
+
context.save_for_backward(
|
| 32 |
+
value,
|
| 33 |
+
value_spatial_shapes,
|
| 34 |
+
value_level_start_index,
|
| 35 |
+
sampling_locations,
|
| 36 |
+
attention_weights,
|
| 37 |
+
)
|
| 38 |
+
return output
|
| 39 |
+
|
| 40 |
+
@staticmethod
|
| 41 |
+
@once_differentiable
|
| 42 |
+
def backward(context, grad_output):
|
| 43 |
+
(
|
| 44 |
+
value,
|
| 45 |
+
value_spatial_shapes,
|
| 46 |
+
value_level_start_index,
|
| 47 |
+
sampling_locations,
|
| 48 |
+
attention_weights,
|
| 49 |
+
) = context.saved_tensors
|
| 50 |
+
grad_value, grad_sampling_loc, grad_attn_weight = ops.ms_deform_attn_backward(
|
| 51 |
+
value,
|
| 52 |
+
value_spatial_shapes,
|
| 53 |
+
value_level_start_index,
|
| 54 |
+
sampling_locations,
|
| 55 |
+
attention_weights,
|
| 56 |
+
grad_output,
|
| 57 |
+
context.im2col_step,
|
| 58 |
+
)
|
| 59 |
+
|
| 60 |
+
return grad_value, None, None, grad_sampling_loc, grad_attn_weight, None
|
| 61 |
+
|
| 62 |
+
|
| 63 |
+
class MultiScaleDeformableAttention(nn.Module):
|
| 64 |
+
def forward(
|
| 65 |
+
self,
|
| 66 |
+
value: Tensor,
|
| 67 |
+
value_spatial_shapes: Tensor,
|
| 68 |
+
value_spatial_shapes_list: List[Tuple],
|
| 69 |
+
level_start_index: Tensor,
|
| 70 |
+
sampling_locations: Tensor,
|
| 71 |
+
attention_weights: Tensor,
|
| 72 |
+
im2col_step: int,
|
| 73 |
+
):
|
| 74 |
+
return MultiScaleDeformableAttentionFunction.apply(
|
| 75 |
+
value,
|
| 76 |
+
value_spatial_shapes,
|
| 77 |
+
level_start_index,
|
| 78 |
+
sampling_locations,
|
| 79 |
+
attention_weights,
|
| 80 |
+
im2col_step,
|
| 81 |
+
)
|
| 82 |
+
|
| 83 |
+
|
| 84 |
+
__all__ = ["MultiScaleDeformableAttention"]
|
build/torch210-cu130-aarch64-linux/metadata.json
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"name": "deformable-detr",
|
| 3 |
+
"id": "_deformable_detr_cuda_fe2bb66",
|
| 4 |
+
"version": 1,
|
| 5 |
+
"kernels-minver": "0.14.0",
|
| 6 |
+
"license": "Apache-2.0",
|
| 7 |
+
"python-depends": [],
|
| 8 |
+
"kernel-depends": [],
|
| 9 |
+
"backend": {
|
| 10 |
+
"type": "cuda",
|
| 11 |
+
"archs": [
|
| 12 |
+
"10.0",
|
| 13 |
+
"10.3",
|
| 14 |
+
"11.0",
|
| 15 |
+
"12.0",
|
| 16 |
+
"12.1+PTX",
|
| 17 |
+
"7.5",
|
| 18 |
+
"8.0",
|
| 19 |
+
"8.6",
|
| 20 |
+
"8.7",
|
| 21 |
+
"8.9",
|
| 22 |
+
"9.0"
|
| 23 |
+
]
|
| 24 |
+
},
|
| 25 |
+
"digest": {
|
| 26 |
+
"algorithm": "sha256",
|
| 27 |
+
"files": {
|
| 28 |
+
"__init__.py": "/P9rmKjjgzhOqU3peSjUIi0u9GaxAmMEcaQb5kNGG90=",
|
| 29 |
+
"_deformable_detr_cuda_fe2bb66.abi3.so": "r+PDSIMb2Z4pBUaRoMxlUyYLXeYcH3Qfzy7jkaaRjHw=",
|
| 30 |
+
"_ops.py": "i9uA2K4/sWeUF4FAwHQJ80J8tvwwaf5I4n6oN+q9VR4=",
|
| 31 |
+
"layers.py": "H3mypbDteagvzG5WTscmD05BfJhNbylbPJr0zb3k82A=",
|
| 32 |
+
"symbols.json": "SE1abIt8U28b3HcQzThCV+v19Ww2kNiQdWEjoQzsUpw="
|
| 33 |
+
}
|
| 34 |
+
},
|
| 35 |
+
"provenance": {
|
| 36 |
+
"kernel-builder": {
|
| 37 |
+
"version": "0.18.0-dev0",
|
| 38 |
+
"commit": "d054906a13710b811b96697b4635f03020842733",
|
| 39 |
+
"dirty": false
|
| 40 |
+
},
|
| 41 |
+
"kernel": {
|
| 42 |
+
"commit": "fe2bb66fee6c2a77eccf08a0508dc57428d488ed",
|
| 43 |
+
"dirty": false
|
| 44 |
+
}
|
| 45 |
+
}
|
| 46 |
+
}
|
build/torch210-cu130-aarch64-linux/metadata.json.sigstore
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
{"mediaType":"application/vnd.dev.sigstore.bundle.v0.3+json","verificationMaterial":{"certificate":{"rawBytes":"MIIHKzCCBrKgAwIBAgIUS0VfTJCl9T+kRGJc1LZGJxiB2yMwCgYIKoZIzj0EAwMwNzEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MR4wHAYDVQQDExVzaWdzdG9yZS1pbnRlcm1lZGlhdGUwHhcNMjYxMDE5MTEwNjI2WhcNMjYxMDE5MTExNjI2WjAAMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEYIhMU+2lE7MKfTOa6d6F8FWjeov42gk6X/K1GEdCNNnbfsogbgGQ963+7nummicGtWJ/yeMjm9efT+K5dm55VqOCBdEwggXNMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAfBgNVHSMEGDAWgBTf0+nPViQRlvmo2OkoVaLGLhhkPzBrBgNVHREBAf8EYTBfhl1odHRwczovL2dpdGh1Yi5jb20vaHVnZ2luZ2ZhY2Uva2VybmVscy1jb21tdW5pdHkvLmdpdGh1Yi93b3JrZmxvd3MvYnVpbGQueWFtbEByZWZzL2hlYWRzL21haW4wOQYKKwYBBAGDvzABAQQraHR0cHM6Ly90b2tlbi5hY3Rpb25zLmdpdGh1YnVzZXJjb250ZW50LmNvbTAfBgorBgEEAYO/MAECBBF3b3JrZmxvd19kaXNwYXRjaDA2BgorBgEEAYO/MAEDBChmZTJiYjY2ZmVlNmMyYTc3ZWNjZjA4YTA1MDhkYzU3NDI4ZDQ4OGVkMBMGCisGAQQBg78wAQQEBUJ1aWxkMCsGCisGAQQBg78wAQUEHWh1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5MB0GCisGAQQBg78wAQYED3JlZnMvaGVhZHMvbWFpbjA7BgorBgEEAYO/MAEIBC0MK2h0dHBzOi8vdG9rZW4uYWN0aW9ucy5naXRodWJ1c2VyY29udGVudC5jb20wbQYKKwYBBAGDvzABCQRfDF1odHRwczovL2dpdGh1Yi5jb20vaHVnZ2luZ2ZhY2Uva2VybmVscy1jb21tdW5pdHkvLmdpdGh1Yi93b3JrZmxvd3MvYnVpbGQueWFtbEByZWZzL2hlYWRzL21haW4wOAYKKwYBBAGDvzABCgQqDChmZTJiYjY2ZmVlNmMyYTc3ZWNjZjA4YTA1MDhkYzU3NDI4ZDQ4OGVkMBsGCisGAQQBg78wAQsEDQwLc2VsZi1ob3N0ZWQwQAYKKwYBBAGDvzABDAQyDDBodHRwczovL2dpdGh1Yi5jb20vaHVnZ2luZ2ZhY2Uva2VybmVscy1jb21tdW5pdHkwOAYKKwYBBAGDvzABDQQqDChmZTJiYjY2ZmVlNmMyYTc3ZWNjZjA4YTA1MDhkYzU3NDI4ZDQ4OGVkMB8GCisGAQQBg78wAQ4EEQwPcmVmcy9oZWFkcy9tYWluMBoGCisGAQQBg78wAQ8EDAwKMTA3MTQ3NTUyOTAuBgorBgEEAYO/MAEQBCAMHmh0dHBzOi8vZ2l0aHViLmNvbS9odWdnaW5nZmFjZTAYBgorBgEEAYO/MAERBAoMCDI1NzIwNzQzMG0GCisGAQQBg78wARIEXwxdaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5Ly5naXRodWIvd29ya2Zsb3dzL2J1aWxkLnlhbWxAcmVmcy9oZWFkcy9tYWluMDgGCisGAQQBg78wARMEKgwoZmUyYmI2NmZlZTZjMmE3N2VjY2YwOGEwNTA4ZGM1NzQyOGQ0ODhlZDAhBgorBgEEAYO/MAEUBBMMEXdvcmtmbG93X2Rpc3BhdGNoMGQGCisGAQQBg78wARUEVgxUaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5L2FjdGlvbnMvcnVucy8zOTIzOTUzNzc0Ni9hdHRlbXB0cy8xMBYGCisGAQQBg78wARYECAwGcHVibGljMEYGCisGAQQBg78wARgEOAw2cmVwbzpodWdnaW5nZmFjZS9rZXJuZWxzLWNvbW11bml0eTpyZWY6cmVmcy9oZWFkcy9tYWluMIGKBgorBgEEAdZ5AgQCBHwEegB4AHYA3T0wasbHETJjGR4cmWc3AqJKXrjePK3/h4pygC8p7o4AAAGhU9dgXgAABAMARzBFAiEA9C1p/ecRiFjj/lGGK8OAsigHi0dlDECA7ftyG5ee+TUCIGKY74K6rN0ng3+eJXotRh1gtCONFXrwUUJ5TKJLmnhQMAoGCCqGSM49BAMDA2cAMGQCMC71CWWqxMQKUltxJtEubvmUbZukmbA/9/ARaVy5UD0a8XjGu4HZlTx4voMJfqKGRgIwHICwyyrZnltcPuWymVsDzPrzDKrls9XnzRP88fdD7FRtskyG26NN0iTSq2UEAc97"},"tlogEntries":[{"logIndex":"3320115201","logId":{"keyId":"wNI9atQGlz+VWfO6LRygH4QUfY/8W4RFwiT5i5WRgB0="},"kindVersion":{"kind":"hashedrekord","version":"0.0.1"},"integratedTime":"1792407986","inclusionPromise":{"signedEntryTimestamp":"MEUCIHKHhuMJi4VQlYa0OObKTsDBG3M3QD67cbIM8uBgpCwwAiEAwtn47SlaKPNwb8S9jJf4AzW3+UgXYvP985iwtVSy0+8="},"inclusionProof":{"logIndex":"3198210939","rootHash":"QcEnty80LV0CQk8C30ksWFWYQaJVG4U/v61w7uNBVPM=","treeSize":"3198210944","hashes":["ygdQnX9Cd2aqSHBuwPW0IiUR7zAMuHA7fvaXzKDvTLU=","cNcf+E3DtoL4LNE31piEQNHrks3EwlLOoh6pY9XUn2Y=","tH/VtRZxOEJWLT11ro6CiP23V8YTDOi0v4BH0tm4prc=","o5N1wzFrCFfgacMnhOmxScIX22mpP98QZ9y/ODYKCXA=","EOZnA9VW23cpYBgiRfViAfKwBR410vCWTIS+A/CP0zo=","P8NrC1C4XVtVLd2bOsaCbES1dbtLfQfSmf1t/w1SA3s=","Opx4Trjms86Wh4oLCW6bQYl9YEjDZij7biMYuhm25+w=","XeJRfO8GGqdVjjDSrcs8+Wc5QwvXThQ63MFVLW5wtfo=","s9iN9HHBoxC2mbJmeUlysJhmQiWhVMF8kCCF2P6eLgU=","PJRsVvScXNHmqQge+wrG01cIyckZNEkkYLfYRFm0H14=","f4MktXqhBPk7ruDBxwgqTvXa7eCNzak9cUObXS0eTxI=","OlLDeTiZ1vIMDel4vGDtbNVnrFnzDe1MFV5rBN5Ep4o=","uCZQe757l2sS1c05Y7TzOwEm+X8MeGLIUCkEOmFVOz4=","nyQV/+cWQUG5Hb2PKjQQNkQIJmz2qzAZKBQlkHGIknM=","G+nk7mgE5h6dUmv2UY7NDJrY3WvrZY31raaO1AETt+o=","qlTWNDzERnTBQVcHHXXVPjiUP0SsikGxfcxVlgqVFDo=","gg9GNApNke3+zNhl4tsWtmIycCFrOMCB3lys6XuSQNQ=","NlOclldmKPA1tMKIskqHAwuQDYHp31YwpK+OOMrMccc=","qxzHanAzz57SDdmJe0B7bJK72NTIBbwEMGBBKvDOROw=","xH/DCseLHr9eKoYT8qsORZK7zVdEGYWHuVtsVrD95wY="],"checkpoint":{"envelope":"rekor.sigstore.dev - 1193050959916656506\n3198210944\nQcEnty80LV0CQk8C30ksWFWYQaJVG4U/v61w7uNBVPM=\n\n— rekor.sigstore.dev wNI9ajBFAiAn7zJXUl9kaMw8cOyOfNh3phD5vZ26DtxRS33m/PwOngIhAJtZU9+Z0WDuJPTVueXCFg3kE7KNpZovd2ZPeMsRTxmT\n"}},"canonicalizedBody":"eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiaGFzaGVkcmVrb3JkIiwic3BlYyI6eyJkYXRhIjp7Imhhc2giOnsiYWxnb3JpdGhtIjoic2hhMjU2IiwidmFsdWUiOiI3ZTNlOGU3MmRiNTYyNTNhODkyNzNjZTVhNzc1ZWU5YWFjMmMzNzFmNzZlMjc0ZGQ1MzVhYWY2NzhhZmJlYTQwIn19LCJzaWduYXR1cmUiOnsiY29udGVudCI6Ik1FWUNJUURKcUtyRnR3UWFJd25oNk5OTFJlUDA2d0QvSksvZkt5cW54bjRMVU5BVDhBSWhBTVVBcm9zM1J2UUNXajZHMEdaand3VWRsVDNyY1Iwb3h3WUZKcUNnaGc5aCIsInB1YmxpY0tleSI6eyJjb250ZW50IjoiTFMwdExTMUNSVWRKVGlCRFJWSlVTVVpKUTBGVVJTMHRMUzB0Q2sxSlNVaExla05EUW5KTFowRjNTVUpCWjBsVlV6QldabFJLUTJ3NVZDdHJVa2RLWXpGTVdrZEtlR2xDTW5sTmQwTm5XVWxMYjFwSmVtb3dSVUYzVFhjS1RucEZWazFDVFVkQk1WVkZRMmhOVFdNeWJHNWpNMUoyWTIxVmRWcEhWakpOVWpSM1NFRlpSRlpSVVVSRmVGWjZZVmRrZW1SSE9YbGFVekZ3WW01U2JBcGpiVEZzV2tkc2FHUkhWWGRJYUdOT1RXcFplRTFFUlRWTlZFVjNUbXBKTWxkb1kwNU5hbGw0VFVSRk5VMVVSWGhPYWtreVYycEJRVTFHYTNkRmQxbElDa3R2V2tsNmFqQkRRVkZaU1V0dldrbDZhakJFUVZGalJGRm5RVVZaU1doTlZTc3liRVUzVFV0bVZFOWhObVEyUmpoR1YycGxiM1kwTW1kck5sZ3ZTekVLUjBWa1EwNU9ibUptYzI5blltZEhVVGsyTXlzM2JuVnRiV2xqUjNSWFNpOTVaVTFxYlRsbFpsUXJTelZrYlRVMVZuRlBRMEprUlhkbloxaE9UVUUwUndwQk1WVmtSSGRGUWk5M1VVVkJkMGxJWjBSQlZFSm5UbFpJVTFWRlJFUkJTMEpuWjNKQ1owVkdRbEZqUkVGNlFXWkNaMDVXU0ZOTlJVZEVRVmRuUWxSbUNqQXJibEJXYVZGU2JIWnRiekpQYTI5V1lVeEhUR2hvYTFCNlFuSkNaMDVXU0ZKRlFrRm1PRVZaVkVKbWFHd3hiMlJJVW5kamVtOTJUREprY0dSSGFERUtXV2sxYW1JeU1IWmhTRlp1V2pKc2RWb3lXbWhaTWxWMllUSldlV0p0Vm5OamVURnFZakl4ZEdSWE5YQmtTR3QyVEcxa2NHUkhhREZaYVRrellqTktjZ3BhYlhoMlpETk5kbGx1Vm5CaVIxRjFaVmRHZEdKRlFubGFWMXA2VERKb2JGbFhVbnBNTWpGb1lWYzBkMDlSV1V0TGQxbENRa0ZIUkhaNlFVSkJVVkZ5Q21GSVVqQmpTRTAyVEhrNU1HSXlkR3hpYVRWb1dUTlNjR0l5TlhwTWJXUndaRWRvTVZsdVZucGFXRXBxWWpJMU1GcFhOVEJNYlU1MllsUkJaa0puYjNJS1FtZEZSVUZaVHk5TlFVVkRRa0pHTTJJelNuSmFiWGgyWkRFNWEyRllUbmRaV0ZKcVlVUkJNa0puYjNKQ1owVkZRVmxQTDAxQlJVUkNRMmh0V2xSS2FRcFphbGt5V20xV2JFNXRUWGxaVkdNeldsZE9hbHBxUVRSWlZFRXhUVVJvYTFsNlZUTk9SRWswV2tSUk5FOUhWbXROUWsxSFEybHpSMEZSVVVKbk56aDNDa0ZSVVVWQ1ZVb3hZVmQ0YTAxRGMwZERhWE5IUVZGUlFtYzNPSGRCVVZWRlNGZG9NVm95WkhCaWJXUnRXVmRPYkV3eWRHeGpiVFZzWWtoTmRGa3lPWFFLWWxoV2RXRllValZOUWpCSFEybHpSMEZSVVVKbk56aDNRVkZaUlVRelNteGFiazEyWVVkV2FGcElUWFppVjBad1ltcEJOMEpuYjNKQ1owVkZRVmxQTHdwTlFVVkpRa013VFVzeWFEQmtTRUo2VDJrNGRtUkhPWEphVnpSMVdWZE9NR0ZYT1hWamVUVnVZVmhTYjJSWFNqRmpNbFo1V1RJNWRXUkhWblZrUXpWcUNtSXlNSGRpVVZsTFMzZFpRa0pCUjBSMmVrRkNRMUZTWmtSR01XOWtTRkozWTNwdmRrd3laSEJrUjJneFdXazFhbUl5TUhaaFNGWnVXakpzZFZveVdtZ0tXVEpWZG1FeVZubGliVlp6WTNreGFtSXlNWFJrVnpWd1pFaHJka3h0WkhCa1IyZ3hXV2s1TTJJelNuSmFiWGgyWkROTmRsbHVWbkJpUjFGMVpWZEdkQXBpUlVKNVdsZGFla3d5YUd4WlYxSjZUREl4YUdGWE5IZFBRVmxMUzNkWlFrSkJSMFIyZWtGQ1EyZFJjVVJEYUcxYVZFcHBXV3BaTWxwdFZteE9iVTE1Q2xsVVl6TmFWMDVxV21wQk5GbFVRVEZOUkdocldYcFZNMDVFU1RSYVJGRTBUMGRXYTAxQ2MwZERhWE5IUVZGUlFtYzNPSGRCVVhORlJGRjNUR015Vm5NS1dta3hiMkl6VGpCYVYxRjNVVUZaUzB0M1dVSkNRVWRFZG5wQlFrUkJVWGxFUkVKdlpFaFNkMk42YjNaTU1tUndaRWRvTVZscE5XcGlNakIyWVVoV2JncGFNbXgxV2pKYWFGa3lWWFpoTWxaNVltMVdjMk41TVdwaU1qRjBaRmMxY0dSSWEzZFBRVmxMUzNkWlFrSkJSMFIyZWtGQ1JGRlJjVVJEYUcxYVZFcHBDbGxxV1RKYWJWWnNUbTFOZVZsVVl6TmFWMDVxV21wQk5GbFVRVEZOUkdocldYcFZNMDVFU1RSYVJGRTBUMGRXYTAxQ09FZERhWE5IUVZGUlFtYzNPSGNLUVZFMFJVVlJkMUJqYlZadFkzazViMXBYUm10amVUbDBXVmRzZFUxQ2IwZERhWE5IUVZGUlFtYzNPSGRCVVRoRlJFRjNTMDFVUVROTlZGRXpUbFJWZVFwUFZFRjFRbWR2Y2tKblJVVkJXVTh2VFVGRlVVSkRRVTFJYldnd1pFaENlazlwT0haYU1td3dZVWhXYVV4dFRuWmlVemx2WkZka2JtRlhOVzVhYlVacUNscFVRVmxDWjI5eVFtZEZSVUZaVHk5TlFVVlNRa0Z2VFVORVNURk9la2wzVG5wUmVrMUhNRWREYVhOSFFWRlJRbWMzT0hkQlVrbEZXSGQ0WkdGSVVqQUtZMGhOTmt4NU9XNWhXRkp2WkZkSmRWa3lPWFJNTW1neFdqSmtjR0p0WkcxWlYwNXNUREowYkdOdE5XeGlTRTEwV1RJNWRHSllWblZoV0ZJMVRIazFiZ3BoV0ZKdlpGZEpkbVF5T1hsaE1scHpZak5rZWt3eVNqRmhWM2hyVEc1c2FHSlhlRUZqYlZadFkzazViMXBYUm10amVUbDBXVmRzZFUxRVowZERhWE5IQ2tGUlVVSm5OemgzUVZKTlJVdG5kMjlhYlZWNVdXMUpNazV0V214YVZGcHFUVzFGTTA0eVZtcFpNbGwzVDBkRmQwNVVRVFJhUjAweFRucFJlVTlIVVRBS1QwUm9iRnBFUVdoQ1oyOXlRbWRGUlVGWlR5OU5RVVZWUWtKTlRVVllaSFpqYlhSdFlrYzVNMWd5VW5Cak0wSm9aRWRPYjAxSFVVZERhWE5IUVZGUlFncG5OemgzUVZKVlJWWm5lRlZoU0ZJd1kwaE5Oa3g1T1c1aFdGSnZaRmRKZFZreU9YUk1NbWd4V2pKa2NHSnRaRzFaVjA1c1RESjBiR050Tld4aVNFMTBDbGt5T1hSaVdGWjFZVmhTTlV3eVJtcGtSMngyWW01TmRtTnVWblZqZVRoNlQxUkplazlVVlhwT2VtTXdUbWs1YUdSSVVteGlXRUl3WTNrNGVFMUNXVWNLUTJselIwRlJVVUpuTnpoM1FWSlpSVU5CZDBkalNGWnBZa2RzYWsxRldVZERhWE5IUVZGUlFtYzNPSGRCVW1kRlQwRjNNbU50Vm5kaWVuQnZaRmRrYmdwaFZ6VnVXbTFHYWxwVE9YSmFXRXAxV2xkNGVreFhUblppVnpFeFltMXNNR1ZVY0hsYVYxazJZMjFXYldONU9XOWFWMFpyWTNrNWRGbFhiSFZOU1VkTENrSm5iM0pDWjBWRlFXUmFOVUZuVVVOQ1NIZEZaV2RDTkVGSVdVRXpWREIzWVhOaVNFVlVTbXBIVWpSamJWZGpNMEZ4U2t0WWNtcGxVRXN6TDJnMGNIa0taME00Y0Rkdk5FRkJRVWRvVlRsa1oxaG5RVUZDUVUxQlVucENSa0ZwUlVFNVF6RndMMlZqVW1sR2Ftb3ZiRWRIU3poUFFYTnBaMGhwTUdSc1JFVkRRUW8zWm5SNVJ6VmxaU3RVVlVOSlIwdFpOelJMTm5KT01HNW5NeXRsU2xodmRGSm9NV2QwUTA5T1JsaHlkMVZWU2pWVVMwcE1iVzVvVVUxQmIwZERRM0ZIQ2xOTk5EbENRVTFFUVRKalFVMUhVVU5OUXpjeFExZFhjWGhOVVV0VmJIUjRTblJGZFdKMmJWVmlXblZyYldKQkx6a3ZRVkpoVm5rMVZVUXdZVGhZYWtjS2RUUklXbXhVZURSMmIwMUtabkZMUjFKblNYZElTVU4zZVhseVdtNXNkR05RZFZkNWJWWnpSSHBRY25wRVMzSnNjemxZYm5wU1VEZzRabVJFTjBaU2RBcHphM2xITWpaT1RqQnBWRk54TWxWRlFXTTVOd290TFMwdExVVk9SQ0JEUlZKVVNVWkpRMEZVUlMwdExTMHRDZz09In19fX0="}],"timestampVerificationData":{"rfc3161Timestamps":[{"signedTimestamp":"MIICyjADAgEAMIICwQYJKoZIhvcNAQcCoIICsjCCAq4CAQMxDTALBglghkgBZQMEAgEwgbgGCyqGSIb3DQEJEAEEoIGoBIGlMIGiAgEBBgkrBgEEAYO/MAIwMTANBglghkgBZQMEAgEFAAQg4MsJYVN6N0jyBx66N+HXhSokRWggJbG8pbw4BGNK6mkCFQCxW3wNZKyRk7Qcud5wR58TeD8euRgPMjAyNjEwMTkxMTA2MjZaMAMCAQGgMqQwMC4xFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEVMBMGA1UEAxMMc2lnc3RvcmUtdHNhoAAxggHbMIIB1wIBATBRMDkxFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEgMB4GA1UEAxMXc2lnc3RvcmUtdHNhLXNlbGZzaWduZWQCFDoTVC8MkGHuvMFDL8uKjosqI4sMMAsGCWCGSAFlAwQCAaCB/DAaBgkqhkiG9w0BCQMxDQYLKoZIhvcNAQkQAQQwHAYJKoZIhvcNAQkFMQ8XDTI2MTAxOTExMDYyNlowLwYJKoZIhvcNAQkEMSIEINtTnzbCNHs7P8TS06xJeQOBZzo1kN9DiZ0ShDBC/U5lMIGOBgsqhkiG9w0BCRACLzF/MH0wezB5BCCF+Se8B6tiysO0Q1bBDvyBssaIP9p6uebYcNnROs0FtzBVMD2kOzA5MRUwEwYDVQQKEwxzaWdzdG9yZS5kZXYxIDAeBgNVBAMTF3NpZ3N0b3JlLXRzYS1zZWxmc2lnbmVkAhQ6E1QvDJBh7rzBQy/Lio6LKiOLDDAKBggqhkjOPQQDAgRnMGUCMQC5jIwNoHiQkeVBNy96a/1YkQ3k36aCEKggY4R86LNhdb2GlgZOQ2SaH5UPLwi19+MCMAP9x9lgU6AhMOg9LDtaHSV3w5JzB8/NwX1B8CT7RnqrS6pi4iRIWpBVs7Tt04euUA=="}]}},"messageSignature":{"messageDigest":{"algorithm":"SHA2_256","digest":"fj6OcttWJTqJJzzlp3XumqwsNx924nTdU1qvZ4r76kA="},"signature":"MEYCIQDJqKrFtwQaIwnh6NNLReP06wD/JK/fKyqnxn4LUNAT8AIhAMUAros3RvQCWj6G0GZjwwUdlT3rcR0oxwYFJqCghg9h"}}
|
build/torch210-cu130-aarch64-linux/symbols.json
ADDED
|
@@ -0,0 +1,138 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"schema_version": 1,
|
| 3 |
+
"module": "_deformable_detr_cuda_fe2bb66",
|
| 4 |
+
"functions": [
|
| 5 |
+
{
|
| 6 |
+
"name": "ms_deform_attn_forward",
|
| 7 |
+
"qualname": "ms_deform_attn_forward",
|
| 8 |
+
"module": "_deformable_detr_cuda_fe2bb66",
|
| 9 |
+
"kind": "function",
|
| 10 |
+
"doc": null,
|
| 11 |
+
"signature": {
|
| 12 |
+
"parameters": [
|
| 13 |
+
{
|
| 14 |
+
"name": "value",
|
| 15 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 16 |
+
"default": null,
|
| 17 |
+
"annotation": "torch.Tensor"
|
| 18 |
+
},
|
| 19 |
+
{
|
| 20 |
+
"name": "spatial_shapes",
|
| 21 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 22 |
+
"default": null,
|
| 23 |
+
"annotation": "torch.Tensor"
|
| 24 |
+
},
|
| 25 |
+
{
|
| 26 |
+
"name": "level_start_index",
|
| 27 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 28 |
+
"default": null,
|
| 29 |
+
"annotation": "torch.Tensor"
|
| 30 |
+
},
|
| 31 |
+
{
|
| 32 |
+
"name": "sampling_loc",
|
| 33 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 34 |
+
"default": null,
|
| 35 |
+
"annotation": "torch.Tensor"
|
| 36 |
+
},
|
| 37 |
+
{
|
| 38 |
+
"name": "attn_weight",
|
| 39 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 40 |
+
"default": null,
|
| 41 |
+
"annotation": "torch.Tensor"
|
| 42 |
+
},
|
| 43 |
+
{
|
| 44 |
+
"name": "im2col_step",
|
| 45 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 46 |
+
"default": null,
|
| 47 |
+
"annotation": "int"
|
| 48 |
+
}
|
| 49 |
+
],
|
| 50 |
+
"return_annotation": "torch.Tensor"
|
| 51 |
+
}
|
| 52 |
+
},
|
| 53 |
+
{
|
| 54 |
+
"name": "ms_deform_attn_backward",
|
| 55 |
+
"qualname": "ms_deform_attn_backward",
|
| 56 |
+
"module": "_deformable_detr_cuda_fe2bb66",
|
| 57 |
+
"kind": "function",
|
| 58 |
+
"doc": null,
|
| 59 |
+
"signature": {
|
| 60 |
+
"parameters": [
|
| 61 |
+
{
|
| 62 |
+
"name": "value",
|
| 63 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 64 |
+
"default": null,
|
| 65 |
+
"annotation": "torch.Tensor"
|
| 66 |
+
},
|
| 67 |
+
{
|
| 68 |
+
"name": "spatial_shapes",
|
| 69 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 70 |
+
"default": null,
|
| 71 |
+
"annotation": "torch.Tensor"
|
| 72 |
+
},
|
| 73 |
+
{
|
| 74 |
+
"name": "level_start_index",
|
| 75 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 76 |
+
"default": null,
|
| 77 |
+
"annotation": "torch.Tensor"
|
| 78 |
+
},
|
| 79 |
+
{
|
| 80 |
+
"name": "sampling_loc",
|
| 81 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 82 |
+
"default": null,
|
| 83 |
+
"annotation": "torch.Tensor"
|
| 84 |
+
},
|
| 85 |
+
{
|
| 86 |
+
"name": "attn_weight",
|
| 87 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 88 |
+
"default": null,
|
| 89 |
+
"annotation": "torch.Tensor"
|
| 90 |
+
},
|
| 91 |
+
{
|
| 92 |
+
"name": "grad_output",
|
| 93 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 94 |
+
"default": null,
|
| 95 |
+
"annotation": "torch.Tensor"
|
| 96 |
+
},
|
| 97 |
+
{
|
| 98 |
+
"name": "im2col_step",
|
| 99 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 100 |
+
"default": null,
|
| 101 |
+
"annotation": "int"
|
| 102 |
+
}
|
| 103 |
+
],
|
| 104 |
+
"return_annotation": "List[torch.Tensor]"
|
| 105 |
+
}
|
| 106 |
+
}
|
| 107 |
+
],
|
| 108 |
+
"layers": [
|
| 109 |
+
{
|
| 110 |
+
"name": "MultiScaleDeformableAttention",
|
| 111 |
+
"qualname": "MultiScaleDeformableAttention",
|
| 112 |
+
"module": "_deformable_detr_cuda_fe2bb66.layers",
|
| 113 |
+
"kind": "class",
|
| 114 |
+
"doc": "Base class for all neural network modules.\n\nYour models should also subclass this class.\n\nModules can also contain other Modules, allowing them to be nested in\na tree structure. You can assign the submodules as regular attributes::\n\n import torch.nn as nn\n import torch.nn.functional as F\n\n\n class Model(nn.Module):\n def __init__(self) -> None:\n super().__init__()\n self.conv1 = nn.Conv2d(1, 20, 5)\n self.conv2 = nn.Conv2d(20, 20, 5)\n\n def forward(self, x):\n x = F.relu(self.conv1(x))\n return F.relu(self.conv2(x))\n\nSubmodules assigned in this way will be registered, and will also have their\nparameters converted when you call :meth:`to`, etc.\n\n.. note::\n As per the example above, an ``__init__()`` call to the parent class\n must be made before assignment on the child.\n\n:ivar training: Boolean represents whether this module is in training or\n evaluation mode.\n:vartype training: bool",
|
| 115 |
+
"signature": {
|
| 116 |
+
"parameters": [
|
| 117 |
+
{
|
| 118 |
+
"name": "args",
|
| 119 |
+
"kind": "VAR_POSITIONAL",
|
| 120 |
+
"default": null,
|
| 121 |
+
"annotation": "Any"
|
| 122 |
+
},
|
| 123 |
+
{
|
| 124 |
+
"name": "kwargs",
|
| 125 |
+
"kind": "VAR_KEYWORD",
|
| 126 |
+
"default": null,
|
| 127 |
+
"annotation": "Any"
|
| 128 |
+
}
|
| 129 |
+
],
|
| 130 |
+
"return_annotation": "None"
|
| 131 |
+
},
|
| 132 |
+
"attributes": {
|
| 133 |
+
"has_backward": null,
|
| 134 |
+
"can_torch_compile": null
|
| 135 |
+
}
|
| 136 |
+
}
|
| 137 |
+
]
|
| 138 |
+
}
|
build/torch211-cu126-aarch64-linux/__init__.py
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
from typing import List
|
| 2 |
+
import torch
|
| 3 |
+
|
| 4 |
+
from ._ops import ops
|
| 5 |
+
from . import layers
|
| 6 |
+
|
| 7 |
+
|
| 8 |
+
def ms_deform_attn_backward(
|
| 9 |
+
value: torch.Tensor,
|
| 10 |
+
spatial_shapes: torch.Tensor,
|
| 11 |
+
level_start_index: torch.Tensor,
|
| 12 |
+
sampling_loc: torch.Tensor,
|
| 13 |
+
attn_weight: torch.Tensor,
|
| 14 |
+
grad_output: torch.Tensor,
|
| 15 |
+
im2col_step: int,
|
| 16 |
+
) -> List[torch.Tensor]:
|
| 17 |
+
return ops.ms_deform_attn_backward(
|
| 18 |
+
value,
|
| 19 |
+
spatial_shapes,
|
| 20 |
+
level_start_index,
|
| 21 |
+
sampling_loc,
|
| 22 |
+
attn_weight,
|
| 23 |
+
grad_output,
|
| 24 |
+
im2col_step,
|
| 25 |
+
)
|
| 26 |
+
|
| 27 |
+
|
| 28 |
+
def ms_deform_attn_forward(
|
| 29 |
+
value: torch.Tensor,
|
| 30 |
+
spatial_shapes: torch.Tensor,
|
| 31 |
+
level_start_index: torch.Tensor,
|
| 32 |
+
sampling_loc: torch.Tensor,
|
| 33 |
+
attn_weight: torch.Tensor,
|
| 34 |
+
im2col_step: int,
|
| 35 |
+
) -> torch.Tensor:
|
| 36 |
+
return ops.ms_deform_attn_forward(
|
| 37 |
+
value,
|
| 38 |
+
spatial_shapes,
|
| 39 |
+
level_start_index,
|
| 40 |
+
sampling_loc,
|
| 41 |
+
attn_weight,
|
| 42 |
+
im2col_step,
|
| 43 |
+
)
|
| 44 |
+
|
| 45 |
+
|
| 46 |
+
__all__ = ["layers", "ms_deform_attn_forward", "ms_deform_attn_backward"]
|
build/torch211-cu126-aarch64-linux/_deformable_detr_cuda_fe2bb66.abi3.so
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:18bff04b08a2cacd337075275093a54a208f1f02620fc032872edd94d9600830
|
| 3 |
+
size 6661672
|
build/torch211-cu126-aarch64-linux/_ops.py
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import torch
|
| 2 |
+
from . import _deformable_detr_cuda_fe2bb66
|
| 3 |
+
ops = torch.ops._deformable_detr_cuda_fe2bb66
|
| 4 |
+
|
| 5 |
+
def add_op_namespace_prefix(op_name: str):
|
| 6 |
+
"""
|
| 7 |
+
Prefix op by namespace.
|
| 8 |
+
"""
|
| 9 |
+
return f"_deformable_detr_cuda_fe2bb66::{op_name}"
|
build/torch211-cu126-aarch64-linux/layers.py
ADDED
|
@@ -0,0 +1,84 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
from typing import List, Union, Tuple
|
| 2 |
+
|
| 3 |
+
from torch import Tensor
|
| 4 |
+
from torch.autograd import Function
|
| 5 |
+
from torch.autograd.function import once_differentiable
|
| 6 |
+
import torch.nn as nn
|
| 7 |
+
|
| 8 |
+
from ._ops import ops
|
| 9 |
+
|
| 10 |
+
|
| 11 |
+
class MultiScaleDeformableAttentionFunction(Function):
|
| 12 |
+
@staticmethod
|
| 13 |
+
def forward(
|
| 14 |
+
context,
|
| 15 |
+
value: Tensor,
|
| 16 |
+
value_spatial_shapes: Tensor,
|
| 17 |
+
value_level_start_index: Tensor,
|
| 18 |
+
sampling_locations: Tensor,
|
| 19 |
+
attention_weights: Tensor,
|
| 20 |
+
im2col_step: int,
|
| 21 |
+
):
|
| 22 |
+
context.im2col_step = im2col_step
|
| 23 |
+
output = ops.ms_deform_attn_forward(
|
| 24 |
+
value,
|
| 25 |
+
value_spatial_shapes,
|
| 26 |
+
value_level_start_index,
|
| 27 |
+
sampling_locations,
|
| 28 |
+
attention_weights,
|
| 29 |
+
context.im2col_step,
|
| 30 |
+
)
|
| 31 |
+
context.save_for_backward(
|
| 32 |
+
value,
|
| 33 |
+
value_spatial_shapes,
|
| 34 |
+
value_level_start_index,
|
| 35 |
+
sampling_locations,
|
| 36 |
+
attention_weights,
|
| 37 |
+
)
|
| 38 |
+
return output
|
| 39 |
+
|
| 40 |
+
@staticmethod
|
| 41 |
+
@once_differentiable
|
| 42 |
+
def backward(context, grad_output):
|
| 43 |
+
(
|
| 44 |
+
value,
|
| 45 |
+
value_spatial_shapes,
|
| 46 |
+
value_level_start_index,
|
| 47 |
+
sampling_locations,
|
| 48 |
+
attention_weights,
|
| 49 |
+
) = context.saved_tensors
|
| 50 |
+
grad_value, grad_sampling_loc, grad_attn_weight = ops.ms_deform_attn_backward(
|
| 51 |
+
value,
|
| 52 |
+
value_spatial_shapes,
|
| 53 |
+
value_level_start_index,
|
| 54 |
+
sampling_locations,
|
| 55 |
+
attention_weights,
|
| 56 |
+
grad_output,
|
| 57 |
+
context.im2col_step,
|
| 58 |
+
)
|
| 59 |
+
|
| 60 |
+
return grad_value, None, None, grad_sampling_loc, grad_attn_weight, None
|
| 61 |
+
|
| 62 |
+
|
| 63 |
+
class MultiScaleDeformableAttention(nn.Module):
|
| 64 |
+
def forward(
|
| 65 |
+
self,
|
| 66 |
+
value: Tensor,
|
| 67 |
+
value_spatial_shapes: Tensor,
|
| 68 |
+
value_spatial_shapes_list: List[Tuple],
|
| 69 |
+
level_start_index: Tensor,
|
| 70 |
+
sampling_locations: Tensor,
|
| 71 |
+
attention_weights: Tensor,
|
| 72 |
+
im2col_step: int,
|
| 73 |
+
):
|
| 74 |
+
return MultiScaleDeformableAttentionFunction.apply(
|
| 75 |
+
value,
|
| 76 |
+
value_spatial_shapes,
|
| 77 |
+
level_start_index,
|
| 78 |
+
sampling_locations,
|
| 79 |
+
attention_weights,
|
| 80 |
+
im2col_step,
|
| 81 |
+
)
|
| 82 |
+
|
| 83 |
+
|
| 84 |
+
__all__ = ["MultiScaleDeformableAttention"]
|
build/torch211-cu126-aarch64-linux/metadata.json
ADDED
|
@@ -0,0 +1,43 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"name": "deformable-detr",
|
| 3 |
+
"id": "_deformable_detr_cuda_fe2bb66",
|
| 4 |
+
"version": 1,
|
| 5 |
+
"kernels-minver": "0.14.0",
|
| 6 |
+
"license": "Apache-2.0",
|
| 7 |
+
"python-depends": [],
|
| 8 |
+
"kernel-depends": [],
|
| 9 |
+
"backend": {
|
| 10 |
+
"type": "cuda",
|
| 11 |
+
"archs": [
|
| 12 |
+
"7.0",
|
| 13 |
+
"7.2",
|
| 14 |
+
"7.5",
|
| 15 |
+
"8.0",
|
| 16 |
+
"8.6",
|
| 17 |
+
"8.7",
|
| 18 |
+
"8.9",
|
| 19 |
+
"9.0+PTX"
|
| 20 |
+
]
|
| 21 |
+
},
|
| 22 |
+
"digest": {
|
| 23 |
+
"algorithm": "sha256",
|
| 24 |
+
"files": {
|
| 25 |
+
"__init__.py": "/P9rmKjjgzhOqU3peSjUIi0u9GaxAmMEcaQb5kNGG90=",
|
| 26 |
+
"_deformable_detr_cuda_fe2bb66.abi3.so": "GL/wSwiiys0zcHUnUJOlSiCPHwJiD8Ayhy7dlNlgCDA=",
|
| 27 |
+
"_ops.py": "i9uA2K4/sWeUF4FAwHQJ80J8tvwwaf5I4n6oN+q9VR4=",
|
| 28 |
+
"layers.py": "H3mypbDteagvzG5WTscmD05BfJhNbylbPJr0zb3k82A=",
|
| 29 |
+
"symbols.json": "SE1abIt8U28b3HcQzThCV+v19Ww2kNiQdWEjoQzsUpw="
|
| 30 |
+
}
|
| 31 |
+
},
|
| 32 |
+
"provenance": {
|
| 33 |
+
"kernel-builder": {
|
| 34 |
+
"version": "0.18.0-dev0",
|
| 35 |
+
"commit": "d054906a13710b811b96697b4635f03020842733",
|
| 36 |
+
"dirty": false
|
| 37 |
+
},
|
| 38 |
+
"kernel": {
|
| 39 |
+
"commit": "fe2bb66fee6c2a77eccf08a0508dc57428d488ed",
|
| 40 |
+
"dirty": false
|
| 41 |
+
}
|
| 42 |
+
}
|
| 43 |
+
}
|
build/torch211-cu126-aarch64-linux/metadata.json.sigstore
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
{"mediaType":"application/vnd.dev.sigstore.bundle.v0.3+json","verificationMaterial":{"certificate":{"rawBytes":"MIIHLDCCBrKgAwIBAgIUTWzfZw+iwkXkjblUVkj2bYI6idYwCgYIKoZIzj0EAwMwNzEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MR4wHAYDVQQDExVzaWdzdG9yZS1pbnRlcm1lZGlhdGUwHhcNMjYxMDE5MTEwNjI3WhcNMjYxMDE5MTExNjI3WjAAMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAElx/I+X1mopPaqnVOrISiN3XWpQxDB3w5lgiZimeTmKU9quQHTdRhADI35r5ToVj59W2cB15bqHoQJDgA2DeWr6OCBdEwggXNMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAfBgNVHSMEGDAWgBTf0+nPViQRlvmo2OkoVaLGLhhkPzBrBgNVHREBAf8EYTBfhl1odHRwczovL2dpdGh1Yi5jb20vaHVnZ2luZ2ZhY2Uva2VybmVscy1jb21tdW5pdHkvLmdpdGh1Yi93b3JrZmxvd3MvYnVpbGQueWFtbEByZWZzL2hlYWRzL21haW4wOQYKKwYBBAGDvzABAQQraHR0cHM6Ly90b2tlbi5hY3Rpb25zLmdpdGh1YnVzZXJjb250ZW50LmNvbTAfBgorBgEEAYO/MAECBBF3b3JrZmxvd19kaXNwYXRjaDA2BgorBgEEAYO/MAEDBChmZTJiYjY2ZmVlNmMyYTc3ZWNjZjA4YTA1MDhkYzU3NDI4ZDQ4OGVkMBMGCisGAQQBg78wAQQEBUJ1aWxkMCsGCisGAQQBg78wAQUEHWh1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5MB0GCisGAQQBg78wAQYED3JlZnMvaGVhZHMvbWFpbjA7BgorBgEEAYO/MAEIBC0MK2h0dHBzOi8vdG9rZW4uYWN0aW9ucy5naXRodWJ1c2VyY29udGVudC5jb20wbQYKKwYBBAGDvzABCQRfDF1odHRwczovL2dpdGh1Yi5jb20vaHVnZ2luZ2ZhY2Uva2VybmVscy1jb21tdW5pdHkvLmdpdGh1Yi93b3JrZmxvd3MvYnVpbGQueWFtbEByZWZzL2hlYWRzL21haW4wOAYKKwYBBAGDvzABCgQqDChmZTJiYjY2ZmVlNmMyYTc3ZWNjZjA4YTA1MDhkYzU3NDI4ZDQ4OGVkMBsGCisGAQQBg78wAQsEDQwLc2VsZi1ob3N0ZWQwQAYKKwYBBAGDvzABDAQyDDBodHRwczovL2dpdGh1Yi5jb20vaHVnZ2luZ2ZhY2Uva2VybmVscy1jb21tdW5pdHkwOAYKKwYBBAGDvzABDQQqDChmZTJiYjY2ZmVlNmMyYTc3ZWNjZjA4YTA1MDhkYzU3NDI4ZDQ4OGVkMB8GCisGAQQBg78wAQ4EEQwPcmVmcy9oZWFkcy9tYWluMBoGCisGAQQBg78wAQ8EDAwKMTA3MTQ3NTUyOTAuBgorBgEEAYO/MAEQBCAMHmh0dHBzOi8vZ2l0aHViLmNvbS9odWdnaW5nZmFjZTAYBgorBgEEAYO/MAERBAoMCDI1NzIwNzQzMG0GCisGAQQBg78wARIEXwxdaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5Ly5naXRodWIvd29ya2Zsb3dzL2J1aWxkLnlhbWxAcmVmcy9oZWFkcy9tYWluMDgGCisGAQQBg78wARMEKgwoZmUyYmI2NmZlZTZjMmE3N2VjY2YwOGEwNTA4ZGM1NzQyOGQ0ODhlZDAhBgorBgEEAYO/MAEUBBMMEXdvcmtmbG93X2Rpc3BhdGNoMGQGCisGAQQBg78wARUEVgxUaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5L2FjdGlvbnMvcnVucy8zOTIzOTUzNzc0Ni9hdHRlbXB0cy8xMBYGCisGAQQBg78wARYECAwGcHVibGljMEYGCisGAQQBg78wARgEOAw2cmVwbzpodWdnaW5nZmFjZS9rZXJuZWxzLWNvbW11bml0eTpyZWY6cmVmcy9oZWFkcy9tYWluMIGKBgorBgEEAdZ5AgQCBHwEegB4AHYA3T0wasbHETJjGR4cmWc3AqJKXrjePK3/h4pygC8p7o4AAAGhU9djzgAABAMARzBFAiEA3+cCSn1WiZTBJPLC1somxvFziqb2T1/O1ZSiOvkrAPsCIDHjQb3cPin8SGDdQe8eTzyqxZJ0CSxpn47nnJzGavTOMAoGCCqGSM49BAMDA2gAMGUCMQCdW3lNu83aLBP801VqQ3hG8Fzqfd8WNw2iGIx8VuRPDhPiRBf2bjFP4GS+ymWiSJoCMEpp3yL/BiBva0FH0Qk+dGxcv3Ee7YUrz0pc8ZJcIvWV7W9+Uwicd5Wti4S3tY0PJA=="},"tlogEntries":[{"logIndex":"3320115219","logId":{"keyId":"wNI9atQGlz+VWfO6LRygH4QUfY/8W4RFwiT5i5WRgB0="},"kindVersion":{"kind":"hashedrekord","version":"0.0.1"},"integratedTime":"1792407987","inclusionPromise":{"signedEntryTimestamp":"MEQCIAQv1oWkQ+Ja9ReyvQUbBtznGQBypNRMkDP09uGGFYsLAiB0wDuHiFEzmNcOf9r0TvgAa5furSGN8/UQKWI8sJnHvw=="},"inclusionProof":{"logIndex":"3198210957","rootHash":"WoGNEmCyDbxgLthLA5QX1y/szUgT3W9hUGE3fMkEx5s=","treeSize":"3198210959","hashes":["1aVP17SxN9Vc/txkIUGjt1urIzuJOsrxfhdzLUuNPgg=","2pwNGASwF1uycwFleaf2Gx0oaJerroqj5S0qQDphGYM=","lHhWsYHHqH/m9+ZsM856KE4ja+F+LJcVwAATv9tIVTc=","nZ/V6LhfcrYwUrMgPykTfcqvQon1xfSN2fhT8Ie4Wi4=","GuVvnGqaFV7gJ3r7URJzep/H3YozPXfaZGzcmRhfZ+8=","XeJRfO8GGqdVjjDSrcs8+Wc5QwvXThQ63MFVLW5wtfo=","s9iN9HHBoxC2mbJmeUlysJhmQiWhVMF8kCCF2P6eLgU=","PJRsVvScXNHmqQge+wrG01cIyckZNEkkYLfYRFm0H14=","f4MktXqhBPk7ruDBxwgqTvXa7eCNzak9cUObXS0eTxI=","OlLDeTiZ1vIMDel4vGDtbNVnrFnzDe1MFV5rBN5Ep4o=","uCZQe757l2sS1c05Y7TzOwEm+X8MeGLIUCkEOmFVOz4=","nyQV/+cWQUG5Hb2PKjQQNkQIJmz2qzAZKBQlkHGIknM=","G+nk7mgE5h6dUmv2UY7NDJrY3WvrZY31raaO1AETt+o=","qlTWNDzERnTBQVcHHXXVPjiUP0SsikGxfcxVlgqVFDo=","gg9GNApNke3+zNhl4tsWtmIycCFrOMCB3lys6XuSQNQ=","NlOclldmKPA1tMKIskqHAwuQDYHp31YwpK+OOMrMccc=","qxzHanAzz57SDdmJe0B7bJK72NTIBbwEMGBBKvDOROw=","xH/DCseLHr9eKoYT8qsORZK7zVdEGYWHuVtsVrD95wY="],"checkpoint":{"envelope":"rekor.sigstore.dev - 1193050959916656506\n3198210959\nWoGNEmCyDbxgLthLA5QX1y/szUgT3W9hUGE3fMkEx5s=\n\n— rekor.sigstore.dev wNI9ajBFAiEA3SnNO2P+sIEDzMUKEj8NSyUZjY/v1R3QwvH1fBs/QFMCIFBfs9+ueJ/oGqYdq2gXIUgplEU7PHaBP9bh/i6hQIO3\n"}},"canonicalizedBody":"eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiaGFzaGVkcmVrb3JkIiwic3BlYyI6eyJkYXRhIjp7Imhhc2giOnsiYWxnb3JpdGhtIjoic2hhMjU2IiwidmFsdWUiOiJmNzU2ZGU3MDFiODFiZDA4YjljNThmOGE2MGQ4NTAzM2M0YTkxNWMxNzJmZGI3M2NhN2U0YmQxMzE2YThiNjhkIn19LCJzaWduYXR1cmUiOnsiY29udGVudCI6Ik1FUUNJQkk0cmpLVFgxNG5Gdm1FeUVRemNzYmpscFo0R284TkxGNUhUNXdUQkF1MUFpQWV1K210Qi91MG5RZk1nRkNpKzRUcnNYWmxiaW1TR0paUXl3K2c3ZmhmWkE9PSIsInB1YmxpY0tleSI6eyJjb250ZW50IjoiTFMwdExTMUNSVWRKVGlCRFJWSlVTVVpKUTBGVVJTMHRMUzB0Q2sxSlNVaE1SRU5EUW5KTFowRjNTVUpCWjBsVlZGZDZabHAzSzJsM2ExaHJhbUpzVlZacmFqSmlXVWsyYVdSWmQwTm5XVWxMYjFwSmVtb3dSVUYzVFhjS1RucEZWazFDVFVkQk1WVkZRMmhOVFdNeWJHNWpNMUoyWTIxVmRWcEhWakpOVWpSM1NFRlpSRlpSVVVSRmVGWjZZVmRrZW1SSE9YbGFVekZ3WW01U2JBcGpiVEZzV2tkc2FHUkhWWGRJYUdOT1RXcFplRTFFUlRWTlZFVjNUbXBKTTFkb1kwNU5hbGw0VFVSRk5VMVVSWGhPYWtrelYycEJRVTFHYTNkRmQxbElDa3R2V2tsNmFqQkRRVkZaU1V0dldrbDZhakJFUVZGalJGRm5RVVZzZUM5SksxZ3hiVzl3VUdGeGJsWlBja2xUYVU0eldGZHdVWGhFUWpOM05XeG5hVm9LYVcxbFZHMUxWVGx4ZFZGSVZHUlNhRUZFU1RNMWNqVlViMVpxTlRsWE1tTkNNVFZpY1VodlVVcEVaMEV5UkdWWGNqWlBRMEprUlhkbloxaE9UVUUwUndwQk1WVmtSSGRGUWk5M1VVVkJkMGxJWjBSQlZFSm5UbFpJVTFWRlJFUkJTMEpuWjNKQ1owVkdRbEZqUkVGNlFXWkNaMDVXU0ZOTlJVZEVRVmRuUWxSbUNqQXJibEJXYVZGU2JIWnRiekpQYTI5V1lVeEhUR2hvYTFCNlFuSkNaMDVXU0ZKRlFrRm1PRVZaVkVKbWFHd3hiMlJJVW5kamVtOTJUREprY0dSSGFERUtXV2sxYW1JeU1IWmhTRlp1V2pKc2RWb3lXbWhaTWxWMllUSldlV0p0Vm5OamVURnFZakl4ZEdSWE5YQmtTR3QyVEcxa2NHUkhhREZaYVRrellqTktjZ3BhYlhoMlpETk5kbGx1Vm5CaVIxRjFaVmRHZEdKRlFubGFWMXA2VERKb2JGbFhVbnBNTWpGb1lWYzBkMDlSV1V0TGQxbENRa0ZIUkhaNlFVSkJVVkZ5Q21GSVVqQmpTRTAyVEhrNU1HSXlkR3hpYVRWb1dUTlNjR0l5TlhwTWJXUndaRWRvTVZsdVZucGFXRXBxWWpJMU1GcFhOVEJNYlU1MllsUkJaa0puYjNJS1FtZEZSVUZaVHk5TlFVVkRRa0pHTTJJelNuSmFiWGgyWkRFNWEyRllUbmRaV0ZKcVlVUkJNa0puYjNKQ1owVkZRVmxQTDAxQlJVUkNRMmh0V2xSS2FRcFphbGt5V20xV2JFNXRUWGxaVkdNeldsZE9hbHBxUVRSWlZFRXhUVVJvYTFsNlZUTk9SRWswV2tSUk5FOUhWbXROUWsxSFEybHpSMEZSVVVKbk56aDNDa0ZSVVVWQ1ZVb3hZVmQ0YTAxRGMwZERhWE5IUVZGUlFtYzNPSGRCVVZWRlNGZG9NVm95WkhCaWJXUnRXVmRPYkV3eWRHeGpiVFZzWWtoTmRGa3lPWFFLWWxoV2RXRllValZOUWpCSFEybHpSMEZSVVVKbk56aDNRVkZaUlVRelNteGFiazEyWVVkV2FGcElUWFppVjBad1ltcEJOMEpuYjNKQ1owVkZRVmxQTHdwTlFVVkpRa013VFVzeWFEQmtTRUo2VDJrNGRtUkhPWEphVnpSMVdWZE9NR0ZYT1hWamVUVnVZVmhTYjJSWFNqRmpNbFo1V1RJNWRXUkhWblZrUXpWcUNtSXlNSGRpVVZsTFMzZFpRa0pCUjBSMmVrRkNRMUZTWmtSR01XOWtTRkozWTNwdmRrd3laSEJrUjJneFdXazFhbUl5TUhaaFNGWnVXakpzZFZveVdtZ0tXVEpWZG1FeVZubGliVlp6WTNreGFtSXlNWFJrVnpWd1pFaHJka3h0WkhCa1IyZ3hXV2s1TTJJelNuSmFiWGgyWkROTmRsbHVWbkJpUjFGMVpWZEdkQXBpUlVKNVdsZGFla3d5YUd4WlYxSjZUREl4YUdGWE5IZFBRVmxMUzNkWlFrSkJSMFIyZWtGQ1EyZFJjVVJEYUcxYVZFcHBXV3BaTWxwdFZteE9iVTE1Q2xsVVl6TmFWMDVxV21wQk5GbFVRVEZOUkdocldYcFZNMDVFU1RSYVJGRTBUMGRXYTAxQ2MwZERhWE5IUVZGUlFtYzNPSGRCVVhORlJGRjNUR015Vm5NS1dta3hiMkl6VGpCYVYxRjNVVUZaUzB0M1dVSkNRVWRFZG5wQlFrUkJVWGxFUkVKdlpFaFNkMk42YjNaTU1tUndaRWRvTVZscE5XcGlNakIyWVVoV2JncGFNbXgxV2pKYWFGa3lWWFpoTWxaNVltMVdjMk41TVdwaU1qRjBaRmMxY0dSSWEzZFBRVmxMUzNkWlFrSkJSMFIyZWtGQ1JGRlJjVVJEYUcxYVZFcHBDbGxxV1RKYWJWWnNUbTFOZVZsVVl6TmFWMDVxV21wQk5GbFVRVEZOUkdocldYcFZNMDVFU1RSYVJGRTBUMGRXYTAxQ09FZERhWE5IUVZGUlFtYzNPSGNLUVZFMFJVVlJkMUJqYlZadFkzazViMXBYUm10amVUbDBXVmRzZFUxQ2IwZERhWE5IUVZGUlFtYzNPSGRCVVRoRlJFRjNTMDFVUVROTlZGRXpUbFJWZVFwUFZFRjFRbWR2Y2tKblJVVkJXVTh2VFVGRlVVSkRRVTFJYldnd1pFaENlazlwT0haYU1td3dZVWhXYVV4dFRuWmlVemx2WkZka2JtRlhOVzVhYlVacUNscFVRVmxDWjI5eVFtZEZSVUZaVHk5TlFVVlNRa0Z2VFVORVNURk9la2wzVG5wUmVrMUhNRWREYVhOSFFWRlJRbWMzT0hkQlVrbEZXSGQ0WkdGSVVqQUtZMGhOTmt4NU9XNWhXRkp2WkZkSmRWa3lPWFJNTW1neFdqSmtjR0p0WkcxWlYwNXNUREowYkdOdE5XeGlTRTEwV1RJNWRHSllWblZoV0ZJMVRIazFiZ3BoV0ZKdlpGZEpkbVF5T1hsaE1scHpZak5rZWt3eVNqRmhWM2hyVEc1c2FHSlhlRUZqYlZadFkzazViMXBYUm10amVUbDBXVmRzZFUxRVowZERhWE5IQ2tGUlVVSm5OemgzUVZKTlJVdG5kMjlhYlZWNVdXMUpNazV0V214YVZGcHFUVzFGTTA0eVZtcFpNbGwzVDBkRmQwNVVRVFJhUjAweFRucFJlVTlIVVRBS1QwUm9iRnBFUVdoQ1oyOXlRbWRGUlVGWlR5OU5RVVZWUWtKTlRVVllaSFpqYlhSdFlrYzVNMWd5VW5Cak0wSm9aRWRPYjAxSFVVZERhWE5IUVZGUlFncG5OemgzUVZKVlJWWm5lRlZoU0ZJd1kwaE5Oa3g1T1c1aFdGSnZaRmRKZFZreU9YUk1NbWd4V2pKa2NHSnRaRzFaVjA1c1RESjBiR050Tld4aVNFMTBDbGt5T1hSaVdGWjFZVmhTTlV3eVJtcGtSMngyWW01TmRtTnVWblZqZVRoNlQxUkplazlVVlhwT2VtTXdUbWs1YUdSSVVteGlXRUl3WTNrNGVFMUNXVWNLUTJselIwRlJVVUpuTnpoM1FWSlpSVU5CZDBkalNGWnBZa2RzYWsxRldVZERhWE5IUVZGUlFtYzNPSGRCVW1kRlQwRjNNbU50Vm5kaWVuQnZaRmRrYmdwaFZ6VnVXbTFHYWxwVE9YSmFXRXAxV2xkNGVreFhUblppVnpFeFltMXNNR1ZVY0hsYVYxazJZMjFXYldONU9XOWFWMFpyWTNrNWRGbFhiSFZOU1VkTENrSm5iM0pDWjBWRlFXUmFOVUZuVVVOQ1NIZEZaV2RDTkVGSVdVRXpWREIzWVhOaVNFVlVTbXBIVWpSamJWZGpNMEZ4U2t0WWNtcGxVRXN6TDJnMGNIa0taME00Y0Rkdk5FRkJRVWRvVlRsa2FucG5RVUZDUVUxQlVucENSa0ZwUlVFeksyTkRVMjR4VjJsYVZFSktVRXhETVhOdmJYaDJSbnBwY1dJeVZERXZUd294V2xOcFQzWnJja0ZRYzBOSlJFaHFVV0l6WTFCcGJqaFRSMFJrVVdVNFpWUjZlWEY0V2tvd1ExTjRjRzQwTjI1dVNucEhZWFpVVDAxQmIwZERRM0ZIQ2xOTk5EbENRVTFFUVRKblFVMUhWVU5OVVVOa1Z6TnNUblU0TTJGTVFsQTRNREZXY1ZFemFFYzRSbnB4Wm1RNFYwNTNNbWxIU1hnNFZuVlNVRVJvVUdrS1VrSm1NbUpxUmxBMFIxTXJlVzFYYVZOS2IwTk5SWEJ3TTNsTUwwSnBRblpoTUVaSU1GRnJLMlJIZUdOMk0wVmxOMWxWY25vd2NHTTRXa3BqU1haWFZnbzNWemtyVlhkcFkyUTFWM1JwTkZNemRGa3dVRXBCUFQwS0xTMHRMUzFGVGtRZ1EwVlNWRWxHU1VOQlZFVXRMUzB0TFFvPSJ9fX19"}],"timestampVerificationData":{"rfc3161Timestamps":[{"signedTimestamp":"MIICyjADAgEAMIICwQYJKoZIhvcNAQcCoIICsjCCAq4CAQMxDTALBglghkgBZQMEAgEwgbcGCyqGSIb3DQEJEAEEoIGnBIGkMIGhAgEBBgkrBgEEAYO/MAIwMTANBglghkgBZQMEAgEFAAQg7VFQ3CxXvlSs5vqXSRKNoVsriMgLtlcshWchA7ctbVMCFA+w1wAb5eh3JY0jdNAmVJbexpKhGA8yMDI2MTAxOTExMDYyN1owAwIBAaAypDAwLjEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MRUwEwYDVQQDEwxzaWdzdG9yZS10c2GgADGCAdwwggHYAgEBMFEwOTEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MSAwHgYDVQQDExdzaWdzdG9yZS10c2Etc2VsZnNpZ25lZAIUOhNULwyQYe68wUMvy4qOiyojiwwwCwYJYIZIAWUDBAIBoIH8MBoGCSqGSIb3DQEJAzENBgsqhkiG9w0BCRABBDAcBgkqhkiG9w0BCQUxDxcNMjYxMDE5MTEwNjI3WjAvBgkqhkiG9w0BCQQxIgQgE76qSbxZqQ6pFFQRM5uZW/0ndAaqykGzhtQY6KtBzbkwgY4GCyqGSIb3DQEJEAIvMX8wfTB7MHkEIIX5J7wHq2LKw7RDVsEO/IGyxog/2nq55thw2dE6zQW3MFUwPaQ7MDkxFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEgMB4GA1UEAxMXc2lnc3RvcmUtdHNhLXNlbGZzaWduZWQCFDoTVC8MkGHuvMFDL8uKjosqI4sMMAoGCCqGSM49BAMCBGgwZgIxAK5NSU3ntQYaFcNV8qYiPW34UJBV+RgCPeP3xjLDKPAewugsWHjKojV3C2+mJUtPEwIxAOvwZy5tZ0k0GFpHYOmBUxezcYyEmXWXFFTKVbmpxidC5GcS0L4r4D/gqG4k5Q9w4Q=="}]}},"messageSignature":{"messageDigest":{"algorithm":"SHA2_256","digest":"91becBuBvQi5xY+KYNhQM8SpFcFy/bc8p+S9Exaoto0="},"signature":"MEQCIBI4rjKTX14nFvmEyEQzcsbjlpZ4Go8NLF5HT5wTBAu1AiAeu+mtB/u0nQfMgFCi+4TrsXZlbimSGJZQyw+g7fhfZA=="}}
|
build/torch211-cu126-aarch64-linux/symbols.json
ADDED
|
@@ -0,0 +1,138 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"schema_version": 1,
|
| 3 |
+
"module": "_deformable_detr_cuda_fe2bb66",
|
| 4 |
+
"functions": [
|
| 5 |
+
{
|
| 6 |
+
"name": "ms_deform_attn_forward",
|
| 7 |
+
"qualname": "ms_deform_attn_forward",
|
| 8 |
+
"module": "_deformable_detr_cuda_fe2bb66",
|
| 9 |
+
"kind": "function",
|
| 10 |
+
"doc": null,
|
| 11 |
+
"signature": {
|
| 12 |
+
"parameters": [
|
| 13 |
+
{
|
| 14 |
+
"name": "value",
|
| 15 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 16 |
+
"default": null,
|
| 17 |
+
"annotation": "torch.Tensor"
|
| 18 |
+
},
|
| 19 |
+
{
|
| 20 |
+
"name": "spatial_shapes",
|
| 21 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 22 |
+
"default": null,
|
| 23 |
+
"annotation": "torch.Tensor"
|
| 24 |
+
},
|
| 25 |
+
{
|
| 26 |
+
"name": "level_start_index",
|
| 27 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 28 |
+
"default": null,
|
| 29 |
+
"annotation": "torch.Tensor"
|
| 30 |
+
},
|
| 31 |
+
{
|
| 32 |
+
"name": "sampling_loc",
|
| 33 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 34 |
+
"default": null,
|
| 35 |
+
"annotation": "torch.Tensor"
|
| 36 |
+
},
|
| 37 |
+
{
|
| 38 |
+
"name": "attn_weight",
|
| 39 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 40 |
+
"default": null,
|
| 41 |
+
"annotation": "torch.Tensor"
|
| 42 |
+
},
|
| 43 |
+
{
|
| 44 |
+
"name": "im2col_step",
|
| 45 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 46 |
+
"default": null,
|
| 47 |
+
"annotation": "int"
|
| 48 |
+
}
|
| 49 |
+
],
|
| 50 |
+
"return_annotation": "torch.Tensor"
|
| 51 |
+
}
|
| 52 |
+
},
|
| 53 |
+
{
|
| 54 |
+
"name": "ms_deform_attn_backward",
|
| 55 |
+
"qualname": "ms_deform_attn_backward",
|
| 56 |
+
"module": "_deformable_detr_cuda_fe2bb66",
|
| 57 |
+
"kind": "function",
|
| 58 |
+
"doc": null,
|
| 59 |
+
"signature": {
|
| 60 |
+
"parameters": [
|
| 61 |
+
{
|
| 62 |
+
"name": "value",
|
| 63 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 64 |
+
"default": null,
|
| 65 |
+
"annotation": "torch.Tensor"
|
| 66 |
+
},
|
| 67 |
+
{
|
| 68 |
+
"name": "spatial_shapes",
|
| 69 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 70 |
+
"default": null,
|
| 71 |
+
"annotation": "torch.Tensor"
|
| 72 |
+
},
|
| 73 |
+
{
|
| 74 |
+
"name": "level_start_index",
|
| 75 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 76 |
+
"default": null,
|
| 77 |
+
"annotation": "torch.Tensor"
|
| 78 |
+
},
|
| 79 |
+
{
|
| 80 |
+
"name": "sampling_loc",
|
| 81 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 82 |
+
"default": null,
|
| 83 |
+
"annotation": "torch.Tensor"
|
| 84 |
+
},
|
| 85 |
+
{
|
| 86 |
+
"name": "attn_weight",
|
| 87 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 88 |
+
"default": null,
|
| 89 |
+
"annotation": "torch.Tensor"
|
| 90 |
+
},
|
| 91 |
+
{
|
| 92 |
+
"name": "grad_output",
|
| 93 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 94 |
+
"default": null,
|
| 95 |
+
"annotation": "torch.Tensor"
|
| 96 |
+
},
|
| 97 |
+
{
|
| 98 |
+
"name": "im2col_step",
|
| 99 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 100 |
+
"default": null,
|
| 101 |
+
"annotation": "int"
|
| 102 |
+
}
|
| 103 |
+
],
|
| 104 |
+
"return_annotation": "List[torch.Tensor]"
|
| 105 |
+
}
|
| 106 |
+
}
|
| 107 |
+
],
|
| 108 |
+
"layers": [
|
| 109 |
+
{
|
| 110 |
+
"name": "MultiScaleDeformableAttention",
|
| 111 |
+
"qualname": "MultiScaleDeformableAttention",
|
| 112 |
+
"module": "_deformable_detr_cuda_fe2bb66.layers",
|
| 113 |
+
"kind": "class",
|
| 114 |
+
"doc": "Base class for all neural network modules.\n\nYour models should also subclass this class.\n\nModules can also contain other Modules, allowing them to be nested in\na tree structure. You can assign the submodules as regular attributes::\n\n import torch.nn as nn\n import torch.nn.functional as F\n\n\n class Model(nn.Module):\n def __init__(self) -> None:\n super().__init__()\n self.conv1 = nn.Conv2d(1, 20, 5)\n self.conv2 = nn.Conv2d(20, 20, 5)\n\n def forward(self, x):\n x = F.relu(self.conv1(x))\n return F.relu(self.conv2(x))\n\nSubmodules assigned in this way will be registered, and will also have their\nparameters converted when you call :meth:`to`, etc.\n\n.. note::\n As per the example above, an ``__init__()`` call to the parent class\n must be made before assignment on the child.\n\n:ivar training: Boolean represents whether this module is in training or\n evaluation mode.\n:vartype training: bool",
|
| 115 |
+
"signature": {
|
| 116 |
+
"parameters": [
|
| 117 |
+
{
|
| 118 |
+
"name": "args",
|
| 119 |
+
"kind": "VAR_POSITIONAL",
|
| 120 |
+
"default": null,
|
| 121 |
+
"annotation": "Any"
|
| 122 |
+
},
|
| 123 |
+
{
|
| 124 |
+
"name": "kwargs",
|
| 125 |
+
"kind": "VAR_KEYWORD",
|
| 126 |
+
"default": null,
|
| 127 |
+
"annotation": "Any"
|
| 128 |
+
}
|
| 129 |
+
],
|
| 130 |
+
"return_annotation": "None"
|
| 131 |
+
},
|
| 132 |
+
"attributes": {
|
| 133 |
+
"has_backward": null,
|
| 134 |
+
"can_torch_compile": null
|
| 135 |
+
}
|
| 136 |
+
}
|
| 137 |
+
]
|
| 138 |
+
}
|
build/torch211-cu128-aarch64-linux/__init__.py
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
from typing import List
|
| 2 |
+
import torch
|
| 3 |
+
|
| 4 |
+
from ._ops import ops
|
| 5 |
+
from . import layers
|
| 6 |
+
|
| 7 |
+
|
| 8 |
+
def ms_deform_attn_backward(
|
| 9 |
+
value: torch.Tensor,
|
| 10 |
+
spatial_shapes: torch.Tensor,
|
| 11 |
+
level_start_index: torch.Tensor,
|
| 12 |
+
sampling_loc: torch.Tensor,
|
| 13 |
+
attn_weight: torch.Tensor,
|
| 14 |
+
grad_output: torch.Tensor,
|
| 15 |
+
im2col_step: int,
|
| 16 |
+
) -> List[torch.Tensor]:
|
| 17 |
+
return ops.ms_deform_attn_backward(
|
| 18 |
+
value,
|
| 19 |
+
spatial_shapes,
|
| 20 |
+
level_start_index,
|
| 21 |
+
sampling_loc,
|
| 22 |
+
attn_weight,
|
| 23 |
+
grad_output,
|
| 24 |
+
im2col_step,
|
| 25 |
+
)
|
| 26 |
+
|
| 27 |
+
|
| 28 |
+
def ms_deform_attn_forward(
|
| 29 |
+
value: torch.Tensor,
|
| 30 |
+
spatial_shapes: torch.Tensor,
|
| 31 |
+
level_start_index: torch.Tensor,
|
| 32 |
+
sampling_loc: torch.Tensor,
|
| 33 |
+
attn_weight: torch.Tensor,
|
| 34 |
+
im2col_step: int,
|
| 35 |
+
) -> torch.Tensor:
|
| 36 |
+
return ops.ms_deform_attn_forward(
|
| 37 |
+
value,
|
| 38 |
+
spatial_shapes,
|
| 39 |
+
level_start_index,
|
| 40 |
+
sampling_loc,
|
| 41 |
+
attn_weight,
|
| 42 |
+
im2col_step,
|
| 43 |
+
)
|
| 44 |
+
|
| 45 |
+
|
| 46 |
+
__all__ = ["layers", "ms_deform_attn_forward", "ms_deform_attn_backward"]
|
build/torch211-cu128-aarch64-linux/_deformable_detr_cuda_fe2bb66.abi3.so
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:9bcc9b35c9549366b29ca0e54770644a49535ff1892166b3362020f7236e2c9a
|
| 3 |
+
size 9610768
|
build/torch211-cu128-aarch64-linux/_ops.py
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import torch
|
| 2 |
+
from . import _deformable_detr_cuda_fe2bb66
|
| 3 |
+
ops = torch.ops._deformable_detr_cuda_fe2bb66
|
| 4 |
+
|
| 5 |
+
def add_op_namespace_prefix(op_name: str):
|
| 6 |
+
"""
|
| 7 |
+
Prefix op by namespace.
|
| 8 |
+
"""
|
| 9 |
+
return f"_deformable_detr_cuda_fe2bb66::{op_name}"
|
build/torch211-cu128-aarch64-linux/layers.py
ADDED
|
@@ -0,0 +1,84 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
from typing import List, Union, Tuple
|
| 2 |
+
|
| 3 |
+
from torch import Tensor
|
| 4 |
+
from torch.autograd import Function
|
| 5 |
+
from torch.autograd.function import once_differentiable
|
| 6 |
+
import torch.nn as nn
|
| 7 |
+
|
| 8 |
+
from ._ops import ops
|
| 9 |
+
|
| 10 |
+
|
| 11 |
+
class MultiScaleDeformableAttentionFunction(Function):
|
| 12 |
+
@staticmethod
|
| 13 |
+
def forward(
|
| 14 |
+
context,
|
| 15 |
+
value: Tensor,
|
| 16 |
+
value_spatial_shapes: Tensor,
|
| 17 |
+
value_level_start_index: Tensor,
|
| 18 |
+
sampling_locations: Tensor,
|
| 19 |
+
attention_weights: Tensor,
|
| 20 |
+
im2col_step: int,
|
| 21 |
+
):
|
| 22 |
+
context.im2col_step = im2col_step
|
| 23 |
+
output = ops.ms_deform_attn_forward(
|
| 24 |
+
value,
|
| 25 |
+
value_spatial_shapes,
|
| 26 |
+
value_level_start_index,
|
| 27 |
+
sampling_locations,
|
| 28 |
+
attention_weights,
|
| 29 |
+
context.im2col_step,
|
| 30 |
+
)
|
| 31 |
+
context.save_for_backward(
|
| 32 |
+
value,
|
| 33 |
+
value_spatial_shapes,
|
| 34 |
+
value_level_start_index,
|
| 35 |
+
sampling_locations,
|
| 36 |
+
attention_weights,
|
| 37 |
+
)
|
| 38 |
+
return output
|
| 39 |
+
|
| 40 |
+
@staticmethod
|
| 41 |
+
@once_differentiable
|
| 42 |
+
def backward(context, grad_output):
|
| 43 |
+
(
|
| 44 |
+
value,
|
| 45 |
+
value_spatial_shapes,
|
| 46 |
+
value_level_start_index,
|
| 47 |
+
sampling_locations,
|
| 48 |
+
attention_weights,
|
| 49 |
+
) = context.saved_tensors
|
| 50 |
+
grad_value, grad_sampling_loc, grad_attn_weight = ops.ms_deform_attn_backward(
|
| 51 |
+
value,
|
| 52 |
+
value_spatial_shapes,
|
| 53 |
+
value_level_start_index,
|
| 54 |
+
sampling_locations,
|
| 55 |
+
attention_weights,
|
| 56 |
+
grad_output,
|
| 57 |
+
context.im2col_step,
|
| 58 |
+
)
|
| 59 |
+
|
| 60 |
+
return grad_value, None, None, grad_sampling_loc, grad_attn_weight, None
|
| 61 |
+
|
| 62 |
+
|
| 63 |
+
class MultiScaleDeformableAttention(nn.Module):
|
| 64 |
+
def forward(
|
| 65 |
+
self,
|
| 66 |
+
value: Tensor,
|
| 67 |
+
value_spatial_shapes: Tensor,
|
| 68 |
+
value_spatial_shapes_list: List[Tuple],
|
| 69 |
+
level_start_index: Tensor,
|
| 70 |
+
sampling_locations: Tensor,
|
| 71 |
+
attention_weights: Tensor,
|
| 72 |
+
im2col_step: int,
|
| 73 |
+
):
|
| 74 |
+
return MultiScaleDeformableAttentionFunction.apply(
|
| 75 |
+
value,
|
| 76 |
+
value_spatial_shapes,
|
| 77 |
+
level_start_index,
|
| 78 |
+
sampling_locations,
|
| 79 |
+
attention_weights,
|
| 80 |
+
im2col_step,
|
| 81 |
+
)
|
| 82 |
+
|
| 83 |
+
|
| 84 |
+
__all__ = ["MultiScaleDeformableAttention"]
|
build/torch211-cu128-aarch64-linux/metadata.json
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"name": "deformable-detr",
|
| 3 |
+
"id": "_deformable_detr_cuda_fe2bb66",
|
| 4 |
+
"version": 1,
|
| 5 |
+
"kernels-minver": "0.14.0",
|
| 6 |
+
"license": "Apache-2.0",
|
| 7 |
+
"python-depends": [],
|
| 8 |
+
"kernel-depends": [],
|
| 9 |
+
"backend": {
|
| 10 |
+
"type": "cuda",
|
| 11 |
+
"archs": [
|
| 12 |
+
"10.0",
|
| 13 |
+
"10.1",
|
| 14 |
+
"12.0+PTX",
|
| 15 |
+
"7.0",
|
| 16 |
+
"7.2",
|
| 17 |
+
"7.5",
|
| 18 |
+
"8.0",
|
| 19 |
+
"8.6",
|
| 20 |
+
"8.7",
|
| 21 |
+
"8.9",
|
| 22 |
+
"9.0"
|
| 23 |
+
]
|
| 24 |
+
},
|
| 25 |
+
"digest": {
|
| 26 |
+
"algorithm": "sha256",
|
| 27 |
+
"files": {
|
| 28 |
+
"__init__.py": "/P9rmKjjgzhOqU3peSjUIi0u9GaxAmMEcaQb5kNGG90=",
|
| 29 |
+
"_deformable_detr_cuda_fe2bb66.abi3.so": "m8ybNclUk2aynKDlR3BkSklTX/GJIWazNiAg9yNuLJo=",
|
| 30 |
+
"_ops.py": "i9uA2K4/sWeUF4FAwHQJ80J8tvwwaf5I4n6oN+q9VR4=",
|
| 31 |
+
"layers.py": "H3mypbDteagvzG5WTscmD05BfJhNbylbPJr0zb3k82A=",
|
| 32 |
+
"symbols.json": "SE1abIt8U28b3HcQzThCV+v19Ww2kNiQdWEjoQzsUpw="
|
| 33 |
+
}
|
| 34 |
+
},
|
| 35 |
+
"provenance": {
|
| 36 |
+
"kernel-builder": {
|
| 37 |
+
"version": "0.18.0-dev0",
|
| 38 |
+
"commit": "d054906a13710b811b96697b4635f03020842733",
|
| 39 |
+
"dirty": false
|
| 40 |
+
},
|
| 41 |
+
"kernel": {
|
| 42 |
+
"commit": "fe2bb66fee6c2a77eccf08a0508dc57428d488ed",
|
| 43 |
+
"dirty": false
|
| 44 |
+
}
|
| 45 |
+
}
|
| 46 |
+
}
|
build/torch211-cu128-aarch64-linux/metadata.json.sigstore
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
{"mediaType":"application/vnd.dev.sigstore.bundle.v0.3+json","verificationMaterial":{"certificate":{"rawBytes":"MIIHLDCCBrKgAwIBAgIUcD5vS0m+lKTG/2TuUrYiIbCwjAUwCgYIKoZIzj0EAwMwNzEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MR4wHAYDVQQDExVzaWdzdG9yZS1pbnRlcm1lZGlhdGUwHhcNMjYxMDE5MTEwNjI3WhcNMjYxMDE5MTExNjI3WjAAMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEqZ0P1rsjnBEFIfPocOrDKuMy1etbzMYr8jjrrEZCC5V9GJ6GDotmob5OCwOy0+wZd442EnJ4vgtgb/axI9+KY6OCBdEwggXNMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAfBgNVHSMEGDAWgBTf0+nPViQRlvmo2OkoVaLGLhhkPzBrBgNVHREBAf8EYTBfhl1odHRwczovL2dpdGh1Yi5jb20vaHVnZ2luZ2ZhY2Uva2VybmVscy1jb21tdW5pdHkvLmdpdGh1Yi93b3JrZmxvd3MvYnVpbGQueWFtbEByZWZzL2hlYWRzL21haW4wOQYKKwYBBAGDvzABAQQraHR0cHM6Ly90b2tlbi5hY3Rpb25zLmdpdGh1YnVzZXJjb250ZW50LmNvbTAfBgorBgEEAYO/MAECBBF3b3JrZmxvd19kaXNwYXRjaDA2BgorBgEEAYO/MAEDBChmZTJiYjY2ZmVlNmMyYTc3ZWNjZjA4YTA1MDhkYzU3NDI4ZDQ4OGVkMBMGCisGAQQBg78wAQQEBUJ1aWxkMCsGCisGAQQBg78wAQUEHWh1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5MB0GCisGAQQBg78wAQYED3JlZnMvaGVhZHMvbWFpbjA7BgorBgEEAYO/MAEIBC0MK2h0dHBzOi8vdG9rZW4uYWN0aW9ucy5naXRodWJ1c2VyY29udGVudC5jb20wbQYKKwYBBAGDvzABCQRfDF1odHRwczovL2dpdGh1Yi5jb20vaHVnZ2luZ2ZhY2Uva2VybmVscy1jb21tdW5pdHkvLmdpdGh1Yi93b3JrZmxvd3MvYnVpbGQueWFtbEByZWZzL2hlYWRzL21haW4wOAYKKwYBBAGDvzABCgQqDChmZTJiYjY2ZmVlNmMyYTc3ZWNjZjA4YTA1MDhkYzU3NDI4ZDQ4OGVkMBsGCisGAQQBg78wAQsEDQwLc2VsZi1ob3N0ZWQwQAYKKwYBBAGDvzABDAQyDDBodHRwczovL2dpdGh1Yi5jb20vaHVnZ2luZ2ZhY2Uva2VybmVscy1jb21tdW5pdHkwOAYKKwYBBAGDvzABDQQqDChmZTJiYjY2ZmVlNmMyYTc3ZWNjZjA4YTA1MDhkYzU3NDI4ZDQ4OGVkMB8GCisGAQQBg78wAQ4EEQwPcmVmcy9oZWFkcy9tYWluMBoGCisGAQQBg78wAQ8EDAwKMTA3MTQ3NTUyOTAuBgorBgEEAYO/MAEQBCAMHmh0dHBzOi8vZ2l0aHViLmNvbS9odWdnaW5nZmFjZTAYBgorBgEEAYO/MAERBAoMCDI1NzIwNzQzMG0GCisGAQQBg78wARIEXwxdaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5Ly5naXRodWIvd29ya2Zsb3dzL2J1aWxkLnlhbWxAcmVmcy9oZWFkcy9tYWluMDgGCisGAQQBg78wARMEKgwoZmUyYmI2NmZlZTZjMmE3N2VjY2YwOGEwNTA4ZGM1NzQyOGQ0ODhlZDAhBgorBgEEAYO/MAEUBBMMEXdvcmtmbG93X2Rpc3BhdGNoMGQGCisGAQQBg78wARUEVgxUaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5L2FjdGlvbnMvcnVucy8zOTIzOTUzNzc0Ni9hdHRlbXB0cy8xMBYGCisGAQQBg78wARYECAwGcHVibGljMEYGCisGAQQBg78wARgEOAw2cmVwbzpodWdnaW5nZmFjZS9rZXJuZWxzLWNvbW11bml0eTpyZWY6cmVmcy9oZWFkcy9tYWluMIGKBgorBgEEAdZ5AgQCBHwEegB4AHYA3T0wasbHETJjGR4cmWc3AqJKXrjePK3/h4pygC8p7o4AAAGhU9dm0gAABAMARzBFAiEAmeakUySGaCAB54pmx56+WqU483hLcbF8xjtkifnBvMgCIGNccMQ+3C5b0bd9TkFtdTOscwX0Fu3TRw3d5qsYGPKoMAoGCCqGSM49BAMDA2gAMGUCMCz4WN+POFEj30i17Ol/J1CFEu+Pa144DlChumtsqDxvDtbv5fYItONkekwoS+rJHQIxAMzvpAFdcVNVwtFLyZ4NWNmNYEt0X8zG711tPC020+cavWe52oxHcSLvFOGlopmoyQ=="},"tlogEntries":[{"logIndex":"3320115233","logId":{"keyId":"wNI9atQGlz+VWfO6LRygH4QUfY/8W4RFwiT5i5WRgB0="},"kindVersion":{"kind":"hashedrekord","version":"0.0.1"},"integratedTime":"1792407988","inclusionPromise":{"signedEntryTimestamp":"MEYCIQC8df4KomdcI6Ekb8538BfSj/2iGElvSYYTCpIUmvCQ5QIhAPTzkzKK0neapvRqr7e5fjhAfQG1xqZIeYkySXb+wbDX"},"inclusionProof":{"logIndex":"3198210971","rootHash":"ki8rVhfbC661nNuIIG66yebqjFREa2LD923mfT+lYF0=","treeSize":"3198210974","hashes":["4IpqtEMVQrC+A7BD+YYA8siRNnq5bxYlFiPolB4P9wQ=","dcpNyCMTXDq8c5zDbsICBljMTab/2COCAKuaoe4uH3s=","YzPe3LrHdMXIJn9tVmMdxNLsQ4RvJH+POJFlBafFLFU=","CQ2ubMX1MHj4ViMcmlj3qoQYpA5cQZB90wF6zIxbJjs=","eQL/ljuW1lZaa8UDkcqCkckv3oYhv60AhRt1ALMjbLI=","GuVvnGqaFV7gJ3r7URJzep/H3YozPXfaZGzcmRhfZ+8=","XeJRfO8GGqdVjjDSrcs8+Wc5QwvXThQ63MFVLW5wtfo=","s9iN9HHBoxC2mbJmeUlysJhmQiWhVMF8kCCF2P6eLgU=","PJRsVvScXNHmqQge+wrG01cIyckZNEkkYLfYRFm0H14=","f4MktXqhBPk7ruDBxwgqTvXa7eCNzak9cUObXS0eTxI=","OlLDeTiZ1vIMDel4vGDtbNVnrFnzDe1MFV5rBN5Ep4o=","uCZQe757l2sS1c05Y7TzOwEm+X8MeGLIUCkEOmFVOz4=","nyQV/+cWQUG5Hb2PKjQQNkQIJmz2qzAZKBQlkHGIknM=","G+nk7mgE5h6dUmv2UY7NDJrY3WvrZY31raaO1AETt+o=","qlTWNDzERnTBQVcHHXXVPjiUP0SsikGxfcxVlgqVFDo=","gg9GNApNke3+zNhl4tsWtmIycCFrOMCB3lys6XuSQNQ=","NlOclldmKPA1tMKIskqHAwuQDYHp31YwpK+OOMrMccc=","qxzHanAzz57SDdmJe0B7bJK72NTIBbwEMGBBKvDOROw=","xH/DCseLHr9eKoYT8qsORZK7zVdEGYWHuVtsVrD95wY="],"checkpoint":{"envelope":"rekor.sigstore.dev - 1193050959916656506\n3198210974\nki8rVhfbC661nNuIIG66yebqjFREa2LD923mfT+lYF0=\n\n— rekor.sigstore.dev wNI9ajBEAiBy6ENz+yYDhNWhbUKF1lxBxBnz5NMOzJxeO9RG7nzJxAIgMBOP1LL3qT082fdckyDWCYksahy2udub/UQ1ynm1ua4=\n"}},"canonicalizedBody":"eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiaGFzaGVkcmVrb3JkIiwic3BlYyI6eyJkYXRhIjp7Imhhc2giOnsiYWxnb3JpdGhtIjoic2hhMjU2IiwidmFsdWUiOiI1NDVkNDY1MzY2N2E1OWM4NDdhYzUzYTE0ZWFhN2E3Zjk5ZjliZmY2ZjMwMzljNTRjZDI0NDhjYjJlYzlhNmRiIn19LCJzaWduYXR1cmUiOnsiY29udGVudCI6Ik1FVUNJUUQ2RkZNVmU0VE9US29MNncxUFhrUWs1RkdQTEk3K0doU1k2elY3UUg2NTZBSWdOcjlYS0l5MlNWbTNUbEQrYnNrNnlEdS9kb1BJdGQ1QUVFWHRGb1dBcXlFPSIsInB1YmxpY0tleSI6eyJjb250ZW50IjoiTFMwdExTMUNSVWRKVGlCRFJWSlVTVVpKUTBGVVJTMHRMUzB0Q2sxSlNVaE1SRU5EUW5KTFowRjNTVUpCWjBsVlkwUTFkbE13YlN0c1MxUkhMekpVZFZWeVdXbEpZa04zYWtGVmQwTm5XVWxMYjFwSmVtb3dSVUYzVFhjS1RucEZWazFDVFVkQk1WVkZRMmhOVFdNeWJHNWpNMUoyWTIxVmRWcEhWakpOVWpSM1NFRlpSRlpSVVVSRmVGWjZZVmRrZW1SSE9YbGFVekZ3WW01U2JBcGpiVEZzV2tkc2FHUkhWWGRJYUdOT1RXcFplRTFFUlRWTlZFVjNUbXBKTTFkb1kwNU5hbGw0VFVSRk5VMVVSWGhPYWtrelYycEJRVTFHYTNkRmQxbElDa3R2V2tsNmFqQkRRVkZaU1V0dldrbDZhakJFUVZGalJGRm5RVVZ4V2pCUU1YSnphbTVDUlVaSlpsQnZZMDl5UkV0MVRYa3haWFJpZWsxWmNqaHFhbklLY2tWYVEwTTFWamxIU2paSFJHOTBiVzlpTlU5RGQwOTVNQ3QzV21RME5ESkZia28wZG1kMFoySXZZWGhKT1N0TFdUWlBRMEprUlhkbloxaE9UVUUwUndwQk1WVmtSSGRGUWk5M1VVVkJkMGxJWjBSQlZFSm5UbFpJVTFWRlJFUkJTMEpuWjNKQ1owVkdRbEZqUkVGNlFXWkNaMDVXU0ZOTlJVZEVRVmRuUWxSbUNqQXJibEJXYVZGU2JIWnRiekpQYTI5V1lVeEhUR2hvYTFCNlFuSkNaMDVXU0ZKRlFrRm1PRVZaVkVKbWFHd3hiMlJJVW5kamVtOTJUREprY0dSSGFERUtXV2sxYW1JeU1IWmhTRlp1V2pKc2RWb3lXbWhaTWxWMllUSldlV0p0Vm5OamVURnFZakl4ZEdSWE5YQmtTR3QyVEcxa2NHUkhhREZaYVRrellqTktjZ3BhYlhoMlpETk5kbGx1Vm5CaVIxRjFaVmRHZEdKRlFubGFWMXA2VERKb2JGbFhVbnBNTWpGb1lWYzBkMDlSV1V0TGQxbENRa0ZIUkhaNlFVSkJVVkZ5Q21GSVVqQmpTRTAyVEhrNU1HSXlkR3hpYVRWb1dUTlNjR0l5TlhwTWJXUndaRWRvTVZsdVZucGFXRXBxWWpJMU1GcFhOVEJNYlU1MllsUkJaa0puYjNJS1FtZEZSVUZaVHk5TlFVVkRRa0pHTTJJelNuSmFiWGgyWkRFNWEyRllUbmRaV0ZKcVlVUkJNa0puYjNKQ1owVkZRVmxQTDAxQlJVUkNRMmh0V2xSS2FRcFphbGt5V20xV2JFNXRUWGxaVkdNeldsZE9hbHBxUVRSWlZFRXhUVVJvYTFsNlZUTk9SRWswV2tSUk5FOUhWbXROUWsxSFEybHpSMEZSVVVKbk56aDNDa0ZSVVVWQ1ZVb3hZVmQ0YTAxRGMwZERhWE5IUVZGUlFtYzNPSGRCVVZWRlNGZG9NVm95WkhCaWJXUnRXVmRPYkV3eWRHeGpiVFZzWWtoTmRGa3lPWFFLWWxoV2RXRllValZOUWpCSFEybHpSMEZSVVVKbk56aDNRVkZaUlVRelNteGFiazEyWVVkV2FGcElUWFppVjBad1ltcEJOMEpuYjNKQ1owVkZRVmxQTHdwTlFVVkpRa013VFVzeWFEQmtTRUo2VDJrNGRtUkhPWEphVnpSMVdWZE9NR0ZYT1hWamVUVnVZVmhTYjJSWFNqRmpNbFo1V1RJNWRXUkhWblZrUXpWcUNtSXlNSGRpVVZsTFMzZFpRa0pCUjBSMmVrRkNRMUZTWmtSR01XOWtTRkozWTNwdmRrd3laSEJrUjJneFdXazFhbUl5TUhaaFNGWnVXakpzZFZveVdtZ0tXVEpWZG1FeVZubGliVlp6WTNreGFtSXlNWFJrVnpWd1pFaHJka3h0WkhCa1IyZ3hXV2s1TTJJelNuSmFiWGgyWkROTmRsbHVWbkJpUjFGMVpWZEdkQXBpUlVKNVdsZGFla3d5YUd4WlYxSjZUREl4YUdGWE5IZFBRVmxMUzNkWlFrSkJSMFIyZWtGQ1EyZFJjVVJEYUcxYVZFcHBXV3BaTWxwdFZteE9iVTE1Q2xsVVl6TmFWMDVxV21wQk5GbFVRVEZOUkdocldYcFZNMDVFU1RSYVJGRTBUMGRXYTAxQ2MwZERhWE5IUVZGUlFtYzNPSGRCVVhORlJGRjNUR015Vm5NS1dta3hiMkl6VGpCYVYxRjNVVUZaUzB0M1dVSkNRVWRFZG5wQlFrUkJVWGxFUkVKdlpFaFNkMk42YjNaTU1tUndaRWRvTVZscE5XcGlNakIyWVVoV2JncGFNbXgxV2pKYWFGa3lWWFpoTWxaNVltMVdjMk41TVdwaU1qRjBaRmMxY0dSSWEzZFBRVmxMUzNkWlFrSkJSMFIyZWtGQ1JGRlJjVVJEYUcxYVZFcHBDbGxxV1RKYWJWWnNUbTFOZVZsVVl6TmFWMDVxV21wQk5GbFVRVEZOUkdocldYcFZNMDVFU1RSYVJGRTBUMGRXYTAxQ09FZERhWE5IUVZGUlFtYzNPSGNLUVZFMFJVVlJkMUJqYlZadFkzazViMXBYUm10amVUbDBXVmRzZFUxQ2IwZERhWE5IUVZGUlFtYzNPSGRCVVRoRlJFRjNTMDFVUVROTlZGRXpUbFJWZVFwUFZFRjFRbWR2Y2tKblJVVkJXVTh2VFVGRlVVSkRRVTFJYldnd1pFaENlazlwT0haYU1td3dZVWhXYVV4dFRuWmlVemx2WkZka2JtRlhOVzVhYlVacUNscFVRVmxDWjI5eVFtZEZSVUZaVHk5TlFVVlNRa0Z2VFVORVNURk9la2wzVG5wUmVrMUhNRWREYVhOSFFWRlJRbWMzT0hkQlVrbEZXSGQ0WkdGSVVqQUtZMGhOTmt4NU9XNWhXRkp2WkZkSmRWa3lPWFJNTW1neFdqSmtjR0p0WkcxWlYwNXNUREowYkdOdE5XeGlTRTEwV1RJNWRHSllWblZoV0ZJMVRIazFiZ3BoV0ZKdlpGZEpkbVF5T1hsaE1scHpZak5rZWt3eVNqRmhWM2hyVEc1c2FHSlhlRUZqYlZadFkzazViMXBYUm10amVUbDBXVmRzZFUxRVowZERhWE5IQ2tGUlVVSm5OemgzUVZKTlJVdG5kMjlhYlZWNVdXMUpNazV0V214YVZGcHFUVzFGTTA0eVZtcFpNbGwzVDBkRmQwNVVRVFJhUjAweFRucFJlVTlIVVRBS1QwUm9iRnBFUVdoQ1oyOXlRbWRGUlVGWlR5OU5RVVZWUWtKTlRVVllaSFpqYlhSdFlrYzVNMWd5VW5Cak0wSm9aRWRPYjAxSFVVZERhWE5IUVZGUlFncG5OemgzUVZKVlJWWm5lRlZoU0ZJd1kwaE5Oa3g1T1c1aFdGSnZaRmRKZFZreU9YUk1NbWd4V2pKa2NHSnRaRzFaVjA1c1RESjBiR050Tld4aVNFMTBDbGt5T1hSaVdGWjFZVmhTTlV3eVJtcGtSMngyWW01TmRtTnVWblZqZVRoNlQxUkplazlVVlhwT2VtTXdUbWs1YUdSSVVteGlXRUl3WTNrNGVFMUNXVWNLUTJselIwRlJVVUpuTnpoM1FWSlpSVU5CZDBkalNGWnBZa2RzYWsxRldVZERhWE5IUVZGUlFtYzNPSGRCVW1kRlQwRjNNbU50Vm5kaWVuQnZaRmRrYmdwaFZ6VnVXbTFHYWxwVE9YSmFXRXAxV2xkNGVreFhUblppVnpFeFltMXNNR1ZVY0hsYVYxazJZMjFXYldONU9XOWFWMFpyWTNrNWRGbFhiSFZOU1VkTENrSm5iM0pDWjBWRlFXUmFOVUZuVVVOQ1NIZEZaV2RDTkVGSVdVRXpWREIzWVhOaVNFVlVTbXBIVWpSamJWZGpNMEZ4U2t0WWNtcGxVRXN6TDJnMGNIa0taME00Y0Rkdk5FRkJRVWRvVlRsa2JUQm5RVUZDUVUxQlVucENSa0ZwUlVGdFpXRnJWWGxUUjJGRFFVSTFOSEJ0ZURVMksxZHhWVFE0TTJoTVkySkdPQXA0YW5ScmFXWnVRblpOWjBOSlIwNWpZMDFSS3pORE5XSXdZbVE1Vkd0R2RHUlVUM05qZDFnd1JuVXpWRkozTTJRMWNYTlpSMUJMYjAxQmIwZERRM0ZIQ2xOTk5EbENRVTFFUVRKblFVMUhWVU5OUTNvMFYwNHJVRTlHUldvek1Ha3hOMDlzTDBveFEwWkZkU3RRWVRFME5FUnNRMmgxYlhSemNVUjRka1IwWW5ZS05XWlpTWFJQVG10bGEzZHZVeXR5U2toUlNYaEJUWHAyY0VGR1pHTldUbFozZEVaTWVWbzBUbGRPYlU1WlJYUXdXRGg2UnpjeE1YUlFRekF5TUN0allRcDJWMlUxTW05NFNHTlRUSFpHVDBkc2IzQnRiM2xSUFQwS0xTMHRMUzFGVGtRZ1EwVlNWRWxHU1VOQlZFVXRMUzB0TFFvPSJ9fX19"}],"timestampVerificationData":{"rfc3161Timestamps":[{"signedTimestamp":"MIICyTADAgEAMIICwAYJKoZIhvcNAQcCoIICsTCCAq0CAQMxDTALBglghkgBZQMEAgEwgbcGCyqGSIb3DQEJEAEEoIGnBIGkMIGhAgEBBgkrBgEEAYO/MAIwMTANBglghkgBZQMEAgEFAAQgCq/d6CsALcdiRlfhxeGpByieQivRBiJ01xl5Ln5li6ECFCFC7hx2F/1DHCIe937nY+E9F/gSGA8yMDI2MTAxOTExMDYyOFowAwIBAaAypDAwLjEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MRUwEwYDVQQDEwxzaWdzdG9yZS10c2GgADGCAdswggHXAgEBMFEwOTEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MSAwHgYDVQQDExdzaWdzdG9yZS10c2Etc2VsZnNpZ25lZAIUOhNULwyQYe68wUMvy4qOiyojiwwwCwYJYIZIAWUDBAIBoIH8MBoGCSqGSIb3DQEJAzENBgsqhkiG9w0BCRABBDAcBgkqhkiG9w0BCQUxDxcNMjYxMDE5MTEwNjI4WjAvBgkqhkiG9w0BCQQxIgQgzKmPm3vOaJVXJHh+TOGKq0IH5FKWitxjflMU1sjMC+YwgY4GCyqGSIb3DQEJEAIvMX8wfTB7MHkEIIX5J7wHq2LKw7RDVsEO/IGyxog/2nq55thw2dE6zQW3MFUwPaQ7MDkxFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEgMB4GA1UEAxMXc2lnc3RvcmUtdHNhLXNlbGZzaWduZWQCFDoTVC8MkGHuvMFDL8uKjosqI4sMMAoGCCqGSM49BAMCBGcwZQIxAOLO3C1uXhuIblJmhrl9p+52WljjXS6WNZCM8LRTpBZypK+7tHlep20pH/zR8tOcHgIwXnHjC5///ogHMBvcKlpWIXE4AqP9IMAzJMb5JzYDRHkwTiZjDSZ513brynkXDE/I"}]}},"messageSignature":{"messageDigest":{"algorithm":"SHA2_256","digest":"VF1GU2Z6WchHrFOhTqp6f5n5v/bzA5xUzSRIyy7Jpts="},"signature":"MEUCIQD6FFMVe4TOTKoL6w1PXkQk5FGPLI7+GhSY6zV7QH656AIgNr9XKIy2SVm3TlD+bsk6yDu/doPItd5AEEXtFoWAqyE="}}
|
build/torch211-cu128-aarch64-linux/symbols.json
ADDED
|
@@ -0,0 +1,138 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"schema_version": 1,
|
| 3 |
+
"module": "_deformable_detr_cuda_fe2bb66",
|
| 4 |
+
"functions": [
|
| 5 |
+
{
|
| 6 |
+
"name": "ms_deform_attn_forward",
|
| 7 |
+
"qualname": "ms_deform_attn_forward",
|
| 8 |
+
"module": "_deformable_detr_cuda_fe2bb66",
|
| 9 |
+
"kind": "function",
|
| 10 |
+
"doc": null,
|
| 11 |
+
"signature": {
|
| 12 |
+
"parameters": [
|
| 13 |
+
{
|
| 14 |
+
"name": "value",
|
| 15 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 16 |
+
"default": null,
|
| 17 |
+
"annotation": "torch.Tensor"
|
| 18 |
+
},
|
| 19 |
+
{
|
| 20 |
+
"name": "spatial_shapes",
|
| 21 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 22 |
+
"default": null,
|
| 23 |
+
"annotation": "torch.Tensor"
|
| 24 |
+
},
|
| 25 |
+
{
|
| 26 |
+
"name": "level_start_index",
|
| 27 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 28 |
+
"default": null,
|
| 29 |
+
"annotation": "torch.Tensor"
|
| 30 |
+
},
|
| 31 |
+
{
|
| 32 |
+
"name": "sampling_loc",
|
| 33 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 34 |
+
"default": null,
|
| 35 |
+
"annotation": "torch.Tensor"
|
| 36 |
+
},
|
| 37 |
+
{
|
| 38 |
+
"name": "attn_weight",
|
| 39 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 40 |
+
"default": null,
|
| 41 |
+
"annotation": "torch.Tensor"
|
| 42 |
+
},
|
| 43 |
+
{
|
| 44 |
+
"name": "im2col_step",
|
| 45 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 46 |
+
"default": null,
|
| 47 |
+
"annotation": "int"
|
| 48 |
+
}
|
| 49 |
+
],
|
| 50 |
+
"return_annotation": "torch.Tensor"
|
| 51 |
+
}
|
| 52 |
+
},
|
| 53 |
+
{
|
| 54 |
+
"name": "ms_deform_attn_backward",
|
| 55 |
+
"qualname": "ms_deform_attn_backward",
|
| 56 |
+
"module": "_deformable_detr_cuda_fe2bb66",
|
| 57 |
+
"kind": "function",
|
| 58 |
+
"doc": null,
|
| 59 |
+
"signature": {
|
| 60 |
+
"parameters": [
|
| 61 |
+
{
|
| 62 |
+
"name": "value",
|
| 63 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 64 |
+
"default": null,
|
| 65 |
+
"annotation": "torch.Tensor"
|
| 66 |
+
},
|
| 67 |
+
{
|
| 68 |
+
"name": "spatial_shapes",
|
| 69 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 70 |
+
"default": null,
|
| 71 |
+
"annotation": "torch.Tensor"
|
| 72 |
+
},
|
| 73 |
+
{
|
| 74 |
+
"name": "level_start_index",
|
| 75 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 76 |
+
"default": null,
|
| 77 |
+
"annotation": "torch.Tensor"
|
| 78 |
+
},
|
| 79 |
+
{
|
| 80 |
+
"name": "sampling_loc",
|
| 81 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 82 |
+
"default": null,
|
| 83 |
+
"annotation": "torch.Tensor"
|
| 84 |
+
},
|
| 85 |
+
{
|
| 86 |
+
"name": "attn_weight",
|
| 87 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 88 |
+
"default": null,
|
| 89 |
+
"annotation": "torch.Tensor"
|
| 90 |
+
},
|
| 91 |
+
{
|
| 92 |
+
"name": "grad_output",
|
| 93 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 94 |
+
"default": null,
|
| 95 |
+
"annotation": "torch.Tensor"
|
| 96 |
+
},
|
| 97 |
+
{
|
| 98 |
+
"name": "im2col_step",
|
| 99 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 100 |
+
"default": null,
|
| 101 |
+
"annotation": "int"
|
| 102 |
+
}
|
| 103 |
+
],
|
| 104 |
+
"return_annotation": "List[torch.Tensor]"
|
| 105 |
+
}
|
| 106 |
+
}
|
| 107 |
+
],
|
| 108 |
+
"layers": [
|
| 109 |
+
{
|
| 110 |
+
"name": "MultiScaleDeformableAttention",
|
| 111 |
+
"qualname": "MultiScaleDeformableAttention",
|
| 112 |
+
"module": "_deformable_detr_cuda_fe2bb66.layers",
|
| 113 |
+
"kind": "class",
|
| 114 |
+
"doc": "Base class for all neural network modules.\n\nYour models should also subclass this class.\n\nModules can also contain other Modules, allowing them to be nested in\na tree structure. You can assign the submodules as regular attributes::\n\n import torch.nn as nn\n import torch.nn.functional as F\n\n\n class Model(nn.Module):\n def __init__(self) -> None:\n super().__init__()\n self.conv1 = nn.Conv2d(1, 20, 5)\n self.conv2 = nn.Conv2d(20, 20, 5)\n\n def forward(self, x):\n x = F.relu(self.conv1(x))\n return F.relu(self.conv2(x))\n\nSubmodules assigned in this way will be registered, and will also have their\nparameters converted when you call :meth:`to`, etc.\n\n.. note::\n As per the example above, an ``__init__()`` call to the parent class\n must be made before assignment on the child.\n\n:ivar training: Boolean represents whether this module is in training or\n evaluation mode.\n:vartype training: bool",
|
| 115 |
+
"signature": {
|
| 116 |
+
"parameters": [
|
| 117 |
+
{
|
| 118 |
+
"name": "args",
|
| 119 |
+
"kind": "VAR_POSITIONAL",
|
| 120 |
+
"default": null,
|
| 121 |
+
"annotation": "Any"
|
| 122 |
+
},
|
| 123 |
+
{
|
| 124 |
+
"name": "kwargs",
|
| 125 |
+
"kind": "VAR_KEYWORD",
|
| 126 |
+
"default": null,
|
| 127 |
+
"annotation": "Any"
|
| 128 |
+
}
|
| 129 |
+
],
|
| 130 |
+
"return_annotation": "None"
|
| 131 |
+
},
|
| 132 |
+
"attributes": {
|
| 133 |
+
"has_backward": null,
|
| 134 |
+
"can_torch_compile": null
|
| 135 |
+
}
|
| 136 |
+
}
|
| 137 |
+
]
|
| 138 |
+
}
|
build/torch211-cu130-aarch64-linux/__init__.py
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
from typing import List
|
| 2 |
+
import torch
|
| 3 |
+
|
| 4 |
+
from ._ops import ops
|
| 5 |
+
from . import layers
|
| 6 |
+
|
| 7 |
+
|
| 8 |
+
def ms_deform_attn_backward(
|
| 9 |
+
value: torch.Tensor,
|
| 10 |
+
spatial_shapes: torch.Tensor,
|
| 11 |
+
level_start_index: torch.Tensor,
|
| 12 |
+
sampling_loc: torch.Tensor,
|
| 13 |
+
attn_weight: torch.Tensor,
|
| 14 |
+
grad_output: torch.Tensor,
|
| 15 |
+
im2col_step: int,
|
| 16 |
+
) -> List[torch.Tensor]:
|
| 17 |
+
return ops.ms_deform_attn_backward(
|
| 18 |
+
value,
|
| 19 |
+
spatial_shapes,
|
| 20 |
+
level_start_index,
|
| 21 |
+
sampling_loc,
|
| 22 |
+
attn_weight,
|
| 23 |
+
grad_output,
|
| 24 |
+
im2col_step,
|
| 25 |
+
)
|
| 26 |
+
|
| 27 |
+
|
| 28 |
+
def ms_deform_attn_forward(
|
| 29 |
+
value: torch.Tensor,
|
| 30 |
+
spatial_shapes: torch.Tensor,
|
| 31 |
+
level_start_index: torch.Tensor,
|
| 32 |
+
sampling_loc: torch.Tensor,
|
| 33 |
+
attn_weight: torch.Tensor,
|
| 34 |
+
im2col_step: int,
|
| 35 |
+
) -> torch.Tensor:
|
| 36 |
+
return ops.ms_deform_attn_forward(
|
| 37 |
+
value,
|
| 38 |
+
spatial_shapes,
|
| 39 |
+
level_start_index,
|
| 40 |
+
sampling_loc,
|
| 41 |
+
attn_weight,
|
| 42 |
+
im2col_step,
|
| 43 |
+
)
|
| 44 |
+
|
| 45 |
+
|
| 46 |
+
__all__ = ["layers", "ms_deform_attn_forward", "ms_deform_attn_backward"]
|
build/torch211-cu130-aarch64-linux/_deformable_detr_cuda_fe2bb66.abi3.so
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:b7c42f6f89e6b97f83c49ec4265ca7658bfc96e18f8ce0062017a8219a320446
|
| 3 |
+
size 9846512
|
build/torch211-cu130-aarch64-linux/_ops.py
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import torch
|
| 2 |
+
from . import _deformable_detr_cuda_fe2bb66
|
| 3 |
+
ops = torch.ops._deformable_detr_cuda_fe2bb66
|
| 4 |
+
|
| 5 |
+
def add_op_namespace_prefix(op_name: str):
|
| 6 |
+
"""
|
| 7 |
+
Prefix op by namespace.
|
| 8 |
+
"""
|
| 9 |
+
return f"_deformable_detr_cuda_fe2bb66::{op_name}"
|
build/torch211-cu130-aarch64-linux/layers.py
ADDED
|
@@ -0,0 +1,84 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
from typing import List, Union, Tuple
|
| 2 |
+
|
| 3 |
+
from torch import Tensor
|
| 4 |
+
from torch.autograd import Function
|
| 5 |
+
from torch.autograd.function import once_differentiable
|
| 6 |
+
import torch.nn as nn
|
| 7 |
+
|
| 8 |
+
from ._ops import ops
|
| 9 |
+
|
| 10 |
+
|
| 11 |
+
class MultiScaleDeformableAttentionFunction(Function):
|
| 12 |
+
@staticmethod
|
| 13 |
+
def forward(
|
| 14 |
+
context,
|
| 15 |
+
value: Tensor,
|
| 16 |
+
value_spatial_shapes: Tensor,
|
| 17 |
+
value_level_start_index: Tensor,
|
| 18 |
+
sampling_locations: Tensor,
|
| 19 |
+
attention_weights: Tensor,
|
| 20 |
+
im2col_step: int,
|
| 21 |
+
):
|
| 22 |
+
context.im2col_step = im2col_step
|
| 23 |
+
output = ops.ms_deform_attn_forward(
|
| 24 |
+
value,
|
| 25 |
+
value_spatial_shapes,
|
| 26 |
+
value_level_start_index,
|
| 27 |
+
sampling_locations,
|
| 28 |
+
attention_weights,
|
| 29 |
+
context.im2col_step,
|
| 30 |
+
)
|
| 31 |
+
context.save_for_backward(
|
| 32 |
+
value,
|
| 33 |
+
value_spatial_shapes,
|
| 34 |
+
value_level_start_index,
|
| 35 |
+
sampling_locations,
|
| 36 |
+
attention_weights,
|
| 37 |
+
)
|
| 38 |
+
return output
|
| 39 |
+
|
| 40 |
+
@staticmethod
|
| 41 |
+
@once_differentiable
|
| 42 |
+
def backward(context, grad_output):
|
| 43 |
+
(
|
| 44 |
+
value,
|
| 45 |
+
value_spatial_shapes,
|
| 46 |
+
value_level_start_index,
|
| 47 |
+
sampling_locations,
|
| 48 |
+
attention_weights,
|
| 49 |
+
) = context.saved_tensors
|
| 50 |
+
grad_value, grad_sampling_loc, grad_attn_weight = ops.ms_deform_attn_backward(
|
| 51 |
+
value,
|
| 52 |
+
value_spatial_shapes,
|
| 53 |
+
value_level_start_index,
|
| 54 |
+
sampling_locations,
|
| 55 |
+
attention_weights,
|
| 56 |
+
grad_output,
|
| 57 |
+
context.im2col_step,
|
| 58 |
+
)
|
| 59 |
+
|
| 60 |
+
return grad_value, None, None, grad_sampling_loc, grad_attn_weight, None
|
| 61 |
+
|
| 62 |
+
|
| 63 |
+
class MultiScaleDeformableAttention(nn.Module):
|
| 64 |
+
def forward(
|
| 65 |
+
self,
|
| 66 |
+
value: Tensor,
|
| 67 |
+
value_spatial_shapes: Tensor,
|
| 68 |
+
value_spatial_shapes_list: List[Tuple],
|
| 69 |
+
level_start_index: Tensor,
|
| 70 |
+
sampling_locations: Tensor,
|
| 71 |
+
attention_weights: Tensor,
|
| 72 |
+
im2col_step: int,
|
| 73 |
+
):
|
| 74 |
+
return MultiScaleDeformableAttentionFunction.apply(
|
| 75 |
+
value,
|
| 76 |
+
value_spatial_shapes,
|
| 77 |
+
level_start_index,
|
| 78 |
+
sampling_locations,
|
| 79 |
+
attention_weights,
|
| 80 |
+
im2col_step,
|
| 81 |
+
)
|
| 82 |
+
|
| 83 |
+
|
| 84 |
+
__all__ = ["MultiScaleDeformableAttention"]
|
build/torch211-cu130-aarch64-linux/metadata.json
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"name": "deformable-detr",
|
| 3 |
+
"id": "_deformable_detr_cuda_fe2bb66",
|
| 4 |
+
"version": 1,
|
| 5 |
+
"kernels-minver": "0.14.0",
|
| 6 |
+
"license": "Apache-2.0",
|
| 7 |
+
"python-depends": [],
|
| 8 |
+
"kernel-depends": [],
|
| 9 |
+
"backend": {
|
| 10 |
+
"type": "cuda",
|
| 11 |
+
"archs": [
|
| 12 |
+
"10.0",
|
| 13 |
+
"10.3",
|
| 14 |
+
"11.0",
|
| 15 |
+
"12.0",
|
| 16 |
+
"12.1+PTX",
|
| 17 |
+
"7.5",
|
| 18 |
+
"8.0",
|
| 19 |
+
"8.6",
|
| 20 |
+
"8.7",
|
| 21 |
+
"8.9",
|
| 22 |
+
"9.0"
|
| 23 |
+
]
|
| 24 |
+
},
|
| 25 |
+
"digest": {
|
| 26 |
+
"algorithm": "sha256",
|
| 27 |
+
"files": {
|
| 28 |
+
"__init__.py": "/P9rmKjjgzhOqU3peSjUIi0u9GaxAmMEcaQb5kNGG90=",
|
| 29 |
+
"_deformable_detr_cuda_fe2bb66.abi3.so": "t8Qvb4nmuX+DxJ7EJlynZYv8luGPjOAGIBeoIZoyBEY=",
|
| 30 |
+
"_ops.py": "i9uA2K4/sWeUF4FAwHQJ80J8tvwwaf5I4n6oN+q9VR4=",
|
| 31 |
+
"layers.py": "H3mypbDteagvzG5WTscmD05BfJhNbylbPJr0zb3k82A=",
|
| 32 |
+
"symbols.json": "SE1abIt8U28b3HcQzThCV+v19Ww2kNiQdWEjoQzsUpw="
|
| 33 |
+
}
|
| 34 |
+
},
|
| 35 |
+
"provenance": {
|
| 36 |
+
"kernel-builder": {
|
| 37 |
+
"version": "0.18.0-dev0",
|
| 38 |
+
"commit": "d054906a13710b811b96697b4635f03020842733",
|
| 39 |
+
"dirty": false
|
| 40 |
+
},
|
| 41 |
+
"kernel": {
|
| 42 |
+
"commit": "fe2bb66fee6c2a77eccf08a0508dc57428d488ed",
|
| 43 |
+
"dirty": false
|
| 44 |
+
}
|
| 45 |
+
}
|
| 46 |
+
}
|
build/torch211-cu130-aarch64-linux/metadata.json.sigstore
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
{"mediaType":"application/vnd.dev.sigstore.bundle.v0.3+json","verificationMaterial":{"certificate":{"rawBytes":"MIIHLDCCBrGgAwIBAgIUZIPQlcXM0w1TRKqfRBNxxdkH7VwwCgYIKoZIzj0EAwMwNzEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MR4wHAYDVQQDExVzaWdzdG9yZS1pbnRlcm1lZGlhdGUwHhcNMjYxMDE5MTEwNjI4WhcNMjYxMDE5MTExNjI4WjAAMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEoKY5+FvpSz67AjyPWMoM0g8Cblqro7UzHn0Dx+QfvUMwxHmiBne9QkvhYgyGV6khZecV0LmS7nfNmDK41OgmYaOCBdAwggXMMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAfBgNVHSMEGDAWgBTf0+nPViQRlvmo2OkoVaLGLhhkPzBrBgNVHREBAf8EYTBfhl1odHRwczovL2dpdGh1Yi5jb20vaHVnZ2luZ2ZhY2Uva2VybmVscy1jb21tdW5pdHkvLmdpdGh1Yi93b3JrZmxvd3MvYnVpbGQueWFtbEByZWZzL2hlYWRzL21haW4wOQYKKwYBBAGDvzABAQQraHR0cHM6Ly90b2tlbi5hY3Rpb25zLmdpdGh1YnVzZXJjb250ZW50LmNvbTAfBgorBgEEAYO/MAECBBF3b3JrZmxvd19kaXNwYXRjaDA2BgorBgEEAYO/MAEDBChmZTJiYjY2ZmVlNmMyYTc3ZWNjZjA4YTA1MDhkYzU3NDI4ZDQ4OGVkMBMGCisGAQQBg78wAQQEBUJ1aWxkMCsGCisGAQQBg78wAQUEHWh1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5MB0GCisGAQQBg78wAQYED3JlZnMvaGVhZHMvbWFpbjA7BgorBgEEAYO/MAEIBC0MK2h0dHBzOi8vdG9rZW4uYWN0aW9ucy5naXRodWJ1c2VyY29udGVudC5jb20wbQYKKwYBBAGDvzABCQRfDF1odHRwczovL2dpdGh1Yi5jb20vaHVnZ2luZ2ZhY2Uva2VybmVscy1jb21tdW5pdHkvLmdpdGh1Yi93b3JrZmxvd3MvYnVpbGQueWFtbEByZWZzL2hlYWRzL21haW4wOAYKKwYBBAGDvzABCgQqDChmZTJiYjY2ZmVlNmMyYTc3ZWNjZjA4YTA1MDhkYzU3NDI4ZDQ4OGVkMBsGCisGAQQBg78wAQsEDQwLc2VsZi1ob3N0ZWQwQAYKKwYBBAGDvzABDAQyDDBodHRwczovL2dpdGh1Yi5jb20vaHVnZ2luZ2ZhY2Uva2VybmVscy1jb21tdW5pdHkwOAYKKwYBBAGDvzABDQQqDChmZTJiYjY2ZmVlNmMyYTc3ZWNjZjA4YTA1MDhkYzU3NDI4ZDQ4OGVkMB8GCisGAQQBg78wAQ4EEQwPcmVmcy9oZWFkcy9tYWluMBoGCisGAQQBg78wAQ8EDAwKMTA3MTQ3NTUyOTAuBgorBgEEAYO/MAEQBCAMHmh0dHBzOi8vZ2l0aHViLmNvbS9odWdnaW5nZmFjZTAYBgorBgEEAYO/MAERBAoMCDI1NzIwNzQzMG0GCisGAQQBg78wARIEXwxdaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5Ly5naXRodWIvd29ya2Zsb3dzL2J1aWxkLnlhbWxAcmVmcy9oZWFkcy9tYWluMDgGCisGAQQBg78wARMEKgwoZmUyYmI2NmZlZTZjMmE3N2VjY2YwOGEwNTA4ZGM1NzQyOGQ0ODhlZDAhBgorBgEEAYO/MAEUBBMMEXdvcmtmbG93X2Rpc3BhdGNoMGQGCisGAQQBg78wARUEVgxUaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5L2FjdGlvbnMvcnVucy8zOTIzOTUzNzc0Ni9hdHRlbXB0cy8xMBYGCisGAQQBg78wARYECAwGcHVibGljMEYGCisGAQQBg78wARgEOAw2cmVwbzpodWdnaW5nZmFjZS9rZXJuZWxzLWNvbW11bml0eTpyZWY6cmVmcy9oZWFkcy9tYWluMIGJBgorBgEEAdZ5AgQCBHsEeQB3AHUA3T0wasbHETJjGR4cmWc3AqJKXrjePK3/h4pygC8p7o4AAAGhU9dqIQAABAMARjBEAiBr07qAu4fUP7vccLMLUC2GN4NAg6naKe7PQgeJ1jWuXQIgeEUa6uIG6vuWUvG93zp4p7/I7mWmiidxwIOTqGwhmg4wCgYIKoZIzj0EAwMDaQAwZgIxALG3jZUGie0lWKHgUWM9nGPq6+HCE1SsXH0OCrfbdH+i7xtiO3hOG2hdX7/D1oTDFAIxANNjC0mLci76R379QSjBtAZ/uFedjUjA1ne8/cqLh2iOkHUSPfXa5RivbuhMQkvPsw=="},"tlogEntries":[{"logIndex":"3320115252","logId":{"keyId":"wNI9atQGlz+VWfO6LRygH4QUfY/8W4RFwiT5i5WRgB0="},"kindVersion":{"kind":"hashedrekord","version":"0.0.1"},"integratedTime":"1792407989","inclusionPromise":{"signedEntryTimestamp":"MEUCIHV0aomB+qSgkLEl1qv3V3NnY+wEtDqOULXzMZkE9z2eAiEAiKTqVQcXX/NBBwM/D7UiV3uguz/tzSk856zBzInuI/w="},"inclusionProof":{"logIndex":"3198210990","rootHash":"O9i2T6AdIEt5WNEoDVKQ9Z2z9k/n4AQrGf78b5vfIsc=","treeSize":"3198210991","hashes":["bN0raIkzB5a2YQJJLgitoVGApO/PVbzgyM9yE92z7sY=","JXq45nyUD+18gxWVR7NHrlGTKP5uLWCB2JwnQv5tTdM=","0+i3hnyBTMZTHNbL+ANxqHr7UMVgYYaJYkQPG0gmVTg=","l5VM+Pc0WSXhK75AwCixEtM03fGoIYvLxc4OSuNkKNc=","GuVvnGqaFV7gJ3r7URJzep/H3YozPXfaZGzcmRhfZ+8=","XeJRfO8GGqdVjjDSrcs8+Wc5QwvXThQ63MFVLW5wtfo=","s9iN9HHBoxC2mbJmeUlysJhmQiWhVMF8kCCF2P6eLgU=","PJRsVvScXNHmqQge+wrG01cIyckZNEkkYLfYRFm0H14=","f4MktXqhBPk7ruDBxwgqTvXa7eCNzak9cUObXS0eTxI=","OlLDeTiZ1vIMDel4vGDtbNVnrFnzDe1MFV5rBN5Ep4o=","uCZQe757l2sS1c05Y7TzOwEm+X8MeGLIUCkEOmFVOz4=","nyQV/+cWQUG5Hb2PKjQQNkQIJmz2qzAZKBQlkHGIknM=","G+nk7mgE5h6dUmv2UY7NDJrY3WvrZY31raaO1AETt+o=","qlTWNDzERnTBQVcHHXXVPjiUP0SsikGxfcxVlgqVFDo=","gg9GNApNke3+zNhl4tsWtmIycCFrOMCB3lys6XuSQNQ=","NlOclldmKPA1tMKIskqHAwuQDYHp31YwpK+OOMrMccc=","qxzHanAzz57SDdmJe0B7bJK72NTIBbwEMGBBKvDOROw=","xH/DCseLHr9eKoYT8qsORZK7zVdEGYWHuVtsVrD95wY="],"checkpoint":{"envelope":"rekor.sigstore.dev - 1193050959916656506\n3198210991\nO9i2T6AdIEt5WNEoDVKQ9Z2z9k/n4AQrGf78b5vfIsc=\n\n— rekor.sigstore.dev wNI9ajBEAiAuUQMhBOXj1mOFCkl6qSptka52CKJtd+dxFJoWbJar5wIgQmgbylIqnMhGbDabxw7sMhF+YPUc8WMEKVOg0zXDDt8=\n"}},"canonicalizedBody":"eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiaGFzaGVkcmVrb3JkIiwic3BlYyI6eyJkYXRhIjp7Imhhc2giOnsiYWxnb3JpdGhtIjoic2hhMjU2IiwidmFsdWUiOiJjMTBmYWM0MGI0NDllNzdmYTRjOTUzZmY1ZTY3NTE2NWRiNjkwNjc1MDA5MjM0ZTZmZTgzYzZmMDZkZGQ2OTYzIn19LCJzaWduYXR1cmUiOnsiY29udGVudCI6Ik1FVUNJR1Q3WDBiK3o1Snd1dzlDWk9lWFAzUDE0eW1CUG5sUGJEeElDZmZhWEZCNEFpRUFtYUFQdmxua2hpYW91NWwrUG1LSlB3MjBvbDc1V25BYmxzYmJrVU1uUDYwPSIsInB1YmxpY0tleSI6eyJjb250ZW50IjoiTFMwdExTMUNSVWRKVGlCRFJWSlVTVVpKUTBGVVJTMHRMUzB0Q2sxSlNVaE1SRU5EUW5KSFowRjNTVUpCWjBsVldrbFFVV3hqV0Uwd2R6RlVVa3R4WmxKQ1RuaDRaR3RJTjFaM2QwTm5XVWxMYjFwSmVtb3dSVUYzVFhjS1RucEZWazFDVFVkQk1WVkZRMmhOVFdNeWJHNWpNMUoyWTIxVmRWcEhWakpOVWpSM1NFRlpSRlpSVVVSRmVGWjZZVmRrZW1SSE9YbGFVekZ3WW01U2JBcGpiVEZzV2tkc2FHUkhWWGRJYUdOT1RXcFplRTFFUlRWTlZFVjNUbXBKTkZkb1kwNU5hbGw0VFVSRk5VMVVSWGhPYWtrMFYycEJRVTFHYTNkRmQxbElDa3R2V2tsNmFqQkRRVkZaU1V0dldrbDZhakJFUVZGalJGRm5RVVZ2UzFrMUswWjJjRk42TmpkQmFubFFWMDF2VFRCbk9FTmliSEZ5YnpkVmVraHVNRVFLZUN0UlpuWlZUWGQ0U0cxcFFtNWxPVkZyZG1oWlozbEhWalpyYUZwbFkxWXdURzFUTjI1bVRtMUVTelF4VDJkdFdXRlBRMEprUVhkbloxaE5UVUUwUndwQk1WVmtSSGRGUWk5M1VVVkJkMGxJWjBSQlZFSm5UbFpJVTFWRlJFUkJTMEpuWjNKQ1owVkdRbEZqUkVGNlFXWkNaMDVXU0ZOTlJVZEVRVmRuUWxSbUNqQXJibEJXYVZGU2JIWnRiekpQYTI5V1lVeEhUR2hvYTFCNlFuSkNaMDVXU0ZKRlFrRm1PRVZaVkVKbWFHd3hiMlJJVW5kamVtOTJUREprY0dSSGFERUtXV2sxYW1JeU1IWmhTRlp1V2pKc2RWb3lXbWhaTWxWMllUSldlV0p0Vm5OamVURnFZakl4ZEdSWE5YQmtTR3QyVEcxa2NHUkhhREZaYVRrellqTktjZ3BhYlhoMlpETk5kbGx1Vm5CaVIxRjFaVmRHZEdKRlFubGFWMXA2VERKb2JGbFhVbnBNTWpGb1lWYzBkMDlSV1V0TGQxbENRa0ZIUkhaNlFVSkJVVkZ5Q21GSVVqQmpTRTAyVEhrNU1HSXlkR3hpYVRWb1dUTlNjR0l5TlhwTWJXUndaRWRvTVZsdVZucGFXRXBxWWpJMU1GcFhOVEJNYlU1MllsUkJaa0puYjNJS1FtZEZSVUZaVHk5TlFVVkRRa0pHTTJJelNuSmFiWGgyWkRFNWEyRllUbmRaV0ZKcVlVUkJNa0puYjNKQ1owVkZRVmxQTDAxQlJVUkNRMmh0V2xSS2FRcFphbGt5V20xV2JFNXRUWGxaVkdNeldsZE9hbHBxUVRSWlZFRXhUVVJvYTFsNlZUTk9SRWswV2tSUk5FOUhWbXROUWsxSFEybHpSMEZSVVVKbk56aDNDa0ZSVVVWQ1ZVb3hZVmQ0YTAxRGMwZERhWE5IUVZGUlFtYzNPSGRCVVZWRlNGZG9NVm95WkhCaWJXUnRXVmRPYkV3eWRHeGpiVFZzWWtoTmRGa3lPWFFLWWxoV2RXRllValZOUWpCSFEybHpSMEZSVVVKbk56aDNRVkZaUlVRelNteGFiazEyWVVkV2FGcElUWFppVjBad1ltcEJOMEpuYjNKQ1owVkZRVmxQTHdwTlFVVkpRa013VFVzeWFEQmtTRUo2VDJrNGRtUkhPWEphVnpSMVdWZE9NR0ZYT1hWamVUVnVZVmhTYjJSWFNqRmpNbFo1V1RJNWRXUkhWblZrUXpWcUNtSXlNSGRpVVZsTFMzZFpRa0pCUjBSMmVrRkNRMUZTWmtSR01XOWtTRkozWTNwdmRrd3laSEJrUjJneFdXazFhbUl5TUhaaFNGWnVXakpzZFZveVdtZ0tXVEpWZG1FeVZubGliVlp6WTNreGFtSXlNWFJrVnpWd1pFaHJka3h0WkhCa1IyZ3hXV2s1TTJJelNuSmFiWGgyWkROTmRsbHVWbkJpUjFGMVpWZEdkQXBpUlVKNVdsZGFla3d5YUd4WlYxSjZUREl4YUdGWE5IZFBRVmxMUzNkWlFrSkJSMFIyZWtGQ1EyZFJjVVJEYUcxYVZFcHBXV3BaTWxwdFZteE9iVTE1Q2xsVVl6TmFWMDVxV21wQk5GbFVRVEZOUkdocldYcFZNMDVFU1RSYVJGRTBUMGRXYTAxQ2MwZERhWE5IUVZGUlFtYzNPSGRCVVhORlJGRjNUR015Vm5NS1dta3hiMkl6VGpCYVYxRjNVVUZaUzB0M1dVSkNRVWRFZG5wQlFrUkJVWGxFUkVKdlpFaFNkMk42YjNaTU1tUndaRWRvTVZscE5XcGlNakIyWVVoV2JncGFNbXgxV2pKYWFGa3lWWFpoTWxaNVltMVdjMk41TVdwaU1qRjBaRmMxY0dSSWEzZFBRVmxMUzNkWlFrSkJSMFIyZWtGQ1JGRlJjVVJEYUcxYVZFcHBDbGxxV1RKYWJWWnNUbTFOZVZsVVl6TmFWMDVxV21wQk5GbFVRVEZOUkdocldYcFZNMDVFU1RSYVJGRTBUMGRXYTAxQ09FZERhWE5IUVZGUlFtYzNPSGNLUVZFMFJVVlJkMUJqYlZadFkzazViMXBYUm10amVUbDBXVmRzZFUxQ2IwZERhWE5IUVZGUlFtYzNPSGRCVVRoRlJFRjNTMDFVUVROTlZGRXpUbFJWZVFwUFZFRjFRbWR2Y2tKblJVVkJXVTh2VFVGRlVVSkRRVTFJYldnd1pFaENlazlwT0haYU1td3dZVWhXYVV4dFRuWmlVemx2WkZka2JtRlhOVzVhYlVacUNscFVRVmxDWjI5eVFtZEZSVUZaVHk5TlFVVlNRa0Z2VFVORVNURk9la2wzVG5wUmVrMUhNRWREYVhOSFFWRlJRbWMzT0hkQlVrbEZXSGQ0WkdGSVVqQUtZMGhOTmt4NU9XNWhXRkp2WkZkSmRWa3lPWFJNTW1neFdqSmtjR0p0WkcxWlYwNXNUREowYkdOdE5XeGlTRTEwV1RJNWRHSllWblZoV0ZJMVRIazFiZ3BoV0ZKdlpGZEpkbVF5T1hsaE1scHpZak5rZWt3eVNqRmhWM2hyVEc1c2FHSlhlRUZqYlZadFkzazViMXBYUm10amVUbDBXVmRzZFUxRVowZERhWE5IQ2tGUlVVSm5OemgzUVZKTlJVdG5kMjlhYlZWNVdXMUpNazV0V214YVZGcHFUVzFGTTA0eVZtcFpNbGwzVDBkRmQwNVVRVFJhUjAweFRucFJlVTlIVVRBS1QwUm9iRnBFUVdoQ1oyOXlRbWRGUlVGWlR5OU5RVVZWUWtKTlRVVllaSFpqYlhSdFlrYzVNMWd5VW5Cak0wSm9aRWRPYjAxSFVVZERhWE5IUVZGUlFncG5OemgzUVZKVlJWWm5lRlZoU0ZJd1kwaE5Oa3g1T1c1aFdGSnZaRmRKZFZreU9YUk1NbWd4V2pKa2NHSnRaRzFaVjA1c1RESjBiR050Tld4aVNFMTBDbGt5T1hSaVdGWjFZVmhTTlV3eVJtcGtSMngyWW01TmRtTnVWblZqZVRoNlQxUkplazlVVlhwT2VtTXdUbWs1YUdSSVVteGlXRUl3WTNrNGVFMUNXVWNLUTJselIwRlJVVUpuTnpoM1FWSlpSVU5CZDBkalNGWnBZa2RzYWsxRldVZERhWE5IUVZGUlFtYzNPSGRCVW1kRlQwRjNNbU50Vm5kaWVuQnZaRmRrYmdwaFZ6VnVXbTFHYWxwVE9YSmFXRXAxV2xkNGVreFhUblppVnpFeFltMXNNR1ZVY0hsYVYxazJZMjFXYldONU9XOWFWMFpyWTNrNWRGbFhiSFZOU1VkS0NrSm5iM0pDWjBWRlFXUmFOVUZuVVVOQ1NITkZaVkZDTTBGSVZVRXpWREIzWVhOaVNFVlVTbXBIVWpSamJWZGpNMEZ4U2t0WWNtcGxVRXN6TDJnMGNIa0taME00Y0Rkdk5FRkJRVWRvVlRsa2NVbFJRVUZDUVUxQlVtcENSVUZwUW5Jd04zRkJkVFJtVlZBM2RtTmpURTFNVlVNeVIwNDBUa0ZuTm01aFMyVTNVQXBSWjJWS01XcFhkVmhSU1dkbFJWVmhOblZKUnpaMmRWZFZka2M1TTNwd05IQTNMMGszYlZkdGFXbGtlSGRKVDFSeFIzZG9iV2MwZDBObldVbExiMXBKQ25wcU1FVkJkMDFFWVZGQmQxcG5TWGhCVEVjemFscFZSMmxsTUd4WFMwaG5WVmROT1c1SFVIRTJLMGhEUlRGVGMxaElNRTlEY21aaVpFZ3JhVGQ0ZEdrS1R6Tm9UMGN5YUdSWU55OUVNVzlVUkVaQlNYaEJUazVxUXpCdFRHTnBOelpTTXpjNVVWTnFRblJCV2k5MVJtVmthbFZxUVRGdVpUZ3ZZM0ZNYURKcFR3cHJTRlZUVUdaWVlUVlNhWFppZFdoTlVXdDJVSE4zUFQwS0xTMHRMUzFGVGtRZ1EwVlNWRWxHU1VOQlZFVXRMUzB0TFFvPSJ9fX19"}],"timestampVerificationData":{"rfc3161Timestamps":[{"signedTimestamp":"MIICyTADAgEAMIICwAYJKoZIhvcNAQcCoIICsTCCAq0CAQMxDTALBglghkgBZQMEAgEwgbgGCyqGSIb3DQEJEAEEoIGoBIGlMIGiAgEBBgkrBgEEAYO/MAIwMTANBglghkgBZQMEAgEFAAQg8YyBX2pY+I4UPNmiDQKtIb8L9Q4ysuo/FKMJYCvexIUCFQCmZpsibap8FXOaZkoa4aO4kIy9AxgPMjAyNjEwMTkxMTA2MjhaMAMCAQGgMqQwMC4xFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEVMBMGA1UEAxMMc2lnc3RvcmUtdHNhoAAxggHaMIIB1gIBATBRMDkxFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEgMB4GA1UEAxMXc2lnc3RvcmUtdHNhLXNlbGZzaWduZWQCFDoTVC8MkGHuvMFDL8uKjosqI4sMMAsGCWCGSAFlAwQCAaCB/DAaBgkqhkiG9w0BCQMxDQYLKoZIhvcNAQkQAQQwHAYJKoZIhvcNAQkFMQ8XDTI2MTAxOTExMDYyOFowLwYJKoZIhvcNAQkEMSIEIKpGda3coHXUu8rLq2VjwmYZxjtTpU6gvqmFKZ/jKcT1MIGOBgsqhkiG9w0BCRACLzF/MH0wezB5BCCF+Se8B6tiysO0Q1bBDvyBssaIP9p6uebYcNnROs0FtzBVMD2kOzA5MRUwEwYDVQQKEwxzaWdzdG9yZS5kZXYxIDAeBgNVBAMTF3NpZ3N0b3JlLXRzYS1zZWxmc2lnbmVkAhQ6E1QvDJBh7rzBQy/Lio6LKiOLDDAKBggqhkjOPQQDAgRmMGQCMB/0XFKAtedcJGIftsDeIYM5qHaMZmxgBHJISyxC27lzTqfL4W50gR66M/0rOVIwgwIwac7s7ZwIcsrfSwhZpGoLcYANn1E/vpLWi/cwGdY3/Ux7muqboh+E4BjhHbSY7Ud1"}]}},"messageSignature":{"messageDigest":{"algorithm":"SHA2_256","digest":"wQ+sQLRJ53+kyVP/XmdRZdtpBnUAkjTm/oPG8G3daWM="},"signature":"MEUCIGT7X0b+z5Jwuw9CZOeXP3P14ymBPnlPbDxICffaXFB4AiEAmaAPvlnkhiaou5l+PmKJPw20ol75WnAblsbbkUMnP60="}}
|
build/torch211-cu130-aarch64-linux/symbols.json
ADDED
|
@@ -0,0 +1,138 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"schema_version": 1,
|
| 3 |
+
"module": "_deformable_detr_cuda_fe2bb66",
|
| 4 |
+
"functions": [
|
| 5 |
+
{
|
| 6 |
+
"name": "ms_deform_attn_forward",
|
| 7 |
+
"qualname": "ms_deform_attn_forward",
|
| 8 |
+
"module": "_deformable_detr_cuda_fe2bb66",
|
| 9 |
+
"kind": "function",
|
| 10 |
+
"doc": null,
|
| 11 |
+
"signature": {
|
| 12 |
+
"parameters": [
|
| 13 |
+
{
|
| 14 |
+
"name": "value",
|
| 15 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 16 |
+
"default": null,
|
| 17 |
+
"annotation": "torch.Tensor"
|
| 18 |
+
},
|
| 19 |
+
{
|
| 20 |
+
"name": "spatial_shapes",
|
| 21 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 22 |
+
"default": null,
|
| 23 |
+
"annotation": "torch.Tensor"
|
| 24 |
+
},
|
| 25 |
+
{
|
| 26 |
+
"name": "level_start_index",
|
| 27 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 28 |
+
"default": null,
|
| 29 |
+
"annotation": "torch.Tensor"
|
| 30 |
+
},
|
| 31 |
+
{
|
| 32 |
+
"name": "sampling_loc",
|
| 33 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 34 |
+
"default": null,
|
| 35 |
+
"annotation": "torch.Tensor"
|
| 36 |
+
},
|
| 37 |
+
{
|
| 38 |
+
"name": "attn_weight",
|
| 39 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 40 |
+
"default": null,
|
| 41 |
+
"annotation": "torch.Tensor"
|
| 42 |
+
},
|
| 43 |
+
{
|
| 44 |
+
"name": "im2col_step",
|
| 45 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 46 |
+
"default": null,
|
| 47 |
+
"annotation": "int"
|
| 48 |
+
}
|
| 49 |
+
],
|
| 50 |
+
"return_annotation": "torch.Tensor"
|
| 51 |
+
}
|
| 52 |
+
},
|
| 53 |
+
{
|
| 54 |
+
"name": "ms_deform_attn_backward",
|
| 55 |
+
"qualname": "ms_deform_attn_backward",
|
| 56 |
+
"module": "_deformable_detr_cuda_fe2bb66",
|
| 57 |
+
"kind": "function",
|
| 58 |
+
"doc": null,
|
| 59 |
+
"signature": {
|
| 60 |
+
"parameters": [
|
| 61 |
+
{
|
| 62 |
+
"name": "value",
|
| 63 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 64 |
+
"default": null,
|
| 65 |
+
"annotation": "torch.Tensor"
|
| 66 |
+
},
|
| 67 |
+
{
|
| 68 |
+
"name": "spatial_shapes",
|
| 69 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 70 |
+
"default": null,
|
| 71 |
+
"annotation": "torch.Tensor"
|
| 72 |
+
},
|
| 73 |
+
{
|
| 74 |
+
"name": "level_start_index",
|
| 75 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 76 |
+
"default": null,
|
| 77 |
+
"annotation": "torch.Tensor"
|
| 78 |
+
},
|
| 79 |
+
{
|
| 80 |
+
"name": "sampling_loc",
|
| 81 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 82 |
+
"default": null,
|
| 83 |
+
"annotation": "torch.Tensor"
|
| 84 |
+
},
|
| 85 |
+
{
|
| 86 |
+
"name": "attn_weight",
|
| 87 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 88 |
+
"default": null,
|
| 89 |
+
"annotation": "torch.Tensor"
|
| 90 |
+
},
|
| 91 |
+
{
|
| 92 |
+
"name": "grad_output",
|
| 93 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 94 |
+
"default": null,
|
| 95 |
+
"annotation": "torch.Tensor"
|
| 96 |
+
},
|
| 97 |
+
{
|
| 98 |
+
"name": "im2col_step",
|
| 99 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 100 |
+
"default": null,
|
| 101 |
+
"annotation": "int"
|
| 102 |
+
}
|
| 103 |
+
],
|
| 104 |
+
"return_annotation": "List[torch.Tensor]"
|
| 105 |
+
}
|
| 106 |
+
}
|
| 107 |
+
],
|
| 108 |
+
"layers": [
|
| 109 |
+
{
|
| 110 |
+
"name": "MultiScaleDeformableAttention",
|
| 111 |
+
"qualname": "MultiScaleDeformableAttention",
|
| 112 |
+
"module": "_deformable_detr_cuda_fe2bb66.layers",
|
| 113 |
+
"kind": "class",
|
| 114 |
+
"doc": "Base class for all neural network modules.\n\nYour models should also subclass this class.\n\nModules can also contain other Modules, allowing them to be nested in\na tree structure. You can assign the submodules as regular attributes::\n\n import torch.nn as nn\n import torch.nn.functional as F\n\n\n class Model(nn.Module):\n def __init__(self) -> None:\n super().__init__()\n self.conv1 = nn.Conv2d(1, 20, 5)\n self.conv2 = nn.Conv2d(20, 20, 5)\n\n def forward(self, x):\n x = F.relu(self.conv1(x))\n return F.relu(self.conv2(x))\n\nSubmodules assigned in this way will be registered, and will also have their\nparameters converted when you call :meth:`to`, etc.\n\n.. note::\n As per the example above, an ``__init__()`` call to the parent class\n must be made before assignment on the child.\n\n:ivar training: Boolean represents whether this module is in training or\n evaluation mode.\n:vartype training: bool",
|
| 115 |
+
"signature": {
|
| 116 |
+
"parameters": [
|
| 117 |
+
{
|
| 118 |
+
"name": "args",
|
| 119 |
+
"kind": "VAR_POSITIONAL",
|
| 120 |
+
"default": null,
|
| 121 |
+
"annotation": "Any"
|
| 122 |
+
},
|
| 123 |
+
{
|
| 124 |
+
"name": "kwargs",
|
| 125 |
+
"kind": "VAR_KEYWORD",
|
| 126 |
+
"default": null,
|
| 127 |
+
"annotation": "Any"
|
| 128 |
+
}
|
| 129 |
+
],
|
| 130 |
+
"return_annotation": "None"
|
| 131 |
+
},
|
| 132 |
+
"attributes": {
|
| 133 |
+
"has_backward": null,
|
| 134 |
+
"can_torch_compile": null
|
| 135 |
+
}
|
| 136 |
+
}
|
| 137 |
+
]
|
| 138 |
+
}
|
build/torch212-cu126-aarch64-linux/__init__.py
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
from typing import List
|
| 2 |
+
import torch
|
| 3 |
+
|
| 4 |
+
from ._ops import ops
|
| 5 |
+
from . import layers
|
| 6 |
+
|
| 7 |
+
|
| 8 |
+
def ms_deform_attn_backward(
|
| 9 |
+
value: torch.Tensor,
|
| 10 |
+
spatial_shapes: torch.Tensor,
|
| 11 |
+
level_start_index: torch.Tensor,
|
| 12 |
+
sampling_loc: torch.Tensor,
|
| 13 |
+
attn_weight: torch.Tensor,
|
| 14 |
+
grad_output: torch.Tensor,
|
| 15 |
+
im2col_step: int,
|
| 16 |
+
) -> List[torch.Tensor]:
|
| 17 |
+
return ops.ms_deform_attn_backward(
|
| 18 |
+
value,
|
| 19 |
+
spatial_shapes,
|
| 20 |
+
level_start_index,
|
| 21 |
+
sampling_loc,
|
| 22 |
+
attn_weight,
|
| 23 |
+
grad_output,
|
| 24 |
+
im2col_step,
|
| 25 |
+
)
|
| 26 |
+
|
| 27 |
+
|
| 28 |
+
def ms_deform_attn_forward(
|
| 29 |
+
value: torch.Tensor,
|
| 30 |
+
spatial_shapes: torch.Tensor,
|
| 31 |
+
level_start_index: torch.Tensor,
|
| 32 |
+
sampling_loc: torch.Tensor,
|
| 33 |
+
attn_weight: torch.Tensor,
|
| 34 |
+
im2col_step: int,
|
| 35 |
+
) -> torch.Tensor:
|
| 36 |
+
return ops.ms_deform_attn_forward(
|
| 37 |
+
value,
|
| 38 |
+
spatial_shapes,
|
| 39 |
+
level_start_index,
|
| 40 |
+
sampling_loc,
|
| 41 |
+
attn_weight,
|
| 42 |
+
im2col_step,
|
| 43 |
+
)
|
| 44 |
+
|
| 45 |
+
|
| 46 |
+
__all__ = ["layers", "ms_deform_attn_forward", "ms_deform_attn_backward"]
|
build/torch212-cu126-aarch64-linux/_deformable_detr_cuda_fe2bb66.abi3.so
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:b1c54e6542d1ce54d8c64138f8c42f261303bcc65fa7d6b0d1b114f9c6407905
|
| 3 |
+
size 6661240
|
build/torch212-cu126-aarch64-linux/_ops.py
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import torch
|
| 2 |
+
from . import _deformable_detr_cuda_fe2bb66
|
| 3 |
+
ops = torch.ops._deformable_detr_cuda_fe2bb66
|
| 4 |
+
|
| 5 |
+
def add_op_namespace_prefix(op_name: str):
|
| 6 |
+
"""
|
| 7 |
+
Prefix op by namespace.
|
| 8 |
+
"""
|
| 9 |
+
return f"_deformable_detr_cuda_fe2bb66::{op_name}"
|
build/torch212-cu126-aarch64-linux/layers.py
ADDED
|
@@ -0,0 +1,84 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
from typing import List, Union, Tuple
|
| 2 |
+
|
| 3 |
+
from torch import Tensor
|
| 4 |
+
from torch.autograd import Function
|
| 5 |
+
from torch.autograd.function import once_differentiable
|
| 6 |
+
import torch.nn as nn
|
| 7 |
+
|
| 8 |
+
from ._ops import ops
|
| 9 |
+
|
| 10 |
+
|
| 11 |
+
class MultiScaleDeformableAttentionFunction(Function):
|
| 12 |
+
@staticmethod
|
| 13 |
+
def forward(
|
| 14 |
+
context,
|
| 15 |
+
value: Tensor,
|
| 16 |
+
value_spatial_shapes: Tensor,
|
| 17 |
+
value_level_start_index: Tensor,
|
| 18 |
+
sampling_locations: Tensor,
|
| 19 |
+
attention_weights: Tensor,
|
| 20 |
+
im2col_step: int,
|
| 21 |
+
):
|
| 22 |
+
context.im2col_step = im2col_step
|
| 23 |
+
output = ops.ms_deform_attn_forward(
|
| 24 |
+
value,
|
| 25 |
+
value_spatial_shapes,
|
| 26 |
+
value_level_start_index,
|
| 27 |
+
sampling_locations,
|
| 28 |
+
attention_weights,
|
| 29 |
+
context.im2col_step,
|
| 30 |
+
)
|
| 31 |
+
context.save_for_backward(
|
| 32 |
+
value,
|
| 33 |
+
value_spatial_shapes,
|
| 34 |
+
value_level_start_index,
|
| 35 |
+
sampling_locations,
|
| 36 |
+
attention_weights,
|
| 37 |
+
)
|
| 38 |
+
return output
|
| 39 |
+
|
| 40 |
+
@staticmethod
|
| 41 |
+
@once_differentiable
|
| 42 |
+
def backward(context, grad_output):
|
| 43 |
+
(
|
| 44 |
+
value,
|
| 45 |
+
value_spatial_shapes,
|
| 46 |
+
value_level_start_index,
|
| 47 |
+
sampling_locations,
|
| 48 |
+
attention_weights,
|
| 49 |
+
) = context.saved_tensors
|
| 50 |
+
grad_value, grad_sampling_loc, grad_attn_weight = ops.ms_deform_attn_backward(
|
| 51 |
+
value,
|
| 52 |
+
value_spatial_shapes,
|
| 53 |
+
value_level_start_index,
|
| 54 |
+
sampling_locations,
|
| 55 |
+
attention_weights,
|
| 56 |
+
grad_output,
|
| 57 |
+
context.im2col_step,
|
| 58 |
+
)
|
| 59 |
+
|
| 60 |
+
return grad_value, None, None, grad_sampling_loc, grad_attn_weight, None
|
| 61 |
+
|
| 62 |
+
|
| 63 |
+
class MultiScaleDeformableAttention(nn.Module):
|
| 64 |
+
def forward(
|
| 65 |
+
self,
|
| 66 |
+
value: Tensor,
|
| 67 |
+
value_spatial_shapes: Tensor,
|
| 68 |
+
value_spatial_shapes_list: List[Tuple],
|
| 69 |
+
level_start_index: Tensor,
|
| 70 |
+
sampling_locations: Tensor,
|
| 71 |
+
attention_weights: Tensor,
|
| 72 |
+
im2col_step: int,
|
| 73 |
+
):
|
| 74 |
+
return MultiScaleDeformableAttentionFunction.apply(
|
| 75 |
+
value,
|
| 76 |
+
value_spatial_shapes,
|
| 77 |
+
level_start_index,
|
| 78 |
+
sampling_locations,
|
| 79 |
+
attention_weights,
|
| 80 |
+
im2col_step,
|
| 81 |
+
)
|
| 82 |
+
|
| 83 |
+
|
| 84 |
+
__all__ = ["MultiScaleDeformableAttention"]
|
build/torch212-cu126-aarch64-linux/metadata.json
ADDED
|
@@ -0,0 +1,43 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"name": "deformable-detr",
|
| 3 |
+
"id": "_deformable_detr_cuda_fe2bb66",
|
| 4 |
+
"version": 1,
|
| 5 |
+
"kernels-minver": "0.14.0",
|
| 6 |
+
"license": "Apache-2.0",
|
| 7 |
+
"python-depends": [],
|
| 8 |
+
"kernel-depends": [],
|
| 9 |
+
"backend": {
|
| 10 |
+
"type": "cuda",
|
| 11 |
+
"archs": [
|
| 12 |
+
"7.0",
|
| 13 |
+
"7.2",
|
| 14 |
+
"7.5",
|
| 15 |
+
"8.0",
|
| 16 |
+
"8.6",
|
| 17 |
+
"8.7",
|
| 18 |
+
"8.9",
|
| 19 |
+
"9.0+PTX"
|
| 20 |
+
]
|
| 21 |
+
},
|
| 22 |
+
"digest": {
|
| 23 |
+
"algorithm": "sha256",
|
| 24 |
+
"files": {
|
| 25 |
+
"__init__.py": "/P9rmKjjgzhOqU3peSjUIi0u9GaxAmMEcaQb5kNGG90=",
|
| 26 |
+
"_deformable_detr_cuda_fe2bb66.abi3.so": "scVOZULRzlTYxkE4+MQvJhMDvMZfp9aw0bEU+cZAeQU=",
|
| 27 |
+
"_ops.py": "i9uA2K4/sWeUF4FAwHQJ80J8tvwwaf5I4n6oN+q9VR4=",
|
| 28 |
+
"layers.py": "H3mypbDteagvzG5WTscmD05BfJhNbylbPJr0zb3k82A=",
|
| 29 |
+
"symbols.json": "SE1abIt8U28b3HcQzThCV+v19Ww2kNiQdWEjoQzsUpw="
|
| 30 |
+
}
|
| 31 |
+
},
|
| 32 |
+
"provenance": {
|
| 33 |
+
"kernel-builder": {
|
| 34 |
+
"version": "0.18.0-dev0",
|
| 35 |
+
"commit": "d054906a13710b811b96697b4635f03020842733",
|
| 36 |
+
"dirty": false
|
| 37 |
+
},
|
| 38 |
+
"kernel": {
|
| 39 |
+
"commit": "fe2bb66fee6c2a77eccf08a0508dc57428d488ed",
|
| 40 |
+
"dirty": false
|
| 41 |
+
}
|
| 42 |
+
}
|
| 43 |
+
}
|
build/torch212-cu126-aarch64-linux/metadata.json.sigstore
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
{"mediaType":"application/vnd.dev.sigstore.bundle.v0.3+json","verificationMaterial":{"certificate":{"rawBytes":"MIIHKzCCBrKgAwIBAgIUBAkY/3Na9ChGbPlisHQJHKEcpAIwCgYIKoZIzj0EAwMwNzEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MR4wHAYDVQQDExVzaWdzdG9yZS1pbnRlcm1lZGlhdGUwHhcNMjYxMDE5MTEwNjI5WhcNMjYxMDE5MTExNjI5WjAAMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEYo7aneusgt/2w7sYhzGorCQBo4y2Y2cSBlU+6mOOxI5AV1uNYDkTWRZk3xuUCIsS1d921FjU04c7gQgZ9t06r6OCBdEwggXNMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAfBgNVHSMEGDAWgBTf0+nPViQRlvmo2OkoVaLGLhhkPzBrBgNVHREBAf8EYTBfhl1odHRwczovL2dpdGh1Yi5jb20vaHVnZ2luZ2ZhY2Uva2VybmVscy1jb21tdW5pdHkvLmdpdGh1Yi93b3JrZmxvd3MvYnVpbGQueWFtbEByZWZzL2hlYWRzL21haW4wOQYKKwYBBAGDvzABAQQraHR0cHM6Ly90b2tlbi5hY3Rpb25zLmdpdGh1YnVzZXJjb250ZW50LmNvbTAfBgorBgEEAYO/MAECBBF3b3JrZmxvd19kaXNwYXRjaDA2BgorBgEEAYO/MAEDBChmZTJiYjY2ZmVlNmMyYTc3ZWNjZjA4YTA1MDhkYzU3NDI4ZDQ4OGVkMBMGCisGAQQBg78wAQQEBUJ1aWxkMCsGCisGAQQBg78wAQUEHWh1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5MB0GCisGAQQBg78wAQYED3JlZnMvaGVhZHMvbWFpbjA7BgorBgEEAYO/MAEIBC0MK2h0dHBzOi8vdG9rZW4uYWN0aW9ucy5naXRodWJ1c2VyY29udGVudC5jb20wbQYKKwYBBAGDvzABCQRfDF1odHRwczovL2dpdGh1Yi5jb20vaHVnZ2luZ2ZhY2Uva2VybmVscy1jb21tdW5pdHkvLmdpdGh1Yi93b3JrZmxvd3MvYnVpbGQueWFtbEByZWZzL2hlYWRzL21haW4wOAYKKwYBBAGDvzABCgQqDChmZTJiYjY2ZmVlNmMyYTc3ZWNjZjA4YTA1MDhkYzU3NDI4ZDQ4OGVkMBsGCisGAQQBg78wAQsEDQwLc2VsZi1ob3N0ZWQwQAYKKwYBBAGDvzABDAQyDDBodHRwczovL2dpdGh1Yi5jb20vaHVnZ2luZ2ZhY2Uva2VybmVscy1jb21tdW5pdHkwOAYKKwYBBAGDvzABDQQqDChmZTJiYjY2ZmVlNmMyYTc3ZWNjZjA4YTA1MDhkYzU3NDI4ZDQ4OGVkMB8GCisGAQQBg78wAQ4EEQwPcmVmcy9oZWFkcy9tYWluMBoGCisGAQQBg78wAQ8EDAwKMTA3MTQ3NTUyOTAuBgorBgEEAYO/MAEQBCAMHmh0dHBzOi8vZ2l0aHViLmNvbS9odWdnaW5nZmFjZTAYBgorBgEEAYO/MAERBAoMCDI1NzIwNzQzMG0GCisGAQQBg78wARIEXwxdaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5Ly5naXRodWIvd29ya2Zsb3dzL2J1aWxkLnlhbWxAcmVmcy9oZWFkcy9tYWluMDgGCisGAQQBg78wARMEKgwoZmUyYmI2NmZlZTZjMmE3N2VjY2YwOGEwNTA4ZGM1NzQyOGQ0ODhlZDAhBgorBgEEAYO/MAEUBBMMEXdvcmtmbG93X2Rpc3BhdGNoMGQGCisGAQQBg78wARUEVgxUaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5L2FjdGlvbnMvcnVucy8zOTIzOTUzNzc0Ni9hdHRlbXB0cy8xMBYGCisGAQQBg78wARYECAwGcHVibGljMEYGCisGAQQBg78wARgEOAw2cmVwbzpodWdnaW5nZmFjZS9rZXJuZWxzLWNvbW11bml0eTpyZWY6cmVmcy9oZWFkcy9tYWluMIGKBgorBgEEAdZ5AgQCBHwEegB4AHYA3T0wasbHETJjGR4cmWc3AqJKXrjePK3/h4pygC8p7o4AAAGhU9dtEgAABAMARzBFAiEAuNZbVz6dcBheA7RUGJAuBe/LTpxuOQ0AkE9jkdqEzkICIGAGB63t6kC6a+NCH1+emYRUZBs044Vja8Fep95E4LLEMAoGCCqGSM49BAMDA2cAMGQCMA9faF7NNiJ5NyH8GJ3EwLn1+uPIWpeG+05ovjfqx8ewBC04R6eXLqEjgR24gk6a3wIwCLs6d3mGcP5q2ofldsNvHdILs84469JtoZ9Zmux0+hgyoFiSThQe9qdXge6aBEz1"},"tlogEntries":[{"logIndex":"3320115263","logId":{"keyId":"wNI9atQGlz+VWfO6LRygH4QUfY/8W4RFwiT5i5WRgB0="},"kindVersion":{"kind":"hashedrekord","version":"0.0.1"},"integratedTime":"1792407989","inclusionPromise":{"signedEntryTimestamp":"MEQCIFheP0ma30IhPHZ5M+WDheMhOv90h+64c3gnM03AZ1BAAiAwxLGvR/+3LNMus9TqXZTvEjBphaqW4GxwWF2cK31o+Q=="},"inclusionProof":{"logIndex":"3198211001","rootHash":"KAFx9BgbKHzmHFvQa53QiQ+/RPx1W9BDKxv0XWi+feE=","treeSize":"3198211002","hashes":["/8MRMASy24RWPD3A4GY27Gs02qDjPHeG0/TtPk1yS6I=","7sG3BqDvkXQIuD+uxBgg8l4qDs/QpfnNPJRS8WDVRJs=","zp3IC5Hkuc5vTMBJTH0zjSALyIz67+m17XfBD9IjLGI=","l5VM+Pc0WSXhK75AwCixEtM03fGoIYvLxc4OSuNkKNc=","GuVvnGqaFV7gJ3r7URJzep/H3YozPXfaZGzcmRhfZ+8=","XeJRfO8GGqdVjjDSrcs8+Wc5QwvXThQ63MFVLW5wtfo=","s9iN9HHBoxC2mbJmeUlysJhmQiWhVMF8kCCF2P6eLgU=","PJRsVvScXNHmqQge+wrG01cIyckZNEkkYLfYRFm0H14=","f4MktXqhBPk7ruDBxwgqTvXa7eCNzak9cUObXS0eTxI=","OlLDeTiZ1vIMDel4vGDtbNVnrFnzDe1MFV5rBN5Ep4o=","uCZQe757l2sS1c05Y7TzOwEm+X8MeGLIUCkEOmFVOz4=","nyQV/+cWQUG5Hb2PKjQQNkQIJmz2qzAZKBQlkHGIknM=","G+nk7mgE5h6dUmv2UY7NDJrY3WvrZY31raaO1AETt+o=","qlTWNDzERnTBQVcHHXXVPjiUP0SsikGxfcxVlgqVFDo=","gg9GNApNke3+zNhl4tsWtmIycCFrOMCB3lys6XuSQNQ=","NlOclldmKPA1tMKIskqHAwuQDYHp31YwpK+OOMrMccc=","qxzHanAzz57SDdmJe0B7bJK72NTIBbwEMGBBKvDOROw=","xH/DCseLHr9eKoYT8qsORZK7zVdEGYWHuVtsVrD95wY="],"checkpoint":{"envelope":"rekor.sigstore.dev - 1193050959916656506\n3198211002\nKAFx9BgbKHzmHFvQa53QiQ+/RPx1W9BDKxv0XWi+feE=\n\n— rekor.sigstore.dev wNI9ajBEAiAfzojmfe52joPP+eH2mpmvAS9ucZdouh7+DYNdfXjujwIgZSL+UU5N+gTOSkCDVlcz1k0QbAWjazw0kD1qW1G+tW8=\n"}},"canonicalizedBody":"eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiaGFzaGVkcmVrb3JkIiwic3BlYyI6eyJkYXRhIjp7Imhhc2giOnsiYWxnb3JpdGhtIjoic2hhMjU2IiwidmFsdWUiOiJkZTRlYWE0Y2ZiYzljZWVjODk1YTgyYzE3MDRlMGU2M2Y1ZGFlYWY5MWFlYTYyOWY3YjgyNGViNjllNTRhMjFiIn19LCJzaWduYXR1cmUiOnsiY29udGVudCI6Ik1FWUNJUUNLd3N4WVp0RzBMbG1vRUI2eitReDVpR3JwUExsdklzMFU5L0hRc1BzWDBnSWhBTFVDKy9oR0ptQWRLdUNiYkFISXJXSUg5K0s5QjRTVytBbmYvUDZOb0l1byIsInB1YmxpY0tleSI6eyJjb250ZW50IjoiTFMwdExTMUNSVWRKVGlCRFJWSlVTVVpKUTBGVVJTMHRMUzB0Q2sxSlNVaExla05EUW5KTFowRjNTVUpCWjBsVlFrRnJXUzh6VG1FNVEyaEhZbEJzYVhOSVVVcElTMFZqY0VGSmQwTm5XVWxMYjFwSmVtb3dSVUYzVFhjS1RucEZWazFDVFVkQk1WVkZRMmhOVFdNeWJHNWpNMUoyWTIxVmRWcEhWakpOVWpSM1NFRlpSRlpSVVVSRmVGWjZZVmRrZW1SSE9YbGFVekZ3WW01U2JBcGpiVEZzV2tkc2FHUkhWWGRJYUdOT1RXcFplRTFFUlRWTlZFVjNUbXBKTlZkb1kwNU5hbGw0VFVSRk5VMVVSWGhPYWtrMVYycEJRVTFHYTNkRmQxbElDa3R2V2tsNmFqQkRRVkZaU1V0dldrbDZhakJFUVZGalJGRm5RVVZaYnpkaGJtVjFjMmQwTHpKM04zTlphSHBIYjNKRFVVSnZOSGt5V1RKalUwSnNWU3NLTm0xUFQzaEpOVUZXTVhWT1dVUnJWRmRTV21zemVIVlZRMGx6VXpGa09USXhSbXBWTURSak4yZFJaMW81ZERBMmNqWlBRMEprUlhkbloxaE9UVUUwUndwQk1WVmtSSGRGUWk5M1VVVkJkMGxJWjBSQlZFSm5UbFpJVTFWRlJFUkJTMEpuWjNKQ1owVkdRbEZqUkVGNlFXWkNaMDVXU0ZOTlJVZEVRVmRuUWxSbUNqQXJibEJXYVZGU2JIWnRiekpQYTI5V1lVeEhUR2hvYTFCNlFuSkNaMDVXU0ZKRlFrRm1PRVZaVkVKbWFHd3hiMlJJVW5kamVtOTJUREprY0dSSGFERUtXV2sxYW1JeU1IWmhTRlp1V2pKc2RWb3lXbWhaTWxWMllUSldlV0p0Vm5OamVURnFZakl4ZEdSWE5YQmtTR3QyVEcxa2NHUkhhREZaYVRrellqTktjZ3BhYlhoMlpETk5kbGx1Vm5CaVIxRjFaVmRHZEdKRlFubGFWMXA2VERKb2JGbFhVbnBNTWpGb1lWYzBkMDlSV1V0TGQxbENRa0ZIUkhaNlFVSkJVVkZ5Q21GSVVqQmpTRTAyVEhrNU1HSXlkR3hpYVRWb1dUTlNjR0l5TlhwTWJXUndaRWRvTVZsdVZucGFXRXBxWWpJMU1GcFhOVEJNYlU1MllsUkJaa0puYjNJS1FtZEZSVUZaVHk5TlFVVkRRa0pHTTJJelNuSmFiWGgyWkRFNWEyRllUbmRaV0ZKcVlVUkJNa0puYjNKQ1owVkZRVmxQTDAxQlJVUkNRMmh0V2xSS2FRcFphbGt5V20xV2JFNXRUWGxaVkdNeldsZE9hbHBxUVRSWlZFRXhUVVJvYTFsNlZUTk9SRWswV2tSUk5FOUhWbXROUWsxSFEybHpSMEZSVVVKbk56aDNDa0ZSVVVWQ1ZVb3hZVmQ0YTAxRGMwZERhWE5IUVZGUlFtYzNPSGRCVVZWRlNGZG9NVm95WkhCaWJXUnRXVmRPYkV3eWRHeGpiVFZzWWtoTmRGa3lPWFFLWWxoV2RXRllValZOUWpCSFEybHpSMEZSVVVKbk56aDNRVkZaUlVRelNteGFiazEyWVVkV2FGcElUWFppVjBad1ltcEJOMEpuYjNKQ1owVkZRVmxQTHdwTlFVVkpRa013VFVzeWFEQmtTRUo2VDJrNGRtUkhPWEphVnpSMVdWZE9NR0ZYT1hWamVUVnVZVmhTYjJSWFNqRmpNbFo1V1RJNWRXUkhWblZrUXpWcUNtSXlNSGRpVVZsTFMzZFpRa0pCUjBSMmVrRkNRMUZTWmtSR01XOWtTRkozWTNwdmRrd3laSEJrUjJneFdXazFhbUl5TUhaaFNGWnVXakpzZFZveVdtZ0tXVEpWZG1FeVZubGliVlp6WTNreGFtSXlNWFJrVnpWd1pFaHJka3h0WkhCa1IyZ3hXV2s1TTJJelNuSmFiWGgyWkROTmRsbHVWbkJpUjFGMVpWZEdkQXBpUlVKNVdsZGFla3d5YUd4WlYxSjZUREl4YUdGWE5IZFBRVmxMUzNkWlFrSkJSMFIyZWtGQ1EyZFJjVVJEYUcxYVZFcHBXV3BaTWxwdFZteE9iVTE1Q2xsVVl6TmFWMDVxV21wQk5GbFVRVEZOUkdocldYcFZNMDVFU1RSYVJGRTBUMGRXYTAxQ2MwZERhWE5IUVZGUlFtYzNPSGRCVVhORlJGRjNUR015Vm5NS1dta3hiMkl6VGpCYVYxRjNVVUZaUzB0M1dVSkNRVWRFZG5wQlFrUkJVWGxFUkVKdlpFaFNkMk42YjNaTU1tUndaRWRvTVZscE5XcGlNakIyWVVoV2JncGFNbXgxV2pKYWFGa3lWWFpoTWxaNVltMVdjMk41TVdwaU1qRjBaRmMxY0dSSWEzZFBRVmxMUzNkWlFrSkJSMFIyZWtGQ1JGRlJjVVJEYUcxYVZFcHBDbGxxV1RKYWJWWnNUbTFOZVZsVVl6TmFWMDVxV21wQk5GbFVRVEZOUkdocldYcFZNMDVFU1RSYVJGRTBUMGRXYTAxQ09FZERhWE5IUVZGUlFtYzNPSGNLUVZFMFJVVlJkMUJqYlZadFkzazViMXBYUm10amVUbDBXVmRzZFUxQ2IwZERhWE5IUVZGUlFtYzNPSGRCVVRoRlJFRjNTMDFVUVROTlZGRXpUbFJWZVFwUFZFRjFRbWR2Y2tKblJVVkJXVTh2VFVGRlVVSkRRVTFJYldnd1pFaENlazlwT0haYU1td3dZVWhXYVV4dFRuWmlVemx2WkZka2JtRlhOVzVhYlVacUNscFVRVmxDWjI5eVFtZEZSVUZaVHk5TlFVVlNRa0Z2VFVORVNURk9la2wzVG5wUmVrMUhNRWREYVhOSFFWRlJRbWMzT0hkQlVrbEZXSGQ0WkdGSVVqQUtZMGhOTmt4NU9XNWhXRkp2WkZkSmRWa3lPWFJNTW1neFdqSmtjR0p0WkcxWlYwNXNUREowYkdOdE5XeGlTRTEwV1RJNWRHSllWblZoV0ZJMVRIazFiZ3BoV0ZKdlpGZEpkbVF5T1hsaE1scHpZak5rZWt3eVNqRmhWM2hyVEc1c2FHSlhlRUZqYlZadFkzazViMXBYUm10amVUbDBXVmRzZFUxRVowZERhWE5IQ2tGUlVVSm5OemgzUVZKTlJVdG5kMjlhYlZWNVdXMUpNazV0V214YVZGcHFUVzFGTTA0eVZtcFpNbGwzVDBkRmQwNVVRVFJhUjAweFRucFJlVTlIVVRBS1QwUm9iRnBFUVdoQ1oyOXlRbWRGUlVGWlR5OU5RVVZWUWtKTlRVVllaSFpqYlhSdFlrYzVNMWd5VW5Cak0wSm9aRWRPYjAxSFVVZERhWE5IUVZGUlFncG5OemgzUVZKVlJWWm5lRlZoU0ZJd1kwaE5Oa3g1T1c1aFdGSnZaRmRKZFZreU9YUk1NbWd4V2pKa2NHSnRaRzFaVjA1c1RESjBiR050Tld4aVNFMTBDbGt5T1hSaVdGWjFZVmhTTlV3eVJtcGtSMngyWW01TmRtTnVWblZqZVRoNlQxUkplazlVVlhwT2VtTXdUbWs1YUdSSVVteGlXRUl3WTNrNGVFMUNXVWNLUTJselIwRlJVVUpuTnpoM1FWSlpSVU5CZDBkalNGWnBZa2RzYWsxRldVZERhWE5IUVZGUlFtYzNPSGRCVW1kRlQwRjNNbU50Vm5kaWVuQnZaRmRrYmdwaFZ6VnVXbTFHYWxwVE9YSmFXRXAxV2xkNGVreFhUblppVnpFeFltMXNNR1ZVY0hsYVYxazJZMjFXYldONU9XOWFWMFpyWTNrNWRGbFhiSFZOU1VkTENrSm5iM0pDWjBWRlFXUmFOVUZuVVVOQ1NIZEZaV2RDTkVGSVdVRXpWREIzWVhOaVNFVlVTbXBIVWpSamJWZGpNMEZ4U2t0WWNtcGxVRXN6TDJnMGNIa0taME00Y0Rkdk5FRkJRVWRvVlRsa2RFVm5RVUZDUVUxQlVucENSa0ZwUlVGMVRscGlWbm8yWkdOQ2FHVkJOMUpWUjBwQmRVSmxMMHhVY0hoMVQxRXdRUXByUlRscWEyUnhSWHByU1VOSlIwRkhRall6ZERaclF6WmhLMDVEU0RFclpXMVpVbFZhUW5Nd05EUldhbUU0Um1Wd09UVkZORXhNUlUxQmIwZERRM0ZIQ2xOTk5EbENRVTFFUVRKalFVMUhVVU5OUVRsbVlVWTNUazVwU2pWT2VVZzRSMG96UlhkTWJqRXJkVkJKVjNCbFJ5c3dOVzkyYW1aeGVEaGxkMEpETURRS1VqWmxXRXh4UldwblVqSTBaMnMyWVROM1NYZERUSE0yWkROdFIyTlFOWEV5YjJac1pITk9ka2hrU1V4ek9EUTBOamxLZEc5YU9WcHRkWGd3SzJobmVRcHZSbWxUVkdoUlpUbHhaRmhuWlRaaFFrVjZNUW90TFMwdExVVk9SQ0JEUlZKVVNVWkpRMEZVUlMwdExTMHRDZz09In19fX0="}],"timestampVerificationData":{"rfc3161Timestamps":[{"signedTimestamp":"MIICyjADAgEAMIICwQYJKoZIhvcNAQcCoIICsjCCAq4CAQMxDTALBglghkgBZQMEAgEwgbcGCyqGSIb3DQEJEAEEoIGnBIGkMIGhAgEBBgkrBgEEAYO/MAIwMTANBglghkgBZQMEAgEFAAQgUZBHaPvkgcI/uxprQHFOfRW1eZofREiuxqTLkVzbp08CFDIY7XpnYcg+C+asCu1o98y5jbF3GA8yMDI2MTAxOTExMDYyOVowAwIBAaAypDAwLjEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MRUwEwYDVQQDEwxzaWdzdG9yZS10c2GgADGCAdwwggHYAgEBMFEwOTEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MSAwHgYDVQQDExdzaWdzdG9yZS10c2Etc2VsZnNpZ25lZAIUOhNULwyQYe68wUMvy4qOiyojiwwwCwYJYIZIAWUDBAIBoIH8MBoGCSqGSIb3DQEJAzENBgsqhkiG9w0BCRABBDAcBgkqhkiG9w0BCQUxDxcNMjYxMDE5MTEwNjI5WjAvBgkqhkiG9w0BCQQxIgQgPh1BeP4XgNtWXjp7RH0S8UIeBY+r2e+WbxIrzzPxemowgY4GCyqGSIb3DQEJEAIvMX8wfTB7MHkEIIX5J7wHq2LKw7RDVsEO/IGyxog/2nq55thw2dE6zQW3MFUwPaQ7MDkxFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEgMB4GA1UEAxMXc2lnc3RvcmUtdHNhLXNlbGZzaWduZWQCFDoTVC8MkGHuvMFDL8uKjosqI4sMMAoGCCqGSM49BAMCBGgwZgIxAMSwokdMxTVBPaNOvqOycNSgrOWhFEdScxQ7lANw/IIcL4SveU13CiB7zf0EWhBDqQIxAIcLY0WDsv8RVOjyZnYhQb8SwIXfVPtlHVQ89Z+SkWyxcz5es8yQlhvJr0Szm6oeIQ=="}]}},"messageSignature":{"messageDigest":{"algorithm":"SHA2_256","digest":"3k6qTPvJzuyJWoLBcE4OY/Xa6vka6mKfe4JOtp5Uohs="},"signature":"MEYCIQCKwsxYZtG0LlmoEB6z+Qx5iGrpPLlvIs0U9/HQsPsX0gIhALUC+/hGJmAdKuCbbAHIrWIH9+K9B4SW+Anf/P6NoIuo"}}
|
build/torch212-cu126-aarch64-linux/symbols.json
ADDED
|
@@ -0,0 +1,138 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"schema_version": 1,
|
| 3 |
+
"module": "_deformable_detr_cuda_fe2bb66",
|
| 4 |
+
"functions": [
|
| 5 |
+
{
|
| 6 |
+
"name": "ms_deform_attn_forward",
|
| 7 |
+
"qualname": "ms_deform_attn_forward",
|
| 8 |
+
"module": "_deformable_detr_cuda_fe2bb66",
|
| 9 |
+
"kind": "function",
|
| 10 |
+
"doc": null,
|
| 11 |
+
"signature": {
|
| 12 |
+
"parameters": [
|
| 13 |
+
{
|
| 14 |
+
"name": "value",
|
| 15 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 16 |
+
"default": null,
|
| 17 |
+
"annotation": "torch.Tensor"
|
| 18 |
+
},
|
| 19 |
+
{
|
| 20 |
+
"name": "spatial_shapes",
|
| 21 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 22 |
+
"default": null,
|
| 23 |
+
"annotation": "torch.Tensor"
|
| 24 |
+
},
|
| 25 |
+
{
|
| 26 |
+
"name": "level_start_index",
|
| 27 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 28 |
+
"default": null,
|
| 29 |
+
"annotation": "torch.Tensor"
|
| 30 |
+
},
|
| 31 |
+
{
|
| 32 |
+
"name": "sampling_loc",
|
| 33 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 34 |
+
"default": null,
|
| 35 |
+
"annotation": "torch.Tensor"
|
| 36 |
+
},
|
| 37 |
+
{
|
| 38 |
+
"name": "attn_weight",
|
| 39 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 40 |
+
"default": null,
|
| 41 |
+
"annotation": "torch.Tensor"
|
| 42 |
+
},
|
| 43 |
+
{
|
| 44 |
+
"name": "im2col_step",
|
| 45 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 46 |
+
"default": null,
|
| 47 |
+
"annotation": "int"
|
| 48 |
+
}
|
| 49 |
+
],
|
| 50 |
+
"return_annotation": "torch.Tensor"
|
| 51 |
+
}
|
| 52 |
+
},
|
| 53 |
+
{
|
| 54 |
+
"name": "ms_deform_attn_backward",
|
| 55 |
+
"qualname": "ms_deform_attn_backward",
|
| 56 |
+
"module": "_deformable_detr_cuda_fe2bb66",
|
| 57 |
+
"kind": "function",
|
| 58 |
+
"doc": null,
|
| 59 |
+
"signature": {
|
| 60 |
+
"parameters": [
|
| 61 |
+
{
|
| 62 |
+
"name": "value",
|
| 63 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 64 |
+
"default": null,
|
| 65 |
+
"annotation": "torch.Tensor"
|
| 66 |
+
},
|
| 67 |
+
{
|
| 68 |
+
"name": "spatial_shapes",
|
| 69 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 70 |
+
"default": null,
|
| 71 |
+
"annotation": "torch.Tensor"
|
| 72 |
+
},
|
| 73 |
+
{
|
| 74 |
+
"name": "level_start_index",
|
| 75 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 76 |
+
"default": null,
|
| 77 |
+
"annotation": "torch.Tensor"
|
| 78 |
+
},
|
| 79 |
+
{
|
| 80 |
+
"name": "sampling_loc",
|
| 81 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 82 |
+
"default": null,
|
| 83 |
+
"annotation": "torch.Tensor"
|
| 84 |
+
},
|
| 85 |
+
{
|
| 86 |
+
"name": "attn_weight",
|
| 87 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 88 |
+
"default": null,
|
| 89 |
+
"annotation": "torch.Tensor"
|
| 90 |
+
},
|
| 91 |
+
{
|
| 92 |
+
"name": "grad_output",
|
| 93 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 94 |
+
"default": null,
|
| 95 |
+
"annotation": "torch.Tensor"
|
| 96 |
+
},
|
| 97 |
+
{
|
| 98 |
+
"name": "im2col_step",
|
| 99 |
+
"kind": "POSITIONAL_OR_KEYWORD",
|
| 100 |
+
"default": null,
|
| 101 |
+
"annotation": "int"
|
| 102 |
+
}
|
| 103 |
+
],
|
| 104 |
+
"return_annotation": "List[torch.Tensor]"
|
| 105 |
+
}
|
| 106 |
+
}
|
| 107 |
+
],
|
| 108 |
+
"layers": [
|
| 109 |
+
{
|
| 110 |
+
"name": "MultiScaleDeformableAttention",
|
| 111 |
+
"qualname": "MultiScaleDeformableAttention",
|
| 112 |
+
"module": "_deformable_detr_cuda_fe2bb66.layers",
|
| 113 |
+
"kind": "class",
|
| 114 |
+
"doc": "Base class for all neural network modules.\n\nYour models should also subclass this class.\n\nModules can also contain other Modules, allowing them to be nested in\na tree structure. You can assign the submodules as regular attributes::\n\n import torch.nn as nn\n import torch.nn.functional as F\n\n\n class Model(nn.Module):\n def __init__(self) -> None:\n super().__init__()\n self.conv1 = nn.Conv2d(1, 20, 5)\n self.conv2 = nn.Conv2d(20, 20, 5)\n\n def forward(self, x):\n x = F.relu(self.conv1(x))\n return F.relu(self.conv2(x))\n\nSubmodules assigned in this way will be registered, and will also have their\nparameters converted when you call :meth:`to`, etc.\n\n.. note::\n As per the example above, an ``__init__()`` call to the parent class\n must be made before assignment on the child.\n\n:ivar training: Boolean represents whether this module is in training or\n evaluation mode.\n:vartype training: bool",
|
| 115 |
+
"signature": {
|
| 116 |
+
"parameters": [
|
| 117 |
+
{
|
| 118 |
+
"name": "args",
|
| 119 |
+
"kind": "VAR_POSITIONAL",
|
| 120 |
+
"default": null,
|
| 121 |
+
"annotation": "Any"
|
| 122 |
+
},
|
| 123 |
+
{
|
| 124 |
+
"name": "kwargs",
|
| 125 |
+
"kind": "VAR_KEYWORD",
|
| 126 |
+
"default": null,
|
| 127 |
+
"annotation": "Any"
|
| 128 |
+
}
|
| 129 |
+
],
|
| 130 |
+
"return_annotation": "None"
|
| 131 |
+
},
|
| 132 |
+
"attributes": {
|
| 133 |
+
"has_backward": null,
|
| 134 |
+
"can_torch_compile": null
|
| 135 |
+
}
|
| 136 |
+
}
|
| 137 |
+
]
|
| 138 |
+
}
|
build/torch212-cu130-aarch64-linux/__init__.py
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
from typing import List
|
| 2 |
+
import torch
|
| 3 |
+
|
| 4 |
+
from ._ops import ops
|
| 5 |
+
from . import layers
|
| 6 |
+
|
| 7 |
+
|
| 8 |
+
def ms_deform_attn_backward(
|
| 9 |
+
value: torch.Tensor,
|
| 10 |
+
spatial_shapes: torch.Tensor,
|
| 11 |
+
level_start_index: torch.Tensor,
|
| 12 |
+
sampling_loc: torch.Tensor,
|
| 13 |
+
attn_weight: torch.Tensor,
|
| 14 |
+
grad_output: torch.Tensor,
|
| 15 |
+
im2col_step: int,
|
| 16 |
+
) -> List[torch.Tensor]:
|
| 17 |
+
return ops.ms_deform_attn_backward(
|
| 18 |
+
value,
|
| 19 |
+
spatial_shapes,
|
| 20 |
+
level_start_index,
|
| 21 |
+
sampling_loc,
|
| 22 |
+
attn_weight,
|
| 23 |
+
grad_output,
|
| 24 |
+
im2col_step,
|
| 25 |
+
)
|
| 26 |
+
|
| 27 |
+
|
| 28 |
+
def ms_deform_attn_forward(
|
| 29 |
+
value: torch.Tensor,
|
| 30 |
+
spatial_shapes: torch.Tensor,
|
| 31 |
+
level_start_index: torch.Tensor,
|
| 32 |
+
sampling_loc: torch.Tensor,
|
| 33 |
+
attn_weight: torch.Tensor,
|
| 34 |
+
im2col_step: int,
|
| 35 |
+
) -> torch.Tensor:
|
| 36 |
+
return ops.ms_deform_attn_forward(
|
| 37 |
+
value,
|
| 38 |
+
spatial_shapes,
|
| 39 |
+
level_start_index,
|
| 40 |
+
sampling_loc,
|
| 41 |
+
attn_weight,
|
| 42 |
+
im2col_step,
|
| 43 |
+
)
|
| 44 |
+
|
| 45 |
+
|
| 46 |
+
__all__ = ["layers", "ms_deform_attn_forward", "ms_deform_attn_backward"]
|