{
  "schemaVersion": 1,
  "slug": "segment-anything",
  "title": "Turn a prompt into candidate masks",
  "className": "PromptableMaskDecoder",
  "question": "How do image features and a user prompt become a mask?",
  "description": "Reuse a cached image embedding, encode points or box corners, and follow two-way attention into three dynamic mask predictions.",
  "category": "Multimodal milestones",
  "tags": [
    "SAM",
    "Segment Anything",
    "Segmentation",
    "Prompt encoder",
    "Two-way attention"
  ],
  "curator": "TensorViz",
  "attribution": "Original TensorViz teaching example. PyTorch provides the underlying operators.",
  "license": "No separate redistribution license has been declared for these project examples.",
  "limitations": "Untrained prompt/decoder subsystem, not a complete SAM model. Input is a cached synthetic embedding; the pretrained ViT image encoder, dense-mask encoder, tokenizer, image resizing and mask losses are omitted. The attention residual pattern follows the paper-level description with one head; this is not a parameter-compatible port. Only three candidate mask tokens are modeled, without the released implementation’s extra single-mask token. Quality scores are uncalibrated.",
  "openingStep": "prompt",
  "provenance": {
    "capturedAt": "2026-09-17T07:00:38.449307+00:00",
    "productRevision": "cf0ab1c9c58c1dc640235b742fa032cade00b43c",
    "sourceSha256": "bba1c4d0f25557c69579fade1e1ce55a8dd70d4af374ed69438d9a3652291d3e",
    "python": "3.13.13",
    "torch": "2.7.1",
    "execution": {
      "inputs": {
        "args": [
          {
            "shape": [
              1,
              8,
              2,
              2
            ],
            "dtype": "float32",
            "fill": "randn"
          },
          {
            "shape": [
              1,
              2,
              2
            ],
            "dtype": "float32",
            "fill": "ones"
          },
          {
            "shape": [
              1,
              2
            ],
            "dtype": "int64",
            "fill": "ones"
          }
        ]
      },
      "device": "cpu",
      "mode": "eval",
      "seed": 0,
      "deterministic": true
    },
    "outcome": "passed",
    "outputShape": [
      1,
      195
    ],
    "method": "TensorViz multifile projection and isolated execution worker",
    "scope": "SAM-inspired prompt-encoder and two-way mask-decoder subsystem with cached synthetic image features. Prompt permutation/location/type, hypernetwork dot-product and gradient checks. Output packs three 8 × 8 mask logits and three quality scores.",
    "numericalChecks": [
      "Reordering sparse prompts preserves mask and quality outputs",
      "Moving a point or changing foreground/background type changes outputs without modifying cached image features",
      "Hypernetwork masks equal explicit per-pixel feature-weight dot products",
      "Mask gradients reach prompt coordinates and the image-to-token attention path"
    ]
  },
  "layers": [
    {
      "id": "input",
      "label": "input",
      "op": "Input",
      "kind": "input",
      "parent": null,
      "params": {
        "shape": "1,3,8"
      }
    },
    {
      "id": "flatten@PromptableMaskDecoder#0",
      "label": "flatten@PromptableMaskDecoder#0",
      "op": "Flatten",
      "kind": "layer",
      "parent": null,
      "params": {
        "start_dim": 2
      },
      "source": {
        "line": 177,
        "endLine": 177
      }
    },
    {
      "id": "prompt_encoder",
      "label": "prompt_encoder",
      "op": "Module",
      "kind": "module",
      "parent": null,
      "params": {},
      "source": {
        "line": 160,
        "endLine": 160
      }
    },
    {
      "id": "python@PromptableMaskDecoder#0",
      "label": "python@PromptableMaskDecoder#0",
      "op": "Python",
      "kind": "layer",
      "parent": null,
      "params": {},
      "source": {
        "line": 178,
        "endLine": 178
      }
    },
    {
      "id": "output_tokens",
      "label": "output_tokens",
      "op": "Parameter",
      "kind": "layer",
      "parent": null,
      "params": {},
      "source": {
        "line": 161,
        "endLine": 161
      }
    },
    {
      "id": "cat@PromptableMaskDecoder#0",
      "label": "cat@PromptableMaskDecoder#0",
      "op": "torch.cat",
      "kind": "layer",
      "parent": null,
      "params": {
        "dim": 1
      },
      "source": {
        "line": 174,
        "endLine": 176
      }
    },
    {
      "id": "no_mask",
      "label": "no_mask",
      "op": "Parameter",
      "kind": "layer",
      "parent": null,
      "params": {},
      "source": {
        "line": 162,
        "endLine": 162
      }
    },
    {
      "id": "add@PromptableMaskDecoder#0",
      "label": "add@PromptableMaskDecoder#0",
      "op": "torch.add",
      "kind": "layer",
      "parent": null,
      "params": {},
      "source": {
        "line": 177,
        "endLine": 177
      }
    },
    {
      "id": "decoder",
      "label": "decoder",
      "op": "Module",
      "kind": "module",
      "parent": null,
      "params": {},
      "source": {
        "line": 167,
        "endLine": 167
      }
    },
    {
      "id": "upscale",
      "label": "upscale",
      "op": "Module",
      "kind": "module",
      "parent": null,
      "params": {},
      "source": {
        "line": 168,
        "endLine": 168
      }
    },
    {
      "id": "masks",
      "label": "masks",
      "op": "Module",
      "kind": "module",
      "parent": null,
      "params": {},
      "source": {
        "line": 169,
        "endLine": 169
      }
    },
    {
      "id": "flatten@PromptableMaskDecoder#1",
      "label": "flatten@PromptableMaskDecoder#1",
      "op": "Flatten",
      "kind": "layer",
      "parent": null,
      "params": {
        "start_dim": 1
      },
      "source": {
        "line": 183,
        "endLine": 183
      }
    },
    {
      "id": "quality",
      "label": "quality",
      "op": "Module",
      "kind": "module",
      "parent": null,
      "params": {},
      "source": {
        "line": 170,
        "endLine": 170
      }
    },
    {
      "id": "cat@PromptableMaskDecoder#1",
      "label": "cat@PromptableMaskDecoder#1",
      "op": "torch.cat",
      "kind": "layer",
      "parent": null,
      "params": {
        "dim": -1
      },
      "source": {
        "line": 183,
        "endLine": 183
      }
    },
    {
      "id": "output",
      "label": "output",
      "op": "Output",
      "kind": "output",
      "parent": null,
      "params": {}
    },
    {
      "id": "prompt_encoder.position",
      "label": "prompt_encoder.position",
      "op": "Module",
      "kind": "module",
      "parent": "prompt_encoder",
      "params": {},
      "source": {
        "line": 26,
        "endLine": 26
      }
    },
    {
      "id": "prompt_encoder.type_embedding",
      "label": "prompt_encoder.type_embedding",
      "op": "Embedding",
      "kind": "layer",
      "parent": "prompt_encoder",
      "params": {
        "num_embeddings": 4,
        "embedding_dim": 8
      },
      "source": {
        "line": 27,
        "endLine": 27
      }
    },
    {
      "id": "add@prompt_encoder#0",
      "label": "add@prompt_encoder#0",
      "op": "torch.add",
      "kind": "layer",
      "parent": "prompt_encoder",
      "params": {},
      "source": {
        "line": 31,
        "endLine": 31
      }
    },
    {
      "id": "cat@prompt_encoder.position#0",
      "label": "cat@prompt_encoder.position#0",
      "op": "torch.cat",
      "kind": "layer",
      "parent": "prompt_encoder.position",
      "params": {
        "dim": -1
      },
      "source": {
        "line": 20,
        "endLine": 20
      }
    },
    {
      "id": "decoder.first",
      "label": "decoder.first",
      "op": "Module",
      "kind": "module",
      "parent": "decoder",
      "params": {},
      "source": {
        "line": 87,
        "endLine": 87
      }
    },
    {
      "id": "decoder.second",
      "label": "decoder.second",
      "op": "Module",
      "kind": "module",
      "parent": "decoder",
      "params": {},
      "source": {
        "line": 88,
        "endLine": 88
      }
    },
    {
      "id": "add@decoder#0",
      "label": "add@decoder#0",
      "op": "torch.add",
      "kind": "layer",
      "parent": "decoder",
      "params": {},
      "source": {
        "line": 96,
        "endLine": 99
      }
    },
    {
      "id": "add@decoder#1",
      "label": "add@decoder#1",
      "op": "torch.add",
      "kind": "layer",
      "parent": "decoder",
      "params": {},
      "source": {
        "line": 96,
        "endLine": 99
      }
    },
    {
      "id": "decoder.final_attention",
      "label": "decoder.final_attention",
      "op": "Module",
      "kind": "module",
      "parent": "decoder",
      "params": {},
      "source": {
        "line": 89,
        "endLine": 89
      }
    },
    {
      "id": "add@decoder#2",
      "label": "add@decoder#2",
      "op": "torch.add",
      "kind": "layer",
      "parent": "decoder",
      "params": {},
      "source": {
        "line": 96,
        "endLine": 99
      }
    },
    {
      "id": "decoder.final_norm",
      "label": "decoder.final_norm",
      "op": "LayerNorm",
      "kind": "layer",
      "parent": "decoder",
      "params": {
        "normalized_shape": 8
      },
      "source": {
        "line": 90,
        "endLine": 90
      }
    },
    {
      "id": "decoder.first.self_attention",
      "label": "decoder.first.self_attention",
      "op": "Module",
      "kind": "module",
      "parent": "decoder.first",
      "params": {
        "arg_0": 8
      },
      "source": {
        "line": 54,
        "endLine": 54
      }
    },
    {
      "id": "add@decoder.first#0",
      "label": "add@decoder.first#0",
      "op": "torch.add",
      "kind": "layer",
      "parent": "decoder.first",
      "params": {},
      "source": {
        "line": 67,
        "endLine": 67
      }
    },
    {
      "id": "decoder.first.self_norm",
      "label": "decoder.first.self_norm",
      "op": "LayerNorm",
      "kind": "layer",
      "parent": "decoder.first",
      "params": {
        "normalized_shape": 8
      },
      "source": {
        "line": 55,
        "endLine": 55
      }
    },
    {
      "id": "add@decoder.first#1",
      "label": "add@decoder.first#1",
      "op": "torch.add",
      "kind": "layer",
      "parent": "decoder.first",
      "params": {},
      "source": {
        "line": 68,
        "endLine": 73
      }
    },
    {
      "id": "decoder.first.token_to_image",
      "label": "decoder.first.token_to_image",
      "op": "Module",
      "kind": "module",
      "parent": "decoder.first",
      "params": {},
      "source": {
        "line": 56,
        "endLine": 56
      }
    },
    {
      "id": "add@decoder.first#2",
      "label": "add@decoder.first#2",
      "op": "torch.add",
      "kind": "layer",
      "parent": "decoder.first",
      "params": {},
      "source": {
        "line": 68,
        "endLine": 73
      }
    },
    {
      "id": "decoder.first.token_norm",
      "label": "decoder.first.token_norm",
      "op": "LayerNorm",
      "kind": "layer",
      "parent": "decoder.first",
      "params": {
        "normalized_shape": 8
      },
      "source": {
        "line": 57,
        "endLine": 57
      }
    },
    {
      "id": "decoder.first.up",
      "label": "decoder.first.up",
      "op": "Linear",
      "kind": "layer",
      "parent": "decoder.first",
      "params": {
        "in_features": 8,
        "out_features": 32
      },
      "source": {
        "line": 58,
        "endLine": 58
      }
    },
    {
      "id": "decoder.first.relu",
      "label": "decoder.first.relu",
      "op": "ReLU",
      "kind": "layer",
      "parent": "decoder.first",
      "params": {},
      "source": {
        "line": 59,
        "endLine": 59
      }
    },
    {
      "id": "decoder.first.down",
      "label": "decoder.first.down",
      "op": "Linear",
      "kind": "layer",
      "parent": "decoder.first",
      "params": {
        "in_features": 32,
        "out_features": 8
      },
      "source": {
        "line": 60,
        "endLine": 60
      }
    },
    {
      "id": "add@decoder.first#3",
      "label": "add@decoder.first#3",
      "op": "torch.add",
      "kind": "layer",
      "parent": "decoder.first",
      "params": {},
      "source": {
        "line": 74,
        "endLine": 74
      }
    },
    {
      "id": "decoder.first.mlp_norm",
      "label": "decoder.first.mlp_norm",
      "op": "LayerNorm",
      "kind": "layer",
      "parent": "decoder.first",
      "params": {
        "normalized_shape": 8
      },
      "source": {
        "line": 61,
        "endLine": 61
      }
    },
    {
      "id": "add@decoder.first#4",
      "label": "add@decoder.first#4",
      "op": "torch.add",
      "kind": "layer",
      "parent": "decoder.first",
      "params": {},
      "source": {
        "line": 75,
        "endLine": 80
      }
    },
    {
      "id": "decoder.first.image_to_token",
      "label": "decoder.first.image_to_token",
      "op": "Module",
      "kind": "module",
      "parent": "decoder.first",
      "params": {},
      "source": {
        "line": 62,
        "endLine": 62
      }
    },
    {
      "id": "add@decoder.first#5",
      "label": "add@decoder.first#5",
      "op": "torch.add",
      "kind": "layer",
      "parent": "decoder.first",
      "params": {},
      "source": {
        "line": 75,
        "endLine": 80
      }
    },
    {
      "id": "decoder.first.image_norm",
      "label": "decoder.first.image_norm",
      "op": "LayerNorm",
      "kind": "layer",
      "parent": "decoder.first",
      "params": {
        "normalized_shape": 8
      },
      "source": {
        "line": 63,
        "endLine": 63
      }
    },
    {
      "id": "decoder.first.self_attention.query",
      "label": "decoder.first.self_attention.query",
      "op": "Linear",
      "kind": "layer",
      "parent": "decoder.first.self_attention",
      "params": {
        "in_features": 8,
        "out_features": 4
      },
      "source": {
        "line": 38,
        "endLine": 38
      }
    },
    {
      "id": "decoder.first.self_attention.key",
      "label": "decoder.first.self_attention.key",
      "op": "Linear",
      "kind": "layer",
      "parent": "decoder.first.self_attention",
      "params": {
        "in_features": 8,
        "out_features": 4
      },
      "source": {
        "line": 39,
        "endLine": 39
      }
    },
    {
      "id": "div@decoder.first.self_attention#0",
      "label": "div@decoder.first.self_attention#0",
      "op": "torch.div",
      "kind": "layer",
      "parent": "decoder.first.self_attention",
      "params": {},
      "source": {
        "line": 45,
        "endLine": 47
      }
    },
    {
      "id": "decoder.first.self_attention.value",
      "label": "decoder.first.self_attention.value",
      "op": "Linear",
      "kind": "layer",
      "parent": "decoder.first.self_attention",
      "params": {
        "in_features": 8,
        "out_features": 4
      },
      "source": {
        "line": 40,
        "endLine": 40
      }
    },
    {
      "id": "decoder.first.self_attention.softmax",
      "label": "decoder.first.self_attention.softmax",
      "op": "Softmax",
      "kind": "layer",
      "parent": "decoder.first.self_attention",
      "params": {},
      "source": {
        "line": 41,
        "endLine": 41
      }
    },
    {
      "id": "decoder.first.self_attention.project",
      "label": "decoder.first.self_attention.project",
      "op": "Linear",
      "kind": "layer",
      "parent": "decoder.first.self_attention",
      "params": {
        "in_features": 4,
        "out_features": 8
      },
      "source": {
        "line": 42,
        "endLine": 42
      }
    },
    {
      "id": "decoder.first.token_to_image.query",
      "label": "decoder.first.token_to_image.query",
      "op": "Linear",
      "kind": "layer",
      "parent": "decoder.first.token_to_image",
      "params": {
        "in_features": 8,
        "out_features": 4
      },
      "source": {
        "line": 38,
        "endLine": 38
      }
    },
    {
      "id": "decoder.first.token_to_image.key",
      "label": "decoder.first.token_to_image.key",
      "op": "Linear",
      "kind": "layer",
      "parent": "decoder.first.token_to_image",
      "params": {
        "in_features": 8,
        "out_features": 4
      },
      "source": {
        "line": 39,
        "endLine": 39
      }
    },
    {
      "id": "div@decoder.first.token_to_image#0",
      "label": "div@decoder.first.token_to_image#0",
      "op": "torch.div",
      "kind": "layer",
      "parent": "decoder.first.token_to_image",
      "params": {},
      "source": {
        "line": 45,
        "endLine": 47
      }
    },
    {
      "id": "decoder.first.token_to_image.value",
      "label": "decoder.first.token_to_image.value",
      "op": "Linear",
      "kind": "layer",
      "parent": "decoder.first.token_to_image",
      "params": {
        "in_features": 8,
        "out_features": 4
      },
      "source": {
        "line": 40,
        "endLine": 40
      }
    },
    {
      "id": "decoder.first.token_to_image.softmax",
      "label": "decoder.first.token_to_image.softmax",
      "op": "Softmax",
      "kind": "layer",
      "parent": "decoder.first.token_to_image",
      "params": {},
      "source": {
        "line": 41,
        "endLine": 41
      }
    },
    {
      "id": "decoder.first.token_to_image.project",
      "label": "decoder.first.token_to_image.project",
      "op": "Linear",
      "kind": "layer",
      "parent": "decoder.first.token_to_image",
      "params": {
        "in_features": 4,
        "out_features": 8
      },
      "source": {
        "line": 42,
        "endLine": 42
      }
    },
    {
      "id": "decoder.first.image_to_token.query",
      "label": "decoder.first.image_to_token.query",
      "op": "Linear",
      "kind": "layer",
      "parent": "decoder.first.image_to_token",
      "params": {
        "in_features": 8,
        "out_features": 4
      },
      "source": {
        "line": 38,
        "endLine": 38
      }
    },
    {
      "id": "decoder.first.image_to_token.key",
      "label": "decoder.first.image_to_token.key",
      "op": "Linear",
      "kind": "layer",
      "parent": "decoder.first.image_to_token",
      "params": {
        "in_features": 8,
        "out_features": 4
      },
      "source": {
        "line": 39,
        "endLine": 39
      }
    },
    {
      "id": "div@decoder.first.image_to_token#0",
      "label": "div@decoder.first.image_to_token#0",
      "op": "torch.div",
      "kind": "layer",
      "parent": "decoder.first.image_to_token",
      "params": {},
      "source": {
        "line": 45,
        "endLine": 47
      }
    },
    {
      "id": "decoder.first.image_to_token.value",
      "label": "decoder.first.image_to_token.value",
      "op": "Linear",
      "kind": "layer",
      "parent": "decoder.first.image_to_token",
      "params": {
        "in_features": 8,
        "out_features": 4
      },
      "source": {
        "line": 40,
        "endLine": 40
      }
    },
    {
      "id": "decoder.first.image_to_token.softmax",
      "label": "decoder.first.image_to_token.softmax",
      "op": "Softmax",
      "kind": "layer",
      "parent": "decoder.first.image_to_token",
      "params": {},
      "source": {
        "line": 41,
        "endLine": 41
      }
    },
    {
      "id": "decoder.first.image_to_token.project",
      "label": "decoder.first.image_to_token.project",
      "op": "Linear",
      "kind": "layer",
      "parent": "decoder.first.image_to_token",
      "params": {
        "in_features": 4,
        "out_features": 8
      },
      "source": {
        "line": 42,
        "endLine": 42
      }
    },
    {
      "id": "decoder.second.self_attention",
      "label": "decoder.second.self_attention",
      "op": "Module",
      "kind": "module",
      "parent": "decoder.second",
      "params": {
        "arg_0": 8
      },
      "source": {
        "line": 54,
        "endLine": 54
      }
    },
    {
      "id": "add@decoder.second#0",
      "label": "add@decoder.second#0",
      "op": "torch.add",
      "kind": "layer",
      "parent": "decoder.second",
      "params": {},
      "source": {
        "line": 67,
        "endLine": 67
      }
    },
    {
      "id": "decoder.second.self_norm",
      "label": "decoder.second.self_norm",
      "op": "LayerNorm",
      "kind": "layer",
      "parent": "decoder.second",
      "params": {
        "normalized_shape": 8
      },
      "source": {
        "line": 55,
        "endLine": 55
      }
    },
    {
      "id": "add@decoder.second#1",
      "label": "add@decoder.second#1",
      "op": "torch.add",
      "kind": "layer",
      "parent": "decoder.second",
      "params": {},
      "source": {
        "line": 68,
        "endLine": 73
      }
    },
    {
      "id": "decoder.second.token_to_image",
      "label": "decoder.second.token_to_image",
      "op": "Module",
      "kind": "module",
      "parent": "decoder.second",
      "params": {},
      "source": {
        "line": 56,
        "endLine": 56
      }
    },
    {
      "id": "add@decoder.second#2",
      "label": "add@decoder.second#2",
      "op": "torch.add",
      "kind": "layer",
      "parent": "decoder.second",
      "params": {},
      "source": {
        "line": 68,
        "endLine": 73
      }
    },
    {
      "id": "decoder.second.token_norm",
      "label": "decoder.second.token_norm",
      "op": "LayerNorm",
      "kind": "layer",
      "parent": "decoder.second",
      "params": {
        "normalized_shape": 8
      },
      "source": {
        "line": 57,
        "endLine": 57
      }
    },
    {
      "id": "decoder.second.up",
      "label": "decoder.second.up",
      "op": "Linear",
      "kind": "layer",
      "parent": "decoder.second",
      "params": {
        "in_features": 8,
        "out_features": 32
      },
      "source": {
        "line": 58,
        "endLine": 58
      }
    },
    {
      "id": "decoder.second.relu",
      "label": "decoder.second.relu",
      "op": "ReLU",
      "kind": "layer",
      "parent": "decoder.second",
      "params": {},
      "source": {
        "line": 59,
        "endLine": 59
      }
    },
    {
      "id": "decoder.second.down",
      "label": "decoder.second.down",
      "op": "Linear",
      "kind": "layer",
      "parent": "decoder.second",
      "params": {
        "in_features": 32,
        "out_features": 8
      },
      "source": {
        "line": 60,
        "endLine": 60
      }
    },
    {
      "id": "add@decoder.second#3",
      "label": "add@decoder.second#3",
      "op": "torch.add",
      "kind": "layer",
      "parent": "decoder.second",
      "params": {},
      "source": {
        "line": 74,
        "endLine": 74
      }
    },
    {
      "id": "decoder.second.mlp_norm",
      "label": "decoder.second.mlp_norm",
      "op": "LayerNorm",
      "kind": "layer",
      "parent": "decoder.second",
      "params": {
        "normalized_shape": 8
      },
      "source": {
        "line": 61,
        "endLine": 61
      }
    },
    {
      "id": "add@decoder.second#4",
      "label": "add@decoder.second#4",
      "op": "torch.add",
      "kind": "layer",
      "parent": "decoder.second",
      "params": {},
      "source": {
        "line": 75,
        "endLine": 80
      }
    },
    {
      "id": "decoder.second.image_to_token",
      "label": "decoder.second.image_to_token",
      "op": "Module",
      "kind": "module",
      "parent": "decoder.second",
      "params": {},
      "source": {
        "line": 62,
        "endLine": 62
      }
    },
    {
      "id": "add@decoder.second#5",
      "label": "add@decoder.second#5",
      "op": "torch.add",
      "kind": "layer",
      "parent": "decoder.second",
      "params": {},
      "source": {
        "line": 75,
        "endLine": 80
      }
    },
    {
      "id": "decoder.second.image_norm",
      "label": "decoder.second.image_norm",
      "op": "LayerNorm",
      "kind": "layer",
      "parent": "decoder.second",
      "params": {
        "normalized_shape": 8
      },
      "source": {
        "line": 63,
        "endLine": 63
      }
    },
    {
      "id": "decoder.second.self_attention.query",
      "label": "decoder.second.self_attention.query",
      "op": "Linear",
      "kind": "layer",
      "parent": "decoder.second.self_attention",
      "params": {
        "in_features": 8,
        "out_features": 4
      },
      "source": {
        "line": 38,
        "endLine": 38
      }
    },
    {
      "id": "decoder.second.self_attention.key",
      "label": "decoder.second.self_attention.key",
      "op": "Linear",
      "kind": "layer",
      "parent": "decoder.second.self_attention",
      "params": {
        "in_features": 8,
        "out_features": 4
      },
      "source": {
        "line": 39,
        "endLine": 39
      }
    },
    {
      "id": "div@decoder.second.self_attention#0",
      "label": "div@decoder.second.self_attention#0",
      "op": "torch.div",
      "kind": "layer",
      "parent": "decoder.second.self_attention",
      "params": {},
      "source": {
        "line": 45,
        "endLine": 47
      }
    },
    {
      "id": "decoder.second.self_attention.value",
      "label": "decoder.second.self_attention.value",
      "op": "Linear",
      "kind": "layer",
      "parent": "decoder.second.self_attention",
      "params": {
        "in_features": 8,
        "out_features": 4
      },
      "source": {
        "line": 40,
        "endLine": 40
      }
    },
    {
      "id": "decoder.second.self_attention.softmax",
      "label": "decoder.second.self_attention.softmax",
      "op": "Softmax",
      "kind": "layer",
      "parent": "decoder.second.self_attention",
      "params": {},
      "source": {
        "line": 41,
        "endLine": 41
      }
    },
    {
      "id": "decoder.second.self_attention.project",
      "label": "decoder.second.self_attention.project",
      "op": "Linear",
      "kind": "layer",
      "parent": "decoder.second.self_attention",
      "params": {
        "in_features": 4,
        "out_features": 8
      },
      "source": {
        "line": 42,
        "endLine": 42
      }
    },
    {
      "id": "decoder.second.token_to_image.query",
      "label": "decoder.second.token_to_image.query",
      "op": "Linear",
      "kind": "layer",
      "parent": "decoder.second.token_to_image",
      "params": {
        "in_features": 8,
        "out_features": 4
      },
      "source": {
        "line": 38,
        "endLine": 38
      }
    },
    {
      "id": "decoder.second.token_to_image.key",
      "label": "decoder.second.token_to_image.key",
      "op": "Linear",
      "kind": "layer",
      "parent": "decoder.second.token_to_image",
      "params": {
        "in_features": 8,
        "out_features": 4
      },
      "source": {
        "line": 39,
        "endLine": 39
      }
    },
    {
      "id": "div@decoder.second.token_to_image#0",
      "label": "div@decoder.second.token_to_image#0",
      "op": "torch.div",
      "kind": "layer",
      "parent": "decoder.second.token_to_image",
      "params": {},
      "source": {
        "line": 45,
        "endLine": 47
      }
    },
    {
      "id": "decoder.second.token_to_image.value",
      "label": "decoder.second.token_to_image.value",
      "op": "Linear",
      "kind": "layer",
      "parent": "decoder.second.token_to_image",
      "params": {
        "in_features": 8,
        "out_features": 4
      },
      "source": {
        "line": 40,
        "endLine": 40
      }
    },
    {
      "id": "decoder.second.token_to_image.softmax",
      "label": "decoder.second.token_to_image.softmax",
      "op": "Softmax",
      "kind": "layer",
      "parent": "decoder.second.token_to_image",
      "params": {},
      "source": {
        "line": 41,
        "endLine": 41
      }
    },
    {
      "id": "decoder.second.token_to_image.project",
      "label": "decoder.second.token_to_image.project",
      "op": "Linear",
      "kind": "layer",
      "parent": "decoder.second.token_to_image",
      "params": {
        "in_features": 4,
        "out_features": 8
      },
      "source": {
        "line": 42,
        "endLine": 42
      }
    },
    {
      "id": "decoder.second.image_to_token.query",
      "label": "decoder.second.image_to_token.query",
      "op": "Linear",
      "kind": "layer",
      "parent": "decoder.second.image_to_token",
      "params": {
        "in_features": 8,
        "out_features": 4
      },
      "source": {
        "line": 38,
        "endLine": 38
      }
    },
    {
      "id": "decoder.second.image_to_token.key",
      "label": "decoder.second.image_to_token.key",
      "op": "Linear",
      "kind": "layer",
      "parent": "decoder.second.image_to_token",
      "params": {
        "in_features": 8,
        "out_features": 4
      },
      "source": {
        "line": 39,
        "endLine": 39
      }
    },
    {
      "id": "div@decoder.second.image_to_token#0",
      "label": "div@decoder.second.image_to_token#0",
      "op": "torch.div",
      "kind": "layer",
      "parent": "decoder.second.image_to_token",
      "params": {},
      "source": {
        "line": 45,
        "endLine": 47
      }
    },
    {
      "id": "decoder.second.image_to_token.value",
      "label": "decoder.second.image_to_token.value",
      "op": "Linear",
      "kind": "layer",
      "parent": "decoder.second.image_to_token",
      "params": {
        "in_features": 8,
        "out_features": 4
      },
      "source": {
        "line": 40,
        "endLine": 40
      }
    },
    {
      "id": "decoder.second.image_to_token.softmax",
      "label": "decoder.second.image_to_token.softmax",
      "op": "Softmax",
      "kind": "layer",
      "parent": "decoder.second.image_to_token",
      "params": {},
      "source": {
        "line": 41,
        "endLine": 41
      }
    },
    {
      "id": "decoder.second.image_to_token.project",
      "label": "decoder.second.image_to_token.project",
      "op": "Linear",
      "kind": "layer",
      "parent": "decoder.second.image_to_token",
      "params": {
        "in_features": 4,
        "out_features": 8
      },
      "source": {
        "line": 42,
        "endLine": 42
      }
    },
    {
      "id": "decoder.final_attention.query",
      "label": "decoder.final_attention.query",
      "op": "Linear",
      "kind": "layer",
      "parent": "decoder.final_attention",
      "params": {
        "in_features": 8,
        "out_features": 4
      },
      "source": {
        "line": 38,
        "endLine": 38
      }
    },
    {
      "id": "decoder.final_attention.key",
      "label": "decoder.final_attention.key",
      "op": "Linear",
      "kind": "layer",
      "parent": "decoder.final_attention",
      "params": {
        "in_features": 8,
        "out_features": 4
      },
      "source": {
        "line": 39,
        "endLine": 39
      }
    },
    {
      "id": "div@decoder.final_attention#0",
      "label": "div@decoder.final_attention#0",
      "op": "torch.div",
      "kind": "layer",
      "parent": "decoder.final_attention",
      "params": {},
      "source": {
        "line": 45,
        "endLine": 47
      }
    },
    {
      "id": "decoder.final_attention.value",
      "label": "decoder.final_attention.value",
      "op": "Linear",
      "kind": "layer",
      "parent": "decoder.final_attention",
      "params": {
        "in_features": 8,
        "out_features": 4
      },
      "source": {
        "line": 40,
        "endLine": 40
      }
    },
    {
      "id": "decoder.final_attention.softmax",
      "label": "decoder.final_attention.softmax",
      "op": "Softmax",
      "kind": "layer",
      "parent": "decoder.final_attention",
      "params": {},
      "source": {
        "line": 41,
        "endLine": 41
      }
    },
    {
      "id": "decoder.final_attention.project",
      "label": "decoder.final_attention.project",
      "op": "Linear",
      "kind": "layer",
      "parent": "decoder.final_attention",
      "params": {
        "in_features": 4,
        "out_features": 8
      },
      "source": {
        "line": 42,
        "endLine": 42
      }
    },
    {
      "id": "upscale.first",
      "label": "upscale.first",
      "op": "ConvTranspose2d",
      "kind": "layer",
      "parent": "upscale",
      "params": {
        "in_channels": 8,
        "out_channels": 4,
        "kernel_size": 2,
        "stride": 2
      },
      "source": {
        "line": 106,
        "endLine": 106
      }
    },
    {
      "id": "permute@upscale#0",
      "label": "permute@upscale#0",
      "op": "torch.permute",
      "kind": "layer",
      "parent": "upscale",
      "params": {
        "dims": [
          0,
          2,
          3,
          1
        ]
      },
      "source": {
        "line": 112,
        "endLine": 112
      }
    },
    {
      "id": "upscale.norm",
      "label": "upscale.norm",
      "op": "LayerNorm",
      "kind": "layer",
      "parent": "upscale",
      "params": {
        "normalized_shape": 4
      },
      "source": {
        "line": 107,
        "endLine": 107
      }
    },
    {
      "id": "permute@upscale#1",
      "label": "permute@upscale#1",
      "op": "torch.permute",
      "kind": "layer",
      "parent": "upscale",
      "params": {
        "dims": [
          0,
          3,
          1,
          2
        ]
      },
      "source": {
        "line": 112,
        "endLine": 112
      }
    },
    {
      "id": "gelu@upscale#0",
      "label": "gelu@upscale#0",
      "op": "GELU",
      "kind": "layer",
      "parent": "upscale",
      "params": {},
      "source": {
        "line": 112,
        "endLine": 112
      }
    },
    {
      "id": "upscale.second",
      "label": "upscale.second",
      "op": "ConvTranspose2d",
      "kind": "layer",
      "parent": "upscale",
      "params": {
        "in_channels": 4,
        "out_channels": 2,
        "kernel_size": 2,
        "stride": 2
      },
      "source": {
        "line": 108,
        "endLine": 108
      }
    },
    {
      "id": "gelu@upscale#1",
      "label": "gelu@upscale#1",
      "op": "GELU",
      "kind": "layer",
      "parent": "upscale",
      "params": {},
      "source": {
        "line": 113,
        "endLine": 113
      }
    },
    {
      "id": "flatten@masks#0",
      "label": "flatten@masks#0",
      "op": "Flatten",
      "kind": "layer",
      "parent": "masks",
      "params": {
        "start_dim": 2
      },
      "source": {
        "line": 143,
        "endLine": 143
      }
    },
    {
      "id": "masks.mask0",
      "label": "masks.mask0",
      "op": "Module",
      "kind": "module",
      "parent": "masks",
      "params": {},
      "source": {
        "line": 130,
        "endLine": 130
      }
    },
    {
      "id": "masks.mask1",
      "label": "masks.mask1",
      "op": "Module",
      "kind": "module",
      "parent": "masks",
      "params": {},
      "source": {
        "line": 131,
        "endLine": 131
      }
    },
    {
      "id": "masks.mask2",
      "label": "masks.mask2",
      "op": "Module",
      "kind": "module",
      "parent": "masks",
      "params": {},
      "source": {
        "line": 132,
        "endLine": 132
      }
    },
    {
      "id": "stack@masks#0",
      "label": "stack@masks#0",
      "op": "torch.stack",
      "kind": "layer",
      "parent": "masks",
      "params": {
        "dim": 1
      },
      "source": {
        "line": 135,
        "endLine": 142
      }
    },
    {
      "id": "python@masks#0",
      "label": "python@masks#0",
      "op": "Python",
      "kind": "layer",
      "parent": "masks",
      "params": {},
      "source": {
        "line": 143,
        "endLine": 143
      }
    },
    {
      "id": "masks.mask0.first",
      "label": "masks.mask0.first",
      "op": "Linear",
      "kind": "layer",
      "parent": "masks.mask0",
      "params": {
        "in_features": 8,
        "out_features": 8
      },
      "source": {
        "line": 119,
        "endLine": 119
      }
    },
    {
      "id": "relu@masks.mask0#0",
      "label": "relu@masks.mask0#0",
      "op": "ReLU",
      "kind": "layer",
      "parent": "masks.mask0",
      "params": {},
      "source": {
        "line": 124,
        "endLine": 124
      }
    },
    {
      "id": "masks.mask0.second",
      "label": "masks.mask0.second",
      "op": "Linear",
      "kind": "layer",
      "parent": "masks.mask0",
      "params": {
        "in_features": 8,
        "out_features": 8
      },
      "source": {
        "line": 120,
        "endLine": 120
      }
    },
    {
      "id": "relu@masks.mask0#1",
      "label": "relu@masks.mask0#1",
      "op": "ReLU",
      "kind": "layer",
      "parent": "masks.mask0",
      "params": {},
      "source": {
        "line": 124,
        "endLine": 124
      }
    },
    {
      "id": "masks.mask0.project",
      "label": "masks.mask0.project",
      "op": "Linear",
      "kind": "layer",
      "parent": "masks.mask0",
      "params": {
        "in_features": 8,
        "out_features": 2
      },
      "source": {
        "line": 121,
        "endLine": 121
      }
    },
    {
      "id": "masks.mask1.first",
      "label": "masks.mask1.first",
      "op": "Linear",
      "kind": "layer",
      "parent": "masks.mask1",
      "params": {
        "in_features": 8,
        "out_features": 8
      },
      "source": {
        "line": 119,
        "endLine": 119
      }
    },
    {
      "id": "relu@masks.mask1#0",
      "label": "relu@masks.mask1#0",
      "op": "ReLU",
      "kind": "layer",
      "parent": "masks.mask1",
      "params": {},
      "source": {
        "line": 124,
        "endLine": 124
      }
    },
    {
      "id": "masks.mask1.second",
      "label": "masks.mask1.second",
      "op": "Linear",
      "kind": "layer",
      "parent": "masks.mask1",
      "params": {
        "in_features": 8,
        "out_features": 8
      },
      "source": {
        "line": 120,
        "endLine": 120
      }
    },
    {
      "id": "relu@masks.mask1#1",
      "label": "relu@masks.mask1#1",
      "op": "ReLU",
      "kind": "layer",
      "parent": "masks.mask1",
      "params": {},
      "source": {
        "line": 124,
        "endLine": 124
      }
    },
    {
      "id": "masks.mask1.project",
      "label": "masks.mask1.project",
      "op": "Linear",
      "kind": "layer",
      "parent": "masks.mask1",
      "params": {
        "in_features": 8,
        "out_features": 2
      },
      "source": {
        "line": 121,
        "endLine": 121
      }
    },
    {
      "id": "masks.mask2.first",
      "label": "masks.mask2.first",
      "op": "Linear",
      "kind": "layer",
      "parent": "masks.mask2",
      "params": {
        "in_features": 8,
        "out_features": 8
      },
      "source": {
        "line": 119,
        "endLine": 119
      }
    },
    {
      "id": "relu@masks.mask2#0",
      "label": "relu@masks.mask2#0",
      "op": "ReLU",
      "kind": "layer",
      "parent": "masks.mask2",
      "params": {},
      "source": {
        "line": 124,
        "endLine": 124
      }
    },
    {
      "id": "masks.mask2.second",
      "label": "masks.mask2.second",
      "op": "Linear",
      "kind": "layer",
      "parent": "masks.mask2",
      "params": {
        "in_features": 8,
        "out_features": 8
      },
      "source": {
        "line": 120,
        "endLine": 120
      }
    },
    {
      "id": "relu@masks.mask2#1",
      "label": "relu@masks.mask2#1",
      "op": "ReLU",
      "kind": "layer",
      "parent": "masks.mask2",
      "params": {},
      "source": {
        "line": 124,
        "endLine": 124
      }
    },
    {
      "id": "masks.mask2.project",
      "label": "masks.mask2.project",
      "op": "Linear",
      "kind": "layer",
      "parent": "masks.mask2",
      "params": {
        "in_features": 8,
        "out_features": 2
      },
      "source": {
        "line": 121,
        "endLine": 121
      }
    },
    {
      "id": "quality.first",
      "label": "quality.first",
      "op": "Linear",
      "kind": "layer",
      "parent": "quality",
      "params": {
        "in_features": 8,
        "out_features": 8
      },
      "source": {
        "line": 149,
        "endLine": 149
      }
    },
    {
      "id": "relu@quality#0",
      "label": "relu@quality#0",
      "op": "ReLU",
      "kind": "layer",
      "parent": "quality",
      "params": {},
      "source": {
        "line": 154,
        "endLine": 154
      }
    },
    {
      "id": "quality.second",
      "label": "quality.second",
      "op": "Linear",
      "kind": "layer",
      "parent": "quality",
      "params": {
        "in_features": 8,
        "out_features": 8
      },
      "source": {
        "line": 150,
        "endLine": 150
      }
    },
    {
      "id": "relu@quality#1",
      "label": "relu@quality#1",
      "op": "ReLU",
      "kind": "layer",
      "parent": "quality",
      "params": {},
      "source": {
        "line": 154,
        "endLine": 154
      }
    },
    {
      "id": "quality.scores",
      "label": "quality.scores",
      "op": "Linear",
      "kind": "layer",
      "parent": "quality",
      "params": {
        "in_features": 8,
        "out_features": 3
      },
      "source": {
        "line": 151,
        "endLine": 151
      }
    }
  ],
  "connections": [
    {
      "id": "edge-1",
      "source": "cat@prompt_encoder.position#0",
      "target": "add@prompt_encoder#0",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-2",
      "source": "prompt_encoder.position",
      "target": "add@prompt_encoder#0",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-3",
      "source": "prompt_encoder.type_embedding",
      "target": "add@prompt_encoder#0",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-4",
      "source": "decoder.first.self_attention.query",
      "target": "div@decoder.first.self_attention#0",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-5",
      "source": "decoder.first.self_attention.key",
      "target": "div@decoder.first.self_attention#0",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-6",
      "source": "div@decoder.first.self_attention#0",
      "target": "decoder.first.self_attention.softmax",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-7",
      "source": "decoder.first.self_attention.softmax",
      "target": "decoder.first.self_attention.project",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-8",
      "source": "decoder.first.self_attention.value",
      "target": "decoder.first.self_attention.project",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-9",
      "source": "decoder.first.token_to_image.query",
      "target": "div@decoder.first.token_to_image#0",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-10",
      "source": "decoder.first.token_to_image.key",
      "target": "div@decoder.first.token_to_image#0",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-11",
      "source": "div@decoder.first.token_to_image#0",
      "target": "decoder.first.token_to_image.softmax",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-12",
      "source": "decoder.first.token_to_image.softmax",
      "target": "decoder.first.token_to_image.project",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-13",
      "source": "decoder.first.token_to_image.value",
      "target": "decoder.first.token_to_image.project",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-14",
      "source": "decoder.first.image_to_token.query",
      "target": "div@decoder.first.image_to_token#0",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-15",
      "source": "decoder.first.image_to_token.key",
      "target": "div@decoder.first.image_to_token#0",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-16",
      "source": "div@decoder.first.image_to_token#0",
      "target": "decoder.first.image_to_token.softmax",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-17",
      "source": "decoder.first.image_to_token.softmax",
      "target": "decoder.first.image_to_token.project",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-18",
      "source": "decoder.first.image_to_token.value",
      "target": "decoder.first.image_to_token.project",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-19",
      "source": "decoder.first.self_attention.project",
      "target": "add@decoder.first#0",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-20",
      "source": "decoder.first.self_attention",
      "target": "add@decoder.first#0",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-21",
      "source": "add@decoder.first#0",
      "target": "decoder.first.self_norm",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-22",
      "source": "decoder.first.self_norm",
      "target": "add@decoder.first#1",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-23",
      "source": "add@decoder.first#1",
      "target": "decoder.first.token_to_image.query",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-24",
      "source": "add@decoder.first#1",
      "target": "decoder.first.token_to_image.key",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-25",
      "source": "add@decoder.first#1",
      "target": "decoder.first.token_to_image.value",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-26",
      "source": "add@decoder.first#1",
      "target": "decoder.first.token_to_image",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-27",
      "source": "decoder.first.self_norm",
      "target": "add@decoder.first#2",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-28",
      "source": "decoder.first.token_to_image.project",
      "target": "add@decoder.first#2",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-29",
      "source": "decoder.first.token_to_image",
      "target": "add@decoder.first#2",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-30",
      "source": "add@decoder.first#2",
      "target": "decoder.first.token_norm",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-31",
      "source": "decoder.first.token_norm",
      "target": "decoder.first.up",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-32",
      "source": "decoder.first.up",
      "target": "decoder.first.relu",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-33",
      "source": "decoder.first.relu",
      "target": "decoder.first.down",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-34",
      "source": "decoder.first.token_norm",
      "target": "add@decoder.first#3",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-35",
      "source": "decoder.first.down",
      "target": "add@decoder.first#3",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-36",
      "source": "add@decoder.first#3",
      "target": "decoder.first.mlp_norm",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-37",
      "source": "decoder.first.mlp_norm",
      "target": "add@decoder.first#4",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-38",
      "source": "add@decoder.first#4",
      "target": "decoder.first.image_to_token.query",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-39",
      "source": "add@decoder.first#4",
      "target": "decoder.first.image_to_token.key",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-40",
      "source": "add@decoder.first#4",
      "target": "decoder.first.image_to_token.value",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-41",
      "source": "add@decoder.first#4",
      "target": "decoder.first.image_to_token",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-42",
      "source": "decoder.first.mlp_norm",
      "target": "decoder.first.image_to_token.query",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-43",
      "source": "decoder.first.mlp_norm",
      "target": "decoder.first.image_to_token.key",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-44",
      "source": "decoder.first.mlp_norm",
      "target": "decoder.first.image_to_token.value",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-45",
      "source": "decoder.first.mlp_norm",
      "target": "decoder.first.image_to_token",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-46",
      "source": "decoder.first.image_to_token.project",
      "target": "add@decoder.first#5",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-47",
      "source": "decoder.first.image_to_token",
      "target": "add@decoder.first#5",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-48",
      "source": "add@decoder.first#5",
      "target": "decoder.first.image_norm",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-49",
      "source": "decoder.second.self_attention.query",
      "target": "div@decoder.second.self_attention#0",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-50",
      "source": "decoder.second.self_attention.key",
      "target": "div@decoder.second.self_attention#0",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-51",
      "source": "div@decoder.second.self_attention#0",
      "target": "decoder.second.self_attention.softmax",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-52",
      "source": "decoder.second.self_attention.softmax",
      "target": "decoder.second.self_attention.project",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-53",
      "source": "decoder.second.self_attention.value",
      "target": "decoder.second.self_attention.project",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-54",
      "source": "decoder.second.token_to_image.query",
      "target": "div@decoder.second.token_to_image#0",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-55",
      "source": "decoder.second.token_to_image.key",
      "target": "div@decoder.second.token_to_image#0",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-56",
      "source": "div@decoder.second.token_to_image#0",
      "target": "decoder.second.token_to_image.softmax",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-57",
      "source": "decoder.second.token_to_image.softmax",
      "target": "decoder.second.token_to_image.project",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-58",
      "source": "decoder.second.token_to_image.value",
      "target": "decoder.second.token_to_image.project",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-59",
      "source": "decoder.second.image_to_token.query",
      "target": "div@decoder.second.image_to_token#0",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-60",
      "source": "decoder.second.image_to_token.key",
      "target": "div@decoder.second.image_to_token#0",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-61",
      "source": "div@decoder.second.image_to_token#0",
      "target": "decoder.second.image_to_token.softmax",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-62",
      "source": "decoder.second.image_to_token.softmax",
      "target": "decoder.second.image_to_token.project",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-63",
      "source": "decoder.second.image_to_token.value",
      "target": "decoder.second.image_to_token.project",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-64",
      "source": "decoder.second.self_attention.project",
      "target": "add@decoder.second#0",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-65",
      "source": "decoder.second.self_attention",
      "target": "add@decoder.second#0",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-66",
      "source": "add@decoder.second#0",
      "target": "decoder.second.self_norm",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-67",
      "source": "decoder.second.self_norm",
      "target": "add@decoder.second#1",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-68",
      "source": "add@decoder.second#1",
      "target": "decoder.second.token_to_image.query",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-69",
      "source": "add@decoder.second#1",
      "target": "decoder.second.token_to_image.key",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-70",
      "source": "add@decoder.second#1",
      "target": "decoder.second.token_to_image.value",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-71",
      "source": "add@decoder.second#1",
      "target": "decoder.second.token_to_image",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-72",
      "source": "decoder.second.self_norm",
      "target": "add@decoder.second#2",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-73",
      "source": "decoder.second.token_to_image.project",
      "target": "add@decoder.second#2",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-74",
      "source": "decoder.second.token_to_image",
      "target": "add@decoder.second#2",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-75",
      "source": "add@decoder.second#2",
      "target": "decoder.second.token_norm",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-76",
      "source": "decoder.second.token_norm",
      "target": "decoder.second.up",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-77",
      "source": "decoder.second.up",
      "target": "decoder.second.relu",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-78",
      "source": "decoder.second.relu",
      "target": "decoder.second.down",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-79",
      "source": "decoder.second.token_norm",
      "target": "add@decoder.second#3",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-80",
      "source": "decoder.second.down",
      "target": "add@decoder.second#3",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-81",
      "source": "add@decoder.second#3",
      "target": "decoder.second.mlp_norm",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-82",
      "source": "decoder.second.mlp_norm",
      "target": "add@decoder.second#4",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-83",
      "source": "add@decoder.second#4",
      "target": "decoder.second.image_to_token.query",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-84",
      "source": "add@decoder.second#4",
      "target": "decoder.second.image_to_token.key",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-85",
      "source": "add@decoder.second#4",
      "target": "decoder.second.image_to_token.value",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-86",
      "source": "add@decoder.second#4",
      "target": "decoder.second.image_to_token",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-87",
      "source": "decoder.second.mlp_norm",
      "target": "decoder.second.image_to_token.query",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-88",
      "source": "decoder.second.mlp_norm",
      "target": "decoder.second.image_to_token.key",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-89",
      "source": "decoder.second.mlp_norm",
      "target": "decoder.second.image_to_token.value",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-90",
      "source": "decoder.second.mlp_norm",
      "target": "decoder.second.image_to_token",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-91",
      "source": "decoder.second.image_to_token.project",
      "target": "add@decoder.second#5",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-92",
      "source": "decoder.second.image_to_token",
      "target": "add@decoder.second#5",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-93",
      "source": "add@decoder.second#5",
      "target": "decoder.second.image_norm",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-94",
      "source": "decoder.final_attention.query",
      "target": "div@decoder.final_attention#0",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-95",
      "source": "decoder.final_attention.key",
      "target": "div@decoder.final_attention#0",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-96",
      "source": "div@decoder.final_attention#0",
      "target": "decoder.final_attention.softmax",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-97",
      "source": "decoder.final_attention.softmax",
      "target": "decoder.final_attention.project",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-98",
      "source": "decoder.final_attention.value",
      "target": "decoder.final_attention.project",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-99",
      "source": "decoder.first.mlp_norm",
      "target": "decoder.second.self_attention.query",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-100",
      "source": "decoder.first.mlp_norm",
      "target": "decoder.second.self_attention.key",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-101",
      "source": "decoder.first.mlp_norm",
      "target": "decoder.second.self_attention.value",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-102",
      "source": "decoder.first.mlp_norm",
      "target": "add@decoder.second#0",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-103",
      "source": "decoder.first.mlp_norm",
      "target": "add@decoder.second#1",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-104",
      "source": "decoder.first.mlp_norm",
      "target": "decoder.second.token_to_image.query",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-105",
      "source": "decoder.first.mlp_norm",
      "target": "decoder.second.token_to_image.key",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-106",
      "source": "decoder.first.mlp_norm",
      "target": "decoder.second.token_to_image.value",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-107",
      "source": "decoder.first.mlp_norm",
      "target": "add@decoder.second#4",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-108",
      "source": "decoder.first.mlp_norm",
      "target": "decoder.second.image_to_token.query",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-109",
      "source": "decoder.first.mlp_norm",
      "target": "decoder.second.image_to_token.key",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-110",
      "source": "decoder.first.mlp_norm",
      "target": "decoder.second.image_to_token.value",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-111",
      "source": "decoder.first.mlp_norm",
      "target": "add@decoder.second#5",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-112",
      "source": "decoder.first.image_norm",
      "target": "decoder.second.self_attention.query",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-113",
      "source": "decoder.first.image_norm",
      "target": "decoder.second.self_attention.key",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-114",
      "source": "decoder.first.image_norm",
      "target": "decoder.second.self_attention.value",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-115",
      "source": "decoder.first.image_norm",
      "target": "add@decoder.second#0",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-116",
      "source": "decoder.first.image_norm",
      "target": "add@decoder.second#1",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-117",
      "source": "decoder.first.image_norm",
      "target": "decoder.second.token_to_image.query",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-118",
      "source": "decoder.first.image_norm",
      "target": "decoder.second.token_to_image.key",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-119",
      "source": "decoder.first.image_norm",
      "target": "decoder.second.token_to_image.value",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-120",
      "source": "decoder.first.image_norm",
      "target": "add@decoder.second#4",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-121",
      "source": "decoder.first.image_norm",
      "target": "decoder.second.image_to_token.query",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-122",
      "source": "decoder.first.image_norm",
      "target": "decoder.second.image_to_token.key",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-123",
      "source": "decoder.first.image_norm",
      "target": "decoder.second.image_to_token.value",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-124",
      "source": "decoder.first.image_norm",
      "target": "add@decoder.second#5",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-125",
      "source": "decoder.first",
      "target": "decoder.second",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-126",
      "source": "decoder.second.mlp_norm",
      "target": "add@decoder#1",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-127",
      "source": "decoder.second.image_norm",
      "target": "add@decoder#1",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-128",
      "source": "decoder.second",
      "target": "add@decoder#1",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-129",
      "source": "decoder.second.mlp_norm",
      "target": "add@decoder#0",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-130",
      "source": "decoder.second.image_norm",
      "target": "add@decoder#0",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-131",
      "source": "decoder.second",
      "target": "add@decoder#0",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-132",
      "source": "add@decoder#1",
      "target": "decoder.final_attention.query",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-133",
      "source": "add@decoder#1",
      "target": "decoder.final_attention.key",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-134",
      "source": "add@decoder#1",
      "target": "decoder.final_attention.value",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-135",
      "source": "add@decoder#1",
      "target": "decoder.final_attention",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-136",
      "source": "add@decoder#0",
      "target": "decoder.final_attention.query",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-137",
      "source": "add@decoder#0",
      "target": "decoder.final_attention.key",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-138",
      "source": "add@decoder#0",
      "target": "decoder.final_attention.value",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-139",
      "source": "add@decoder#0",
      "target": "decoder.final_attention",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-140",
      "source": "decoder.second.mlp_norm",
      "target": "decoder.final_attention.query",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-141",
      "source": "decoder.second.mlp_norm",
      "target": "decoder.final_attention.key",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-142",
      "source": "decoder.second.mlp_norm",
      "target": "decoder.final_attention.value",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-143",
      "source": "decoder.second.image_norm",
      "target": "decoder.final_attention.query",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-144",
      "source": "decoder.second.image_norm",
      "target": "decoder.final_attention.key",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-145",
      "source": "decoder.second.image_norm",
      "target": "decoder.final_attention.value",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-146",
      "source": "decoder.second",
      "target": "decoder.final_attention",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-147",
      "source": "decoder.second.mlp_norm",
      "target": "add@decoder#2",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-148",
      "source": "decoder.second.image_norm",
      "target": "add@decoder#2",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-149",
      "source": "decoder.second",
      "target": "add@decoder#2",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-150",
      "source": "decoder.final_attention.project",
      "target": "add@decoder#2",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-151",
      "source": "decoder.final_attention",
      "target": "add@decoder#2",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-152",
      "source": "add@decoder#2",
      "target": "decoder.final_norm",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-153",
      "source": "upscale.first",
      "target": "permute@upscale#0",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-154",
      "source": "permute@upscale#0",
      "target": "upscale.norm",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-155",
      "source": "upscale.norm",
      "target": "permute@upscale#1",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-156",
      "source": "permute@upscale#1",
      "target": "gelu@upscale#0",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-157",
      "source": "gelu@upscale#0",
      "target": "upscale.second",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-158",
      "source": "upscale.second",
      "target": "gelu@upscale#1",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-159",
      "source": "masks.mask0.first",
      "target": "relu@masks.mask0#0",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-160",
      "source": "relu@masks.mask0#0",
      "target": "masks.mask0.second",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-161",
      "source": "masks.mask0.second",
      "target": "relu@masks.mask0#1",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-162",
      "source": "relu@masks.mask0#1",
      "target": "masks.mask0.project",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-163",
      "source": "masks.mask1.first",
      "target": "relu@masks.mask1#0",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-164",
      "source": "relu@masks.mask1#0",
      "target": "masks.mask1.second",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-165",
      "source": "masks.mask1.second",
      "target": "relu@masks.mask1#1",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-166",
      "source": "relu@masks.mask1#1",
      "target": "masks.mask1.project",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-167",
      "source": "masks.mask2.first",
      "target": "relu@masks.mask2#0",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-168",
      "source": "relu@masks.mask2#0",
      "target": "masks.mask2.second",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-169",
      "source": "masks.mask2.second",
      "target": "relu@masks.mask2#1",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-170",
      "source": "relu@masks.mask2#1",
      "target": "masks.mask2.project",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-171",
      "source": "masks.mask0.project",
      "target": "stack@masks#0",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-172",
      "source": "masks.mask0",
      "target": "stack@masks#0",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-173",
      "source": "masks.mask1.project",
      "target": "stack@masks#0",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-174",
      "source": "masks.mask1",
      "target": "stack@masks#0",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-175",
      "source": "masks.mask2.project",
      "target": "stack@masks#0",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-176",
      "source": "masks.mask2",
      "target": "stack@masks#0",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-177",
      "source": "stack@masks#0",
      "target": "python@masks#0",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-178",
      "source": "flatten@masks#0",
      "target": "python@masks#0",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-179",
      "source": "quality.first",
      "target": "relu@quality#0",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-180",
      "source": "relu@quality#0",
      "target": "quality.second",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-181",
      "source": "quality.second",
      "target": "relu@quality#1",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-182",
      "source": "relu@quality#1",
      "target": "quality.scores",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-183",
      "source": "input",
      "target": "cat@prompt_encoder.position#0",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-184",
      "source": "input",
      "target": "prompt_encoder.type_embedding",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-185",
      "source": "input",
      "target": "prompt_encoder",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-186",
      "source": "output_tokens",
      "target": "cat@PromptableMaskDecoder#0",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-187",
      "source": "input",
      "target": "cat@PromptableMaskDecoder#0",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-188",
      "source": "add@prompt_encoder#0",
      "target": "cat@PromptableMaskDecoder#0",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-189",
      "source": "prompt_encoder",
      "target": "cat@PromptableMaskDecoder#0",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-190",
      "source": "input",
      "target": "flatten@PromptableMaskDecoder#0",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-191",
      "source": "flatten@PromptableMaskDecoder#0",
      "target": "add@PromptableMaskDecoder#0",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-192",
      "source": "no_mask",
      "target": "add@PromptableMaskDecoder#0",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-193",
      "source": "add@prompt_encoder#0",
      "target": "python@PromptableMaskDecoder#0",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-194",
      "source": "prompt_encoder",
      "target": "python@PromptableMaskDecoder#0",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-195",
      "source": "cat@PromptableMaskDecoder#0",
      "target": "decoder.first.self_attention.query",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-196",
      "source": "cat@PromptableMaskDecoder#0",
      "target": "decoder.first.self_attention.key",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-197",
      "source": "cat@PromptableMaskDecoder#0",
      "target": "decoder.first.self_attention.value",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-198",
      "source": "cat@PromptableMaskDecoder#0",
      "target": "add@decoder.first#0",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-199",
      "source": "cat@PromptableMaskDecoder#0",
      "target": "add@decoder.first#1",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-200",
      "source": "cat@PromptableMaskDecoder#0",
      "target": "decoder.first.token_to_image.query",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-201",
      "source": "cat@PromptableMaskDecoder#0",
      "target": "decoder.first.token_to_image.key",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-202",
      "source": "cat@PromptableMaskDecoder#0",
      "target": "decoder.first.token_to_image.value",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-203",
      "source": "cat@PromptableMaskDecoder#0",
      "target": "add@decoder.first#4",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-204",
      "source": "cat@PromptableMaskDecoder#0",
      "target": "decoder.first.image_to_token.query",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-205",
      "source": "cat@PromptableMaskDecoder#0",
      "target": "decoder.first.image_to_token.key",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-206",
      "source": "cat@PromptableMaskDecoder#0",
      "target": "decoder.first.image_to_token.value",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-207",
      "source": "cat@PromptableMaskDecoder#0",
      "target": "add@decoder.first#5",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-208",
      "source": "cat@PromptableMaskDecoder#0",
      "target": "decoder.second.self_attention.query",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-209",
      "source": "cat@PromptableMaskDecoder#0",
      "target": "decoder.second.self_attention.key",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-210",
      "source": "cat@PromptableMaskDecoder#0",
      "target": "decoder.second.self_attention.value",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-211",
      "source": "cat@PromptableMaskDecoder#0",
      "target": "add@decoder.second#0",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-212",
      "source": "cat@PromptableMaskDecoder#0",
      "target": "add@decoder.second#1",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-213",
      "source": "cat@PromptableMaskDecoder#0",
      "target": "decoder.second.token_to_image.query",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-214",
      "source": "cat@PromptableMaskDecoder#0",
      "target": "decoder.second.token_to_image.key",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-215",
      "source": "cat@PromptableMaskDecoder#0",
      "target": "decoder.second.token_to_image.value",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-216",
      "source": "cat@PromptableMaskDecoder#0",
      "target": "add@decoder.second#4",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-217",
      "source": "cat@PromptableMaskDecoder#0",
      "target": "decoder.second.image_to_token.query",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-218",
      "source": "cat@PromptableMaskDecoder#0",
      "target": "decoder.second.image_to_token.key",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-219",
      "source": "cat@PromptableMaskDecoder#0",
      "target": "decoder.second.image_to_token.value",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-220",
      "source": "cat@PromptableMaskDecoder#0",
      "target": "add@decoder.second#5",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-221",
      "source": "cat@PromptableMaskDecoder#0",
      "target": "add@decoder#1",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-222",
      "source": "cat@PromptableMaskDecoder#0",
      "target": "add@decoder#0",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-223",
      "source": "cat@PromptableMaskDecoder#0",
      "target": "decoder",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-224",
      "source": "add@PromptableMaskDecoder#0",
      "target": "decoder.first.self_attention.query",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-225",
      "source": "add@PromptableMaskDecoder#0",
      "target": "decoder.first.self_attention.key",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-226",
      "source": "add@PromptableMaskDecoder#0",
      "target": "decoder.first.self_attention.value",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-227",
      "source": "add@PromptableMaskDecoder#0",
      "target": "add@decoder.first#0",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-228",
      "source": "add@PromptableMaskDecoder#0",
      "target": "add@decoder.first#1",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-229",
      "source": "add@PromptableMaskDecoder#0",
      "target": "decoder.first.token_to_image.query",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-230",
      "source": "add@PromptableMaskDecoder#0",
      "target": "decoder.first.token_to_image.key",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-231",
      "source": "add@PromptableMaskDecoder#0",
      "target": "decoder.first.token_to_image.value",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-232",
      "source": "add@PromptableMaskDecoder#0",
      "target": "add@decoder.first#4",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-233",
      "source": "add@PromptableMaskDecoder#0",
      "target": "decoder.first.image_to_token.query",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-234",
      "source": "add@PromptableMaskDecoder#0",
      "target": "decoder.first.image_to_token.key",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-235",
      "source": "add@PromptableMaskDecoder#0",
      "target": "decoder.first.image_to_token.value",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-236",
      "source": "add@PromptableMaskDecoder#0",
      "target": "add@decoder.first#5",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-237",
      "source": "add@PromptableMaskDecoder#0",
      "target": "decoder.second.self_attention.query",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-238",
      "source": "add@PromptableMaskDecoder#0",
      "target": "decoder.second.self_attention.key",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-239",
      "source": "add@PromptableMaskDecoder#0",
      "target": "decoder.second.self_attention.value",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-240",
      "source": "add@PromptableMaskDecoder#0",
      "target": "add@decoder.second#0",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-241",
      "source": "add@PromptableMaskDecoder#0",
      "target": "add@decoder.second#1",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-242",
      "source": "add@PromptableMaskDecoder#0",
      "target": "decoder.second.token_to_image.query",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-243",
      "source": "add@PromptableMaskDecoder#0",
      "target": "decoder.second.token_to_image.key",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-244",
      "source": "add@PromptableMaskDecoder#0",
      "target": "decoder.second.token_to_image.value",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-245",
      "source": "add@PromptableMaskDecoder#0",
      "target": "add@decoder.second#4",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-246",
      "source": "add@PromptableMaskDecoder#0",
      "target": "decoder.second.image_to_token.query",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-247",
      "source": "add@PromptableMaskDecoder#0",
      "target": "decoder.second.image_to_token.key",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-248",
      "source": "add@PromptableMaskDecoder#0",
      "target": "decoder.second.image_to_token.value",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-249",
      "source": "add@PromptableMaskDecoder#0",
      "target": "add@decoder.second#5",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-250",
      "source": "add@PromptableMaskDecoder#0",
      "target": "add@decoder#1",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-251",
      "source": "add@PromptableMaskDecoder#0",
      "target": "add@decoder#0",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-252",
      "source": "add@PromptableMaskDecoder#0",
      "target": "decoder",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-253",
      "source": "python@PromptableMaskDecoder#0",
      "target": "decoder.first.self_attention.query",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-254",
      "source": "python@PromptableMaskDecoder#0",
      "target": "decoder.first.self_attention.key",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-255",
      "source": "python@PromptableMaskDecoder#0",
      "target": "decoder.first.self_attention.value",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-256",
      "source": "python@PromptableMaskDecoder#0",
      "target": "add@decoder.first#0",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-257",
      "source": "python@PromptableMaskDecoder#0",
      "target": "add@decoder.first#1",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-258",
      "source": "python@PromptableMaskDecoder#0",
      "target": "decoder.first.token_to_image.query",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-259",
      "source": "python@PromptableMaskDecoder#0",
      "target": "decoder.first.token_to_image.key",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-260",
      "source": "python@PromptableMaskDecoder#0",
      "target": "decoder.first.token_to_image.value",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-261",
      "source": "python@PromptableMaskDecoder#0",
      "target": "add@decoder.first#4",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-262",
      "source": "python@PromptableMaskDecoder#0",
      "target": "decoder.first.image_to_token.query",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-263",
      "source": "python@PromptableMaskDecoder#0",
      "target": "decoder.first.image_to_token.key",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-264",
      "source": "python@PromptableMaskDecoder#0",
      "target": "decoder.first.image_to_token.value",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-265",
      "source": "python@PromptableMaskDecoder#0",
      "target": "add@decoder.first#5",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-266",
      "source": "python@PromptableMaskDecoder#0",
      "target": "decoder.second.self_attention.query",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-267",
      "source": "python@PromptableMaskDecoder#0",
      "target": "decoder.second.self_attention.key",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-268",
      "source": "python@PromptableMaskDecoder#0",
      "target": "decoder.second.self_attention.value",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-269",
      "source": "python@PromptableMaskDecoder#0",
      "target": "add@decoder.second#0",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-270",
      "source": "python@PromptableMaskDecoder#0",
      "target": "add@decoder.second#1",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-271",
      "source": "python@PromptableMaskDecoder#0",
      "target": "decoder.second.token_to_image.query",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-272",
      "source": "python@PromptableMaskDecoder#0",
      "target": "decoder.second.token_to_image.key",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-273",
      "source": "python@PromptableMaskDecoder#0",
      "target": "decoder.second.token_to_image.value",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-274",
      "source": "python@PromptableMaskDecoder#0",
      "target": "add@decoder.second#4",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-275",
      "source": "python@PromptableMaskDecoder#0",
      "target": "decoder.second.image_to_token.query",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-276",
      "source": "python@PromptableMaskDecoder#0",
      "target": "decoder.second.image_to_token.key",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-277",
      "source": "python@PromptableMaskDecoder#0",
      "target": "decoder.second.image_to_token.value",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-278",
      "source": "python@PromptableMaskDecoder#0",
      "target": "add@decoder.second#5",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-279",
      "source": "python@PromptableMaskDecoder#0",
      "target": "add@decoder#1",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-280",
      "source": "python@PromptableMaskDecoder#0",
      "target": "add@decoder#0",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-281",
      "source": "python@PromptableMaskDecoder#0",
      "target": "decoder",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-282",
      "source": "decoder.final_norm",
      "target": "upscale.first",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-283",
      "source": "decoder.second.mlp_norm",
      "target": "upscale.first",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-284",
      "source": "decoder.second.image_norm",
      "target": "upscale.first",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-285",
      "source": "decoder",
      "target": "upscale",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-286",
      "source": "decoder.final_norm",
      "target": "masks.mask0.first",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-287",
      "source": "decoder.final_norm",
      "target": "masks.mask1.first",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-288",
      "source": "decoder.final_norm",
      "target": "masks.mask2.first",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-289",
      "source": "decoder.final_norm",
      "target": "flatten@masks#0",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-290",
      "source": "decoder.second.mlp_norm",
      "target": "masks.mask0.first",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-291",
      "source": "decoder.second.mlp_norm",
      "target": "masks.mask1.first",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-292",
      "source": "decoder.second.mlp_norm",
      "target": "masks.mask2.first",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-293",
      "source": "decoder.second.mlp_norm",
      "target": "flatten@masks#0",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-294",
      "source": "decoder.second.image_norm",
      "target": "masks.mask0.first",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-295",
      "source": "decoder.second.image_norm",
      "target": "masks.mask1.first",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-296",
      "source": "decoder.second.image_norm",
      "target": "masks.mask2.first",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-297",
      "source": "decoder.second.image_norm",
      "target": "flatten@masks#0",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-298",
      "source": "decoder",
      "target": "masks",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-299",
      "source": "gelu@upscale#1",
      "target": "masks.mask0.first",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-300",
      "source": "gelu@upscale#1",
      "target": "masks.mask1.first",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-301",
      "source": "gelu@upscale#1",
      "target": "masks.mask2.first",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-302",
      "source": "gelu@upscale#1",
      "target": "flatten@masks#0",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-303",
      "source": "upscale",
      "target": "masks",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-304",
      "source": "decoder.final_norm",
      "target": "quality.first",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-305",
      "source": "decoder.second.mlp_norm",
      "target": "quality.first",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-306",
      "source": "decoder.second.image_norm",
      "target": "quality.first",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-307",
      "source": "decoder",
      "target": "quality",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-308",
      "source": "python@masks#0",
      "target": "flatten@PromptableMaskDecoder#1",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-309",
      "source": "masks",
      "target": "flatten@PromptableMaskDecoder#1",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-310",
      "source": "flatten@PromptableMaskDecoder#1",
      "target": "cat@PromptableMaskDecoder#1",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-311",
      "source": "quality.scores",
      "target": "cat@PromptableMaskDecoder#1",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-312",
      "source": "quality",
      "target": "cat@PromptableMaskDecoder#1",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-313",
      "source": "cat@PromptableMaskDecoder#1",
      "target": "output",
      "sourcePort": null,
      "targetPort": null
    }
  ],
  "steps": [
    {
      "id": "prompt",
      "target": "prompt_encoder.type_embedding",
      "title": "Combine prompt geometry with its meaning",
      "note": "Random Fourier features encode normalized (x,y) coordinates. A learned type embedding distinguishes foreground/background points and the two box corners. The same image features are reused when a prompt changes."
    },
    {
      "id": "tokens",
      "target": "decoder.first.token_to_image",
      "title": "Let prompt and output tokens read image features",
      "note": "Three mask tokens, one quality token and the sparse prompts pass through self-attention, token-to-image attention and an MLP. Prompt and image positions are added to attention queries and keys."
    },
    {
      "id": "image",
      "target": "decoder.first.image_to_token",
      "title": "Update image features with prompt information",
      "note": "Attention also runs in the reverse direction: image locations query the updated tokens. A second two-way block repeats this exchange, followed by a final token-to-image read. Both representation streams can now depend on the prompt."
    },
    {
      "id": "masks",
      "target": "masks.mask0.project",
      "title": "Use mask tokens as dynamic pixel classifiers",
      "note": "Each mask token passes through its own MLP to produce two feature weights. A dot product with every upscaled image location creates one candidate mask logit. A separate quality head scores the three candidates; none of these random outputs is a trained segmentation result."
    }
  ],
  "milestone": {
    "name": "Segment Anything · promptable decoder",
    "year": 2023,
    "kind": "Component",
    "fidelity": "Width eight, two two-way blocks with one attention head, three mask tokens and one quality token. Random Fourier coordinate features plus point/box type embeddings. Two transposed convolutions upscale a 2 × 2 image embedding to 8 × 8 mask features.",
    "papers": [
      {
        "title": "Segment Anything",
        "url": "https://arxiv.org/abs/2304.02643"
      }
    ]
  },
  "experiment": {
    "kind": "matrices",
    "title": "Reuse the image; change the prompt.",
    "description": "Recorded prompt-to-mask computation from cached synthetic image features. Explore point location, prompt type and a box while the two-way decoder updates image and token features.",
    "controlLabel": "Segmentation prompt",
    "cases": [
      {
        "id": "points",
        "label": "Foreground + background points",
        "target": "prompt_encoder.type_embedding",
        "note": "The same cached 2 × 2 image embedding is reused for each prompt. Coordinates are normalized (x,y) in [0,1]. Type IDs are 0 = background, 1 = foreground, 2 = top-left box corner, 3 = bottom-right. Three mask logits express the multi-mask interface; these untrained outputs do not segment a real object and quality scores are not calibrated IoUs.",
        "matrices": [
          {
            "label": "Candidate 1 · mask logits",
            "values": [
              [
                0.08098679913165055,
                -0.005838083167316226,
                0.07063712119657557,
                -0.001284980490123819,
                -0.002424238874847102,
                0.045513075403544344,
                0.013761522381180082,
                0.061024551322869186
              ],
              [
                0.12263730365794653,
                0.025385730542043423,
                0.08357136836491912,
                0.048107847491274086,
                0.07269710629562388,
                0.01616772678650197,
                0.08023548179568549,
                0.003486905182956408
              ],
              [
                0.016226885362688806,
                0.053655445490188886,
                0.014849274625457091,
                0.003523421208497987,
                -0.012129199247292053,
                0.004863235614241405,
                0.10393273494912302,
                -0.006139820352728196
              ],
              [
                0.05469153696274688,
                0.02535431972038923,
                0.07575751190725871,
                0.04806029741108182,
                0.059135887138483306,
                0.06118248975152672,
                0.1300542064962185,
                0.02120816042164226
              ],
              [
                0.05908956120080295,
                -0.0005823370223078333,
                0.0705233751785966,
                -0.005872781173809721,
                0.032046115086304124,
                -0.0017034766316091686,
                0.024371584924116358,
                0.06231566533368841
              ],
              [
                0.10098998937299028,
                0.033573374898908104,
                0.11827048562645487,
                0.0282156693015281,
                0.09264192628940288,
                0.04094273687468716,
                0.08509010768635909,
                0.0003713153423974925
              ],
              [
                0.022378646707228035,
                0.014843810415984423,
                0.006470452620553114,
                0.008071856650141292,
                0.01645807187860608,
                0.03088117444393799,
                0.010361673624542286,
                -0.000546743078004723
              ],
              [
                0.021479614013632735,
                0.09486705974432492,
                0.0568970344226771,
                0.059859682859569094,
                0.03509149991112538,
                0.06093580159317687,
                0.07947882783221216,
                0.04989987856687473
              ]
            ]
          },
          {
            "label": "Candidate 2 · mask logits",
            "values": [
              [
                -0.10136377340241084,
                -0.016230393487613095,
                -0.09132051960733184,
                -0.016585398459828996,
                0.0004579814342304774,
                -0.0727743330618845,
                -0.02307370500007136,
                -0.08952769670064349
              ],
              [
                -0.18301312531515235,
                -0.039764320605063144,
                -0.11878802413218716,
                -0.0635520737644157,
                -0.10861015638133091,
                -0.020198591463255134,
                -0.11567833923381561,
                -0.0019320548676481186
              ],
              [
                -0.029134260081880307,
                -0.07801888543959741,
                -0.01701542871834716,
                -0.025607946719521366,
                0.018515842771617174,
                -0.02848586279366714,
                -0.13139494965045806,
                -0.015014360228033844
              ],
              [
                -0.07398683668777471,
                -0.02796274190234071,
                -0.11720737539271134,
                -0.06851040176014345,
                -0.09769287049647406,
                -0.08789784831841334,
                -0.19184588483750245,
                -0.034016280691784875
              ],
              [
                -0.07423393606214145,
                -0.020398189303758005,
                -0.08769383816137317,
                -0.016548303479177674,
                -0.03836475331643968,
                -0.020823065166345963,
                -0.037409608053616976,
                -0.0905621508433296
              ],
              [
                -0.15034553290998312,
                -0.048862263565368526,
                -0.17744686255299236,
                -0.043515867139630945,
                -0.14184583549797472,
                -0.059837741222607724,
                -0.12104840610817028,
                0.0027251144797966953
              ],
              [
                -0.03600663590076566,
                -0.0292004526624181,
                -0.007867596695478967,
                -0.028681191786969495,
                -0.028431383857466446,
                -0.049523843073389376,
                -0.010150840734791472,
                -0.022667794778545046
              ],
              [
                -0.02524788501660664,
                -0.11949802743112692,
                -0.08716371540609857,
                -0.08183896951875215,
                -0.045856389008649634,
                -0.0753785251123925,
                -0.12491957469491075,
                -0.07218465008236381
              ]
            ]
          },
          {
            "label": "Candidate 3 · mask logits",
            "values": [
              [
                0.007400319250212546,
                0.1274781367503821,
                0.02228374359862451,
                0.09883168840609666,
                0.013789620257577032,
                0.09014267482379607,
                0.033071763449396455,
                0.07708818406809399
              ],
              [
                0.1717509124262336,
                0.04578166755556891,
                0.08480756029587276,
                0.022560372686194954,
                0.10248180748600598,
                0.0012757222305557342,
                0.09029783252556653,
                -0.012909182205040016
              ],
              [
                0.049476400156321265,
                0.06398437679760136,
                -0.007182076472487078,
                0.11561046120861615,
                -0.01924531438468727,
                0.12226466823734282,
                0.016631716561290297,
                0.12289092966781696
              ],
              [
                0.0350974152692115,
                -0.018192035477106405,
                0.12868635189538793,
                0.04984631122600079,
                0.13417937174588462,
                0.06716334576995642,
                0.16997962313202003,
                0.04257533225929281
              ],
              [
                0.006905563910633368,
                0.1148493897473243,
                0.0033233772043988106,
                0.12944015853958338,
                -0.006559121824925758,
                0.12468935919696963,
                0.039785892557443324,
                0.0740435045209202
              ],
              [
                0.13945984111401036,
                0.04027656199609883,
                0.17080412836006983,
                0.047180040975426066,
                0.1492959158011781,
                0.050478034640895925,
                0.08690161283259046,
                -0.017314578321167208
              ],
              [
                0.04553956101827288,
                0.05912469180016636,
                -0.0006644114795915898,
                0.10177891122712752,
                0.04410112740697815,
                0.061954626753514916,
                -0.014378855962462158,
                0.1269539403942008
              ],
              [
                -0.006935893421326083,
                0.012810732592496002,
                0.09195041535040878,
                0.04309478085164013,
                0.013733417448822147,
                0.0007318165001537961,
                0.14563912005609775,
                0.05747521485744992
              ]
            ]
          }
        ],
        "vectors": [
          {
            "label": "Prompt coordinates · x₀, y₀, x₁, y₁",
            "values": [
              0.25,
              0.25,
              0.75,
              0.75
            ]
          },
          {
            "label": "Prompt type IDs",
            "values": [
              1,
              0
            ]
          },
          {
            "label": "Predicted quality scores · untrained",
            "values": [
              -0.09329061722099478,
              -0.09946665440873959,
              0.12908435977633292
            ]
          }
        ],
        "metrics": [
          {
            "label": "Image encoder calls per changed prompt",
            "value": 0
          },
          {
            "label": "Candidate masks",
            "value": 3
          }
        ]
      },
      {
        "id": "move",
        "label": "Move the foreground point",
        "target": "prompt_encoder.type_embedding",
        "note": "The same cached 2 × 2 image embedding is reused for each prompt. Coordinates are normalized (x,y) in [0,1]. Type IDs are 0 = background, 1 = foreground, 2 = top-left box corner, 3 = bottom-right. Three mask logits express the multi-mask interface; these untrained outputs do not segment a real object and quality scores are not calibrated IoUs.",
        "matrices": [
          {
            "label": "Candidate 1 · mask logits",
            "values": [
              [
                0.06275956807362652,
                -0.04110915987107775,
                0.05118716104475162,
                -0.02804427084215687,
                -0.007094659055198218,
                0.006842106021733423,
                0.004029267444918,
                0.03458063939833618
              ],
              [
                0.053340149785418116,
                0.009192888390991938,
                0.04536229729858209,
                0.03581137485176314,
                0.02911311029544304,
                0.015906750648802998,
                0.04492647908958831,
                0.0044829440543716305
              ],
              [
                0.0005783528439077116,
                0.03135752473499308,
                0.01072438453438998,
                -0.028865307511446083,
                -0.00453056608923407,
                -0.03129297112111905,
                0.08278539329382108,
                -0.039721566829266794
              ],
              [
                0.039152789819226284,
                0.019185109804575183,
                0.024945899449488725,
                0.028132947021031116,
                0.011959900114848937,
                0.032559507942382965,
                0.06146477250396872,
                0.006229448037790837
              ],
              [
                0.0438396860931971,
                -0.03227882360981866,
                0.07319532842819024,
                -0.04024327129079577,
                0.02743770934177828,
                -0.037337993415876146,
                0.010620583676537561,
                0.028196594311990564
              ],
              [
                0.04367193566384373,
                0.01825030598522454,
                0.05767856623388725,
                0.00706943949388513,
                0.035015014707809815,
                0.02070661231281276,
                0.046534129436754036,
                0.006716148587596592
              ],
              [
                0.00875769241695974,
                -0.005170932781378592,
                0.0028194472220165285,
                -0.02063836560848873,
                0.0027477463815665038,
                0.029595686139544067,
                0.006599296461666282,
                -0.034862427388747536
              ],
              [
                0.021483481682018673,
                0.07426780933622673,
                0.0202154183381342,
                0.0414135418485978,
                0.03969198420223469,
                0.01759810109618791,
                0.021320392922641093,
                0.028274150003229352
              ]
            ]
          },
          {
            "label": "Candidate 2 · mask logits",
            "values": [
              [
                -0.09863305612953964,
                -0.008760078766553657,
                -0.0906230529766489,
                -0.01130769206868811,
                0.006177887019798434,
                -0.06285362023006245,
                -0.02721721752541797,
                -0.09419535214346195
              ],
              [
                -0.17649714569526412,
                -0.03971575774183906,
                -0.11356835613033514,
                -0.06657471807508902,
                -0.10333451534960757,
                -0.028482310328341445,
                -0.11791671646699316,
                0.002615887267391878
              ],
              [
                -0.027653776876258734,
                -0.08440477788613696,
                -0.011714723220817503,
                -0.019986496672710838,
                0.017888054101809,
                -0.020994767039786668,
                -0.13536178075464467,
                -0.007618529613666105
              ],
              [
                -0.08603762675740824,
                -0.0181115882535415,
                -0.10785113903833725,
                -0.07120095242692757,
                -0.09363508949204884,
                -0.08723052829753858,
                -0.18715881856580943,
                -0.03285860821821759
              ],
              [
                -0.06985954148270117,
                -0.014395307010852084,
                -0.11772173803675462,
                -0.008368892525308397,
                -0.03741328080691993,
                -0.013233011727971708,
                -0.037646170283302936,
                -0.08432194369880024
              ],
              [
                -0.14236084633610685,
                -0.05034754978828503,
                -0.18291295811126793,
                -0.03545431963426384,
                -0.13687922020803311,
                -0.06015840969641389,
                -0.11842203214377763,
                -0.0016244741953217027
              ],
              [
                -0.03838092192672614,
                -0.02563074019566744,
                -0.004376259501054832,
                -0.023981047684422524,
                -0.029580260575417128,
                -0.08247295170497485,
                -0.000944737248319212,
                -0.016908597480091176
              ],
              [
                -0.030260291621270627,
                -0.11988657162200535,
                -0.07787955792349618,
                -0.0865268685096622,
                -0.09027395163865755,
                -0.01701752374495276,
                -0.11119976255520041,
                -0.07654887312637564
              ]
            ]
          },
          {
            "label": "Candidate 3 · mask logits",
            "values": [
              [
                -0.0020540089286198385,
                0.1371667820703113,
                0.01716531817209776,
                0.10344407825435202,
                0.009436789808526035,
                0.09622730162668768,
                0.03853117251460447,
                0.0726375648070019
              ],
              [
                0.16980543294933279,
                0.04647692246432969,
                0.07678052031914817,
                0.017883803480176402,
                0.10564279341080839,
                0.005927736986812969,
                0.08611267557425328,
                -0.01803219828385537
              ],
              [
                0.049492492124700284,
                0.06399566365541372,
                -0.00986594148066136,
                0.12192634912210601,
                -0.019785643870893578,
                0.1309354828421551,
                0.0070209444113642225,
                0.13097096846054573
              ],
              [
                0.044083570693908475,
                -0.0229165315004913,
                0.1262647957802113,
                0.049039280369973154,
                0.1381541826290275,
                0.06569041319934157,
                0.16563894220053582,
                0.04250152543772239
              ],
              [
                0.00034427220030480303,
                0.12161875655297717,
                0.0025802803601167094,
                0.13389501630358297,
                -0.01146470032018153,
                0.1343519360525216,
                0.03844508931483402,
                0.07314227568739648
              ],
              [
                0.13505597533437683,
                0.03951068423184216,
                0.16891840607639164,
                0.04483545211061751,
                0.15037814166179098,
                0.05044621104452534,
                0.08231817955709923,
                -0.01675266460206592
              ],
              [
                0.04528622118241788,
                0.06266265301987212,
                -0.00019370388932966854,
                0.10511629925728325,
                0.046676198029888635,
                0.06560297615207956,
                -0.017667231196113752,
                0.1338728618325349
              ],
              [
                -0.007188400085860083,
                0.0034325229061752693,
                0.08469768522544155,
                0.03833778900081292,
                0.0503396783533091,
                -0.020272688662244635,
                0.14313075591608243,
                0.05852418540116836
              ]
            ]
          }
        ],
        "vectors": [
          {
            "label": "Prompt coordinates · x₀, y₀, x₁, y₁",
            "values": [
              0.6,
              0.25,
              0.75,
              0.75
            ]
          },
          {
            "label": "Prompt type IDs",
            "values": [
              1,
              0
            ]
          },
          {
            "label": "Predicted quality scores · untrained",
            "values": [
              -0.08266494259276634,
              -0.10268568305588599,
              0.13795196121355457
            ]
          }
        ],
        "metrics": [
          {
            "label": "Image encoder calls per changed prompt",
            "value": 0
          },
          {
            "label": "Candidate masks",
            "value": 3
          }
        ]
      },
      {
        "id": "type",
        "label": "Mark both points as background",
        "target": "prompt_encoder.type_embedding",
        "note": "The same cached 2 × 2 image embedding is reused for each prompt. Coordinates are normalized (x,y) in [0,1]. Type IDs are 0 = background, 1 = foreground, 2 = top-left box corner, 3 = bottom-right. Three mask logits express the multi-mask interface; these untrained outputs do not segment a real object and quality scores are not calibrated IoUs.",
        "matrices": [
          {
            "label": "Candidate 1 · mask logits",
            "values": [
              [
                0.08353360713684845,
                0.002009776370770226,
                0.07416776088861363,
                0.004341380263261048,
                -0.0006408804594445342,
                0.05380497764378969,
                0.017331202129137448,
                0.06276119387855689
              ],
              [
                0.13527868538649154,
                0.028333161318600905,
                0.09100613746334744,
                0.0499588013444328,
                0.08140616718402939,
                0.014043384139066861,
                0.08695663869763076,
                0.004649399752513548
              ],
              [
                0.019696810435250626,
                0.0619819688045628,
                0.01662402523187531,
                0.010413392277600315,
                -0.014233791885862131,
                0.012452580262354681,
                0.10474135811196897,
                0.0017379980270065952
              ],
              [
                0.06255310494231785,
                0.01859728661013372,
                0.086856556241987,
                0.05054547025688176,
                0.06763362855117874,
                0.06691321003473673,
                0.13971937972591858,
                0.024965453637481032
              ],
              [
                0.06030125991582091,
                0.006827712228792327,
                0.06740593189320432,
                0.0026406600282712148,
                0.031671652843288184,
                0.006240614056200144,
                0.027426533824473777,
                0.06637124877135861
              ],
              [
                0.1094574874470131,
                0.03695692664278655,
                0.1286107255601403,
                0.03201495136485392,
                0.10265553196233969,
                0.04463080201357291,
                0.09086537047035086,
                0.000215479158832993
              ],
              [
                0.02676925285053413,
                0.018599454821777335,
                0.007403862993984203,
                0.014576487497748087,
                0.021234666535105782,
                0.04907956219883077,
                0.010332081536093598,
                0.007170832259927013
              ],
              [
                0.02088977979017917,
                0.09727934223507988,
                0.0629672373565176,
                0.06331069198061365,
                0.052869295577320875,
                0.03464868379443908,
                0.0904401323125698,
                0.05368548960032947
              ]
            ]
          },
          {
            "label": "Candidate 2 · mask logits",
            "values": [
              [
                -0.10875142164462051,
                -0.015591079049131045,
                -0.0981086622201758,
                -0.01579264458771996,
                -0.0007344933422587283,
                -0.07864137399030821,
                -0.025596777239199134,
                -0.08907033201873735
              ],
              [
                -0.1923674911438589,
                -0.0412821765375512,
                -0.12638678506976586,
                -0.0668713572702367,
                -0.11565906824154781,
                -0.018041075743027057,
                -0.12171162580451741,
                -0.00493626287790927
              ],
              [
                -0.030436110270799448,
                -0.08674678069432673,
                -0.020772019500617057,
                -0.02532455501802042,
                0.020407110257083045,
                -0.028607728175127824,
                -0.1370933266539468,
                -0.014640232372831638
              ],
              [
                -0.08514884514421707,
                -0.022041684352267953,
                -0.12560664913855665,
                -0.07038824950287342,
                -0.10112520538525142,
                -0.09342698316841799,
                -0.19746082221090164,
                -0.03647119491491396
              ],
              [
                -0.07871252001733561,
                -0.02040793272467842,
                -0.08732582284065904,
                -0.016613974519523626,
                -0.04026757136182598,
                -0.020749383655475157,
                -0.03946956629789078,
                -0.09333444722555409
              ],
              [
                -0.15537361154656348,
                -0.05178361014708139,
                -0.18358169958817178,
                -0.04620064838673389,
                -0.1478436447467554,
                -0.06281941773967387,
                -0.1262221734967201,
                0.0014259026678700183
              ],
              [
                -0.03937141510858201,
                -0.029988403497639142,
                -0.009586345214415431,
                -0.029134403254071725,
                -0.03211890189361824,
                -0.06998145168380117,
                -0.011886254599567065,
                -0.022267464963127877
              ],
              [
                -0.026153918522764184,
                -0.12697560077110084,
                -0.0905686645666248,
                -0.08612691120989595,
                -0.07162531435173451,
                -0.04369896437552284,
                -0.13183972424314835,
                -0.0752352182795855
              ]
            ]
          },
          {
            "label": "Candidate 3 · mask logits",
            "values": [
              [
                0.019030928683115567,
                0.11617792655653998,
                0.030726285369428768,
                0.09143340858789778,
                0.01384652649508423,
                0.08890161934631564,
                0.031004101753907436,
                0.07996247598932367
              ],
              [
                0.17575106382602676,
                0.04565896172039217,
                0.09125544933175071,
                0.02770871955160486,
                0.10485826974598574,
                0.001042437520006251,
                0.09565604625432039,
                -0.008900910035301475
              ],
              [
                0.047236671448256135,
                0.06810921821181004,
                -0.003977556001038703,
                0.10732642450373367,
                -0.01997752182184067,
                0.11339549681432126,
                0.03038931940914188,
                0.11079118130254553
              ],
              [
                0.04735561109194883,
                -0.015116447548374325,
                0.13153501374023233,
                0.05239736976393533,
                0.1320133912569233,
                0.07155408244657582,
                0.1706268825012274,
                0.04108685606023785
              ],
              [
                0.01558444414129786,
                0.10429344311829163,
                0.011528920836737701,
                0.11811932700050153,
                -0.00139467220826959,
                0.11402218842341272,
                0.03981309123690709,
                0.07689827985511793
              ],
              [
                0.13974392639427308,
                0.04115074834592658,
                0.17329676260774343,
                0.04761435193317942,
                0.15001567500330226,
                0.052221870928225916,
                0.09138973015986844,
                -0.015170556044857987
              ],
              [
                0.04641997127875655,
                0.055735547584728984,
                0.0012171275889413932,
                0.0939149826527175,
                0.04473897469571271,
                0.0654566025927554,
                -0.011603972753931028,
                0.11697260991305986
              ],
              [
                -0.004536541843376932,
                0.02509480998513487,
                0.09098054607130661,
                0.047454825479535154,
                0.036977004651970485,
                -0.004679751622789233,
                0.14633337047418243,
                0.05988237997912065
              ]
            ]
          }
        ],
        "vectors": [
          {
            "label": "Prompt coordinates · x₀, y₀, x₁, y₁",
            "values": [
              0.25,
              0.25,
              0.75,
              0.75
            ]
          },
          {
            "label": "Prompt type IDs",
            "values": [
              0,
              0
            ]
          },
          {
            "label": "Predicted quality scores · untrained",
            "values": [
              -0.08693018375392456,
              -0.10139353606615217,
              0.13439242640996635
            ]
          }
        ],
        "metrics": [
          {
            "label": "Image encoder calls per changed prompt",
            "value": 0
          },
          {
            "label": "Candidate masks",
            "value": 3
          }
        ]
      },
      {
        "id": "box",
        "label": "Two box corners",
        "target": "prompt_encoder.type_embedding",
        "note": "The same cached 2 × 2 image embedding is reused for each prompt. Coordinates are normalized (x,y) in [0,1]. Type IDs are 0 = background, 1 = foreground, 2 = top-left box corner, 3 = bottom-right. Three mask logits express the multi-mask interface; these untrained outputs do not segment a real object and quality scores are not calibrated IoUs.",
        "matrices": [
          {
            "label": "Candidate 1 · mask logits",
            "values": [
              [
                0.08015658486588924,
                0.018317512122278,
                0.0717711924666817,
                0.018108138615807165,
                0.005498051865254593,
                0.06943287194040541,
                0.011417285848724973,
                0.0771663128087772
              ],
              [
                0.15720939908415577,
                0.036156713172170174,
                0.09276621266397285,
                0.057698682903803554,
                0.09998547394819705,
                0.008995372917456052,
                0.09901662370771812,
                0.0027393396493222
              ],
              [
                0.027096650176441115,
                0.07912597372374619,
                0.013896747050818337,
                0.025568298555558935,
                -0.007067702337425635,
                0.02553393817315301,
                0.10290113596944059,
                0.02106096846632771
              ],
              [
                0.08270433652361153,
                0.004907585986363545,
                0.10312235589809553,
                0.058781565211504606,
                0.09874998133425844,
                0.06983371818783479,
                0.1655699852589081,
                0.023081584599757673
              ],
              [
                0.053347845151708144,
                0.022068062133014554,
                0.10096142769969471,
                0.017745759554232323,
                0.022300336844405057,
                0.023293099414273707,
                0.029922102674532162,
                0.08213831666347861
              ],
              [
                0.12354075465487299,
                0.04524514189770564,
                0.1621130255354853,
                0.03146196541719403,
                0.11596628097831913,
                0.055056672024664556,
                0.09795508988743111,
                -0.002807203806616097
              ],
              [
                0.04159122611590881,
                0.0242849339441813,
                0.004898455072847453,
                0.028041868291503277,
                0.025103118205391014,
                0.09241320840068626,
                0.0011754628287579125,
                0.027840890926384365
              ],
              [
                0.029165271184444678,
                0.09349325361625152,
                0.06887027326231678,
                0.07338859206441362,
                0.10383762820786119,
                -0.009701271766846655,
                0.09585605759905204,
                0.06291437135189794
              ]
            ]
          },
          {
            "label": "Candidate 2 · mask logits",
            "values": [
              [
                -0.11519440393930745,
                -0.010778362126919426,
                -0.10084472076401545,
                -0.014631528668295432,
                -0.00567977175902099,
                -0.08970840488554575,
                -0.013143543798022489,
                -0.1016632886428069
              ],
              [
                -0.2063128108867817,
                -0.046600919111636184,
                -0.1251562700585869,
                -0.08090699656203047,
                -0.1318762226311755,
                -0.013539074118067084,
                -0.13156190306539425,
                -0.0053775639978907745
              ],
              [
                -0.03342591600887176,
                -0.10612884934644867,
                -0.021002302837833765,
                -0.022776081776455605,
                0.007916549706477495,
                -0.02136904138812765,
                -0.14668072700909765,
                -0.0159481610538776
              ],
              [
                -0.11233743903549953,
                -0.009660482790251777,
                -0.13323005717680694,
                -0.07885990450805415,
                -0.12528247198883546,
                -0.09320164695547874,
                -0.21896236108856623,
                -0.029274752587339248
              ],
              [
                -0.07649945448393908,
                -0.01803871215563883,
                -0.14426389968382486,
                -0.010624910419471967,
                -0.03326552523927514,
                -0.018674022194679896,
                -0.03798908864854001,
                -0.11002955080491432
              ],
              [
                -0.16224396680012618,
                -0.060452282849076604,
                -0.21382068950648903,
                -0.04024035661379759,
                -0.1500779709443392,
                -0.07330025844198033,
                -0.13198107909453008,
                0.0016592595418260258
              ],
              [
                -0.05465708283820998,
                -0.027507792117398847,
                -0.006898556755827583,
                -0.028537082848450922,
                -0.031000104959781758,
                -0.12476706535335273,
                -0.0030578059861111387,
                -0.02604151325635472
              ],
              [
                -0.04226265225020236,
                -0.13380377814434008,
                -0.08960469683496111,
                -0.1011078276092877,
                -0.13941611061511097,
                0.011303403489068074,
                -0.12280923691188518,
                -0.08438290509990243
              ]
            ]
          },
          {
            "label": "Candidate 3 · mask logits",
            "values": [
              [
                0.03445904483225733,
                0.10378056484615936,
                0.04503640454020917,
                0.07806352623205773,
                0.016068813571267628,
                0.09200171986806667,
                0.025047037816930514,
                0.09013790090167254
              ],
              [
                0.18859486880600168,
                0.04861347068509627,
                0.0902179746528129,
                0.037221557531310116,
                0.11586958433680736,
                0.00009359994207775559,
                0.10880253794120485,
                -0.0077109541989906485
              ],
              [
                0.04567252265573436,
                0.08080558131766889,
                -0.0003865334829749061,
                0.09716587883965903,
                -0.016860775937649376,
                0.1055267204421172,
                0.05164144658820484,
                0.09738961232500663
              ],
              [
                0.07576720287813642,
                -0.013977582802724802,
                0.13667705590940898,
                0.059916516255572504,
                0.1450626736121269,
                0.07417752335973533,
                0.18827529569676005,
                0.033958873558020554
              ],
              [
                0.023968313152828064,
                0.09385431663531264,
                0.048520293560443906,
                0.09941239709864384,
                0.0020769563686109252,
                0.1013225595086288,
                0.04378615030988589,
                0.08474336951359378
              ],
              [
                0.1474889595412929,
                0.04764552664313209,
                0.18786022024134313,
                0.044211824068705226,
                0.15213287070108417,
                0.05958936225792009,
                0.09634888841906673,
                -0.015858672781792097
              ],
              [
                0.04943132451804163,
                0.05604548236440118,
                0.00297627868215969,
                0.08461892862169751,
                0.04210646314503388,
                0.08933761922024198,
                -0.00793732991779224,
                0.09814625179517114
              ],
              [
                0.010386618990803708,
                0.043628535989884226,
                0.08741176769650992,
                0.05844810364287735,
                0.10516330576882356,
                -0.020447607118830487,
                0.13341941751159597,
                0.06426157403550768
              ]
            ]
          }
        ],
        "vectors": [
          {
            "label": "Prompt coordinates · x₀, y₀, x₁, y₁",
            "values": [
              0.2,
              0.2,
              0.8,
              0.8
            ]
          },
          {
            "label": "Prompt type IDs",
            "values": [
              2,
              3
            ]
          },
          {
            "label": "Predicted quality scores · untrained",
            "values": [
              -0.0651719163264563,
              -0.10798516329095176,
              0.15255067520470086
            ]
          }
        ],
        "metrics": [
          {
            "label": "Image encoder calls per changed prompt",
            "value": 0
          },
          {
            "label": "Candidate masks",
            "value": 3
          }
        ]
      }
    ]
  },
  "revision": "06fa171ea414ac32",
  "files": {
    "graph.tensorviz.json": {
      "url": "/models/segment-anything/06fa171ea414ac32/graph.tensorviz.json",
      "sha256": "60274b9bc4e3a736dab315e7002d25191d05dd133d88013a5895957b10929b99",
      "bytes": 357615
    },
    "model.py": {
      "url": "/models/segment-anything/06fa171ea414ac32/model.py",
      "sha256": "bba1c4d0f25557c69579fade1e1ce55a8dd70d4af374ed69438d9a3652291d3e",
      "bytes": 10829
    },
    "run.py": {
      "url": "/models/segment-anything/06fa171ea414ac32/run.py",
      "sha256": "75bb7dad878fc9a168a747e5f68fe0cfbdc0151fdb58e2aa54ad00853911c154",
      "bytes": 768
    },
    "requirements.txt": {
      "url": "/models/segment-anything/06fa171ea414ac32/requirements.txt",
      "sha256": "edb86016b42cb3cc6cdc0c490aab929d3bb098ced4515394f0b55766033e0daf",
      "bytes": 91
    },
    "preview.svg": {
      "url": "/models/segment-anything/06fa171ea414ac32/preview.svg",
      "sha256": "df6b127ac8257b4ba4035c8359439d20d444e62b44e047e6d6580b7fc11886c2",
      "bytes": 2281
    }
  }
}
