kernels-bot commited on
Commit
3598495
·
verified ·
1 Parent(s): abfd404

Uploaded using `kernel-builder`.

Browse files
This view is limited to 50 files because it contains too many changes.   See raw diff
Files changed (50) hide show
  1. build/torch210-cu126-aarch64-linux/__init__.py +46 -0
  2. build/torch210-cu126-aarch64-linux/_deformable_detr_cuda_fe2bb66.abi3.so +3 -0
  3. build/torch210-cu126-aarch64-linux/_ops.py +9 -0
  4. build/torch210-cu126-aarch64-linux/layers.py +84 -0
  5. build/torch210-cu126-aarch64-linux/metadata.json +43 -0
  6. build/torch210-cu126-aarch64-linux/metadata.json.sigstore +1 -0
  7. build/torch210-cu126-aarch64-linux/symbols.json +138 -0
  8. build/torch210-cu128-aarch64-linux/__init__.py +46 -0
  9. build/torch210-cu128-aarch64-linux/_deformable_detr_cuda_fe2bb66.abi3.so +3 -0
  10. build/torch210-cu128-aarch64-linux/_ops.py +9 -0
  11. build/torch210-cu128-aarch64-linux/layers.py +84 -0
  12. build/torch210-cu128-aarch64-linux/metadata.json +46 -0
  13. build/torch210-cu128-aarch64-linux/metadata.json.sigstore +1 -0
  14. build/torch210-cu128-aarch64-linux/symbols.json +138 -0
  15. build/torch210-cu130-aarch64-linux/__init__.py +46 -0
  16. build/torch210-cu130-aarch64-linux/_deformable_detr_cuda_fe2bb66.abi3.so +3 -0
  17. build/torch210-cu130-aarch64-linux/_ops.py +9 -0
  18. build/torch210-cu130-aarch64-linux/layers.py +84 -0
  19. build/torch210-cu130-aarch64-linux/metadata.json +46 -0
  20. build/torch210-cu130-aarch64-linux/metadata.json.sigstore +1 -0
  21. build/torch210-cu130-aarch64-linux/symbols.json +138 -0
  22. build/torch211-cu126-aarch64-linux/__init__.py +46 -0
  23. build/torch211-cu126-aarch64-linux/_deformable_detr_cuda_fe2bb66.abi3.so +3 -0
  24. build/torch211-cu126-aarch64-linux/_ops.py +9 -0
  25. build/torch211-cu126-aarch64-linux/layers.py +84 -0
  26. build/torch211-cu126-aarch64-linux/metadata.json +43 -0
  27. build/torch211-cu126-aarch64-linux/metadata.json.sigstore +1 -0
  28. build/torch211-cu126-aarch64-linux/symbols.json +138 -0
  29. build/torch211-cu128-aarch64-linux/__init__.py +46 -0
  30. build/torch211-cu128-aarch64-linux/_deformable_detr_cuda_fe2bb66.abi3.so +3 -0
  31. build/torch211-cu128-aarch64-linux/_ops.py +9 -0
  32. build/torch211-cu128-aarch64-linux/layers.py +84 -0
  33. build/torch211-cu128-aarch64-linux/metadata.json +46 -0
  34. build/torch211-cu128-aarch64-linux/metadata.json.sigstore +1 -0
  35. build/torch211-cu128-aarch64-linux/symbols.json +138 -0
  36. build/torch211-cu130-aarch64-linux/__init__.py +46 -0
  37. build/torch211-cu130-aarch64-linux/_deformable_detr_cuda_fe2bb66.abi3.so +3 -0
  38. build/torch211-cu130-aarch64-linux/_ops.py +9 -0
  39. build/torch211-cu130-aarch64-linux/layers.py +84 -0
  40. build/torch211-cu130-aarch64-linux/metadata.json +46 -0
  41. build/torch211-cu130-aarch64-linux/metadata.json.sigstore +1 -0
  42. build/torch211-cu130-aarch64-linux/symbols.json +138 -0
  43. build/torch212-cu126-aarch64-linux/__init__.py +46 -0
  44. build/torch212-cu126-aarch64-linux/_deformable_detr_cuda_fe2bb66.abi3.so +3 -0
  45. build/torch212-cu126-aarch64-linux/_ops.py +9 -0
  46. build/torch212-cu126-aarch64-linux/layers.py +84 -0
  47. build/torch212-cu126-aarch64-linux/metadata.json +43 -0
  48. build/torch212-cu126-aarch64-linux/metadata.json.sigstore +1 -0
  49. build/torch212-cu126-aarch64-linux/symbols.json +138 -0
  50. 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"]