File size: 3,162 Bytes
f6696e9
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
{
  "model": "depth_v2s",
  "upstream": {
    "model": "depth-anything/Depth-Anything-V2-Small-hf",
    "weights": {
      "repo": "depth-anything/Depth-Anything-V2-Small-hf",
      "revision": "5426e4f0f36572d16453bbda7a8389317b1bef99",
      "official": true
    },
    "license": "Apache-2.0"
  },
  "versions": {
    "python": "3.12.15+meta",
    "torch": "2.14.1+cpu",
    "torchao": "0.18.0+cpu",
    "executorch": "1.5.1+cpu",
    "executorch_git": "3b60683923245cf472b7323426920e15623ba361",
    "transformers": "5.19.0",
    "huggingface_hub": "2.2.0"
  },
  "export": {
    "api": "torch.export.export(strict=False) -> to_edge_transform_and_lower(partitioner=[WebGPUPartitioner()]) -> to_executorch()",
    "partitioner": "executorch.backends.webgpu.partitioner.WebGPUPartitioner() (default compile options; wraps VulkanPartitioner)",
    "inputs": [
      {
        "shape": [
          1,
          3,
          224,
          224
        ],
        "dtype": "float32",
        "layout": "NCHW"
      }
    ],
    "outputs": [
      {
        "shape": [
          1,
          224,
          224
        ],
        "dtype": "float32"
      }
    ],
    "dtype": "float32",
    "quantization": "none (fp32)",
    "attn_implementation": "eager",
    "graph_rewrites": [
      "transformers 5.x all-zero bidirectional attention mask skipped (attention_mask=None; no padding in images)",
      "DINOv2 position embeddings resized (bicubic, as upstream) for the fixed input size in eager and stored as a constant"
    ],
    "preprocessing_outside_graph": "RGB / 255, ImageNet mean/std normalization, resize to input size",
    "postprocessing_outside_graph": "min-max normalize predicted_depth for display"
  },
  "files": {
    "depth_v2s_webgpu.pte": {
      "bytes": 97307268,
      "sha256": "285602ed3a34a26a4d9d36355ce978587ed555e68b6b5fa8a567c1155a3b5160"
    },
    "depth_v2s_portable.pte": {
      "bytes": 97290408,
      "sha256": "ce840e1c17ea65fcc52b7d8912dfe2d4d598350e3bdf6b8150f3d8c05d18423c",
      "note": "CPU-only validation artifact (portable kernels, no delegate); not for release"
    }
  },
  "graph": {
    "non_delegated_kernels": {},
    "delegates": [
      {
        "id": "VulkanBackend",
        "ops": {
          "et_vk.prepack.default": 39,
          "aten.convolution.default": 24,
          "aten.view_copy.default": 113,
          "aten.permute_copy.default": 65,
          "aten.clone.default": 7,
          "aten.cat.default": 1,
          "aten.add.Tensor": 35,
          "aten.native_layer_norm.default": 28,
          "aten.squeeze_copy.dims": 97,
          "aten.linear.default": 72,
          "aten.bmm.default": 24,
          "aten.mul.Tensor": 37,
          "aten._softmax.default": 12,
          "aten.gelu.default": 12,
          "aten.slice_copy.Tensor": 4,
          "aten.relu.default": 7,
          "et_vk.conv_with_clamp.default": 9,
          "aten.upsample_bilinear2d.vec": 5,
          "dim_order_ops._to_dim_order_copy.default": 1
        },
        "inputs": 1,
        "outputs": 1
      }
    ]
  },
  "command": "python recipes/depth-anything-v2-small.py --out out/depth-anything-v2-small"
}