{
  "schemaVersion": 1,
  "slug": "latent-diffusion",
  "title": "Move denoising into a compressed space",
  "className": "TinyLatentDiffusion",
  "question": "Why denoise a latent, and where does text enter?",
  "description": "Separate the image encoder, text conditioning, latent U-Net and decoder; compare spatial-to-text attention and a complete short sampling loop.",
  "category": "Generative models",
  "tags": [
    "Latent diffusion",
    "Cross-attention",
    "Autoencoder",
    "Text conditioning"
  ],
  "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 subsystem, not Stable Diffusion. A deterministic convolutional autoencoder stands in for the trained KL/VQ first stage; perceptual/adversarial autoencoder losses and latent scaling are omitted. The conditioner is an embedding lookup with positions, without a tokenizer or text Transformer. No classifier-free guidance. The 12-step schedule is illustrative; decoded heatmaps do not establish image quality. Paper preprint 2021, CVPR 2022.",
  "openingStep": "condition",
  "provenance": {
    "capturedAt": "2026-09-17T06:51:48.425092+00:00",
    "productRevision": "cf0ab1c9c58c1dc640235b742fa032cade00b43c",
    "sourceSha256": "831516c404f51ad026de2e74ee368424d1f1ea3ce8702d5c6aff27cd31caa19a",
    "python": "3.13.13",
    "torch": "2.7.1",
    "execution": {
      "inputs": {
        "args": [
          {
            "shape": [
              1,
              3,
              8,
              8
            ],
            "dtype": "float32",
            "fill": "randn"
          },
          {
            "shape": [
              1,
              3
            ],
            "dtype": "int64",
            "fill": "ones"
          },
          {
            "shape": [
              1,
              2,
              4,
              4
            ],
            "dtype": "float32",
            "fill": "randn"
          },
          {
            "shape": [
              1
            ],
            "dtype": "int64",
            "fill": "ones"
          }
        ]
      },
      "device": "cpu",
      "mode": "eval",
      "seed": 0,
      "deterministic": true
    },
    "outcome": "passed",
    "outputShape": [
      1,
      3,
      8,
      8
    ],
    "method": "TensorViz multifile projection and isolated execution worker",
    "scope": "Reduced latent diffusion subsystem with a frozen deterministic autoencoder, 12-step noise schedule, conditional U-Net, cross-attention and CPU sampling. Checks compression, conditioning, posterior reconstruction and frozen first-stage gradients.",
    "numericalChecks": [
      "The 192-value image is compressed to 32 latent values and decoded back to its original shape",
      "Text changes epsilon predictions while the cached image latent remains independent of text",
      "Cross-attention rows normalize over text tokens and are invariant to joint K/V ordering",
      "Known epsilon recovers the clean latent; diffusion-loss gradients reach the conditioner and denoiser while the first stage stays frozen"
    ]
  },
  "layers": [
    {
      "id": "input",
      "label": "input",
      "op": "Input",
      "kind": "input",
      "parent": null,
      "params": {
        "shape": "1,3,8,8"
      }
    },
    {
      "id": "encoder",
      "label": "encoder",
      "op": "Module",
      "kind": "module",
      "parent": null,
      "params": {},
      "source": {
        "line": 113,
        "endLine": 113
      }
    },
    {
      "id": "corrupt",
      "label": "corrupt",
      "op": "Module",
      "kind": "module",
      "parent": null,
      "params": {},
      "source": {
        "line": 114,
        "endLine": 114
      }
    },
    {
      "id": "python@TinyLatentDiffusion#0",
      "label": "python@TinyLatentDiffusion#0",
      "op": "Python",
      "kind": "layer",
      "parent": null,
      "params": {},
      "source": {
        "line": 129,
        "endLine": 129
      }
    },
    {
      "id": "conditioner",
      "label": "conditioner",
      "op": "Module",
      "kind": "module",
      "parent": null,
      "params": {},
      "source": {
        "line": 115,
        "endLine": 115
      }
    },
    {
      "id": "denoiser",
      "label": "denoiser",
      "op": "Module",
      "kind": "module",
      "parent": null,
      "params": {},
      "source": {
        "line": 116,
        "endLine": 116
      }
    },
    {
      "id": "estimate",
      "label": "estimate",
      "op": "Module",
      "kind": "module",
      "parent": null,
      "params": {},
      "source": {
        "line": 117,
        "endLine": 117
      }
    },
    {
      "id": "decoder",
      "label": "decoder",
      "op": "Module",
      "kind": "module",
      "parent": null,
      "params": {},
      "source": {
        "line": 118,
        "endLine": 118
      }
    },
    {
      "id": "output",
      "label": "output",
      "op": "Output",
      "kind": "output",
      "parent": null,
      "params": {}
    },
    {
      "id": "encoder.down",
      "label": "encoder.down",
      "op": "Conv2d",
      "kind": "layer",
      "parent": "encoder",
      "params": {
        "in_channels": 3,
        "out_channels": 8,
        "kernel_size": 3,
        "stride": 2,
        "padding": 1
      },
      "source": {
        "line": 15,
        "endLine": 15
      }
    },
    {
      "id": "silu@encoder#0",
      "label": "silu@encoder#0",
      "op": "SiLU",
      "kind": "layer",
      "parent": "encoder",
      "params": {},
      "source": {
        "line": 19,
        "endLine": 19
      }
    },
    {
      "id": "encoder.latent",
      "label": "encoder.latent",
      "op": "Conv2d",
      "kind": "layer",
      "parent": "encoder",
      "params": {
        "in_channels": 8,
        "out_channels": 2,
        "kernel_size": 3,
        "padding": 1
      },
      "source": {
        "line": 16,
        "endLine": 16
      }
    },
    {
      "id": "python@corrupt#0",
      "label": "python@corrupt#0",
      "op": "Python",
      "kind": "layer",
      "parent": "corrupt",
      "params": {},
      "source": {
        "line": 45,
        "endLine": 45
      }
    },
    {
      "id": "mul@corrupt#0",
      "label": "mul@corrupt#0",
      "op": "torch.mul",
      "kind": "layer",
      "parent": "corrupt",
      "params": {},
      "source": {
        "line": 46,
        "endLine": 46
      }
    },
    {
      "id": "mul@corrupt#1",
      "label": "mul@corrupt#1",
      "op": "torch.mul",
      "kind": "layer",
      "parent": "corrupt",
      "params": {},
      "source": {
        "line": 46,
        "endLine": 46
      }
    },
    {
      "id": "add@corrupt#0",
      "label": "add@corrupt#0",
      "op": "torch.add",
      "kind": "layer",
      "parent": "corrupt",
      "params": {},
      "source": {
        "line": 46,
        "endLine": 46
      }
    },
    {
      "id": "conditioner.tokens",
      "label": "conditioner.tokens",
      "op": "Embedding",
      "kind": "layer",
      "parent": "conditioner",
      "params": {
        "num_embeddings": 16,
        "embedding_dim": 8
      },
      "source": {
        "line": 52,
        "endLine": 52
      }
    },
    {
      "id": "conditioner.positions",
      "label": "conditioner.positions",
      "op": "Parameter",
      "kind": "layer",
      "parent": "conditioner",
      "params": {},
      "source": {
        "line": 53,
        "endLine": 53
      }
    },
    {
      "id": "add@conditioner#0",
      "label": "add@conditioner#0",
      "op": "torch.add",
      "kind": "layer",
      "parent": "conditioner",
      "params": {},
      "source": {
        "line": 56,
        "endLine": 56
      }
    },
    {
      "id": "denoiser.time_embedding",
      "label": "denoiser.time_embedding",
      "op": "Embedding",
      "kind": "layer",
      "parent": "denoiser",
      "params": {
        "num_embeddings": 13,
        "embedding_dim": 8
      },
      "source": {
        "line": 84,
        "endLine": 84
      }
    },
    {
      "id": "denoiser.stem",
      "label": "denoiser.stem",
      "op": "Conv2d",
      "kind": "layer",
      "parent": "denoiser",
      "params": {
        "in_channels": 2,
        "out_channels": 8,
        "kernel_size": 3,
        "padding": 1
      },
      "source": {
        "line": 85,
        "endLine": 85
      }
    },
    {
      "id": "add@denoiser#0",
      "label": "add@denoiser#0",
      "op": "torch.add",
      "kind": "layer",
      "parent": "denoiser",
      "params": {},
      "source": {
        "line": 93,
        "endLine": 95
      }
    },
    {
      "id": "silu@denoiser#0",
      "label": "silu@denoiser#0",
      "op": "SiLU",
      "kind": "layer",
      "parent": "denoiser",
      "params": {},
      "source": {
        "line": 93,
        "endLine": 95
      }
    },
    {
      "id": "denoiser.down",
      "label": "denoiser.down",
      "op": "Conv2d",
      "kind": "layer",
      "parent": "denoiser",
      "params": {
        "in_channels": 8,
        "out_channels": 8,
        "kernel_size": 3,
        "stride": 2,
        "padding": 1
      },
      "source": {
        "line": 86,
        "endLine": 86
      }
    },
    {
      "id": "silu@denoiser#1",
      "label": "silu@denoiser#1",
      "op": "SiLU",
      "kind": "layer",
      "parent": "denoiser",
      "params": {},
      "source": {
        "line": 96,
        "endLine": 96
      }
    },
    {
      "id": "flatten@denoiser#0",
      "label": "flatten@denoiser#0",
      "op": "Flatten",
      "kind": "layer",
      "parent": "denoiser",
      "params": {
        "start_dim": 2
      },
      "source": {
        "line": 97,
        "endLine": 97
      }
    },
    {
      "id": "python@denoiser#0",
      "label": "python@denoiser#0",
      "op": "Python",
      "kind": "layer",
      "parent": "denoiser",
      "params": {},
      "source": {
        "line": 97,
        "endLine": 97
      }
    },
    {
      "id": "denoiser.cross_attention",
      "label": "denoiser.cross_attention",
      "op": "Module",
      "kind": "module",
      "parent": "denoiser",
      "params": {},
      "source": {
        "line": 87,
        "endLine": 87
      }
    },
    {
      "id": "add@denoiser#1",
      "label": "add@denoiser#1",
      "op": "torch.add",
      "kind": "layer",
      "parent": "denoiser",
      "params": {},
      "source": {
        "line": 98,
        "endLine": 98
      }
    },
    {
      "id": "python@denoiser#1",
      "label": "python@denoiser#1",
      "op": "Python",
      "kind": "layer",
      "parent": "denoiser",
      "params": {},
      "source": {
        "line": 99,
        "endLine": 99
      }
    },
    {
      "id": "denoiser.up",
      "label": "denoiser.up",
      "op": "ConvTranspose2d",
      "kind": "layer",
      "parent": "denoiser",
      "params": {
        "in_channels": 8,
        "out_channels": 8,
        "kernel_size": 2,
        "stride": 2
      },
      "source": {
        "line": 88,
        "endLine": 88
      }
    },
    {
      "id": "cat@denoiser#0",
      "label": "cat@denoiser#0",
      "op": "torch.cat",
      "kind": "layer",
      "parent": "denoiser",
      "params": {
        "dim": 1
      },
      "source": {
        "line": 100,
        "endLine": 102
      }
    },
    {
      "id": "denoiser.merge",
      "label": "denoiser.merge",
      "op": "Conv2d",
      "kind": "layer",
      "parent": "denoiser",
      "params": {
        "in_channels": 16,
        "out_channels": 8,
        "kernel_size": 3,
        "padding": 1
      },
      "source": {
        "line": 89,
        "endLine": 89
      }
    },
    {
      "id": "silu@denoiser#2",
      "label": "silu@denoiser#2",
      "op": "SiLU",
      "kind": "layer",
      "parent": "denoiser",
      "params": {},
      "source": {
        "line": 100,
        "endLine": 102
      }
    },
    {
      "id": "denoiser.noise",
      "label": "denoiser.noise",
      "op": "Conv2d",
      "kind": "layer",
      "parent": "denoiser",
      "params": {
        "in_channels": 8,
        "out_channels": 2,
        "kernel_size": 3,
        "padding": 1
      },
      "source": {
        "line": 90,
        "endLine": 90
      }
    },
    {
      "id": "denoiser.cross_attention.query",
      "label": "denoiser.cross_attention.query",
      "op": "Linear",
      "kind": "layer",
      "parent": "denoiser.cross_attention",
      "params": {
        "in_features": 8,
        "out_features": 8
      },
      "source": {
        "line": 62,
        "endLine": 62
      }
    },
    {
      "id": "denoiser.cross_attention.key",
      "label": "denoiser.cross_attention.key",
      "op": "Linear",
      "kind": "layer",
      "parent": "denoiser.cross_attention",
      "params": {
        "in_features": 8,
        "out_features": 8
      },
      "source": {
        "line": 63,
        "endLine": 63
      }
    },
    {
      "id": "div@denoiser.cross_attention#0",
      "label": "div@denoiser.cross_attention#0",
      "op": "torch.div",
      "kind": "layer",
      "parent": "denoiser.cross_attention",
      "params": {},
      "source": {
        "line": 77,
        "endLine": 77
      }
    },
    {
      "id": "denoiser.cross_attention.value",
      "label": "denoiser.cross_attention.value",
      "op": "Linear",
      "kind": "layer",
      "parent": "denoiser.cross_attention",
      "params": {
        "in_features": 8,
        "out_features": 8
      },
      "source": {
        "line": 64,
        "endLine": 64
      }
    },
    {
      "id": "denoiser.cross_attention.softmax",
      "label": "denoiser.cross_attention.softmax",
      "op": "Softmax",
      "kind": "layer",
      "parent": "denoiser.cross_attention",
      "params": {},
      "source": {
        "line": 65,
        "endLine": 65
      }
    },
    {
      "id": "denoiser.cross_attention.project",
      "label": "denoiser.cross_attention.project",
      "op": "Linear",
      "kind": "layer",
      "parent": "denoiser.cross_attention",
      "params": {
        "in_features": 8,
        "out_features": 8
      },
      "source": {
        "line": 66,
        "endLine": 66
      }
    },
    {
      "id": "decoder.up",
      "label": "decoder.up",
      "op": "ConvTranspose2d",
      "kind": "layer",
      "parent": "decoder",
      "params": {
        "in_channels": 2,
        "out_channels": 8,
        "kernel_size": 2,
        "stride": 2
      },
      "source": {
        "line": 25,
        "endLine": 25
      }
    },
    {
      "id": "silu@decoder#0",
      "label": "silu@decoder#0",
      "op": "SiLU",
      "kind": "layer",
      "parent": "decoder",
      "params": {},
      "source": {
        "line": 29,
        "endLine": 29
      }
    },
    {
      "id": "decoder.rgb",
      "label": "decoder.rgb",
      "op": "Conv2d",
      "kind": "layer",
      "parent": "decoder",
      "params": {
        "in_channels": 8,
        "out_channels": 3,
        "kernel_size": 3,
        "padding": 1
      },
      "source": {
        "line": 26,
        "endLine": 26
      }
    }
  ],
  "connections": [
    {
      "id": "edge-1",
      "source": "encoder.down",
      "target": "silu@encoder#0",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-2",
      "source": "silu@encoder#0",
      "target": "encoder.latent",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-3",
      "source": "python@corrupt#0",
      "target": "mul@corrupt#1",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-4",
      "source": "python@corrupt#0",
      "target": "mul@corrupt#0",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-5",
      "source": "mul@corrupt#1",
      "target": "add@corrupt#0",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-6",
      "source": "mul@corrupt#0",
      "target": "add@corrupt#0",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-7",
      "source": "conditioner.tokens",
      "target": "add@conditioner#0",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-8",
      "source": "conditioner.positions",
      "target": "add@conditioner#0",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-9",
      "source": "denoiser.cross_attention.query",
      "target": "div@denoiser.cross_attention#0",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-10",
      "source": "denoiser.cross_attention.key",
      "target": "div@denoiser.cross_attention#0",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-11",
      "source": "div@denoiser.cross_attention#0",
      "target": "denoiser.cross_attention.softmax",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-12",
      "source": "denoiser.cross_attention.softmax",
      "target": "denoiser.cross_attention.project",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-13",
      "source": "denoiser.cross_attention.value",
      "target": "denoiser.cross_attention.project",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-14",
      "source": "denoiser.stem",
      "target": "add@denoiser#0",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-15",
      "source": "denoiser.time_embedding",
      "target": "add@denoiser#0",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-16",
      "source": "add@denoiser#0",
      "target": "silu@denoiser#0",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-17",
      "source": "silu@denoiser#0",
      "target": "denoiser.down",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-18",
      "source": "denoiser.down",
      "target": "silu@denoiser#1",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-19",
      "source": "silu@denoiser#1",
      "target": "flatten@denoiser#0",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-20",
      "source": "flatten@denoiser#0",
      "target": "python@denoiser#0",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-21",
      "source": "python@denoiser#0",
      "target": "denoiser.cross_attention.query",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-22",
      "source": "python@denoiser#0",
      "target": "denoiser.cross_attention.key",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-23",
      "source": "python@denoiser#0",
      "target": "denoiser.cross_attention.value",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-24",
      "source": "python@denoiser#0",
      "target": "denoiser.cross_attention",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-25",
      "source": "python@denoiser#0",
      "target": "add@denoiser#1",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-26",
      "source": "denoiser.cross_attention.project",
      "target": "add@denoiser#1",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-27",
      "source": "denoiser.cross_attention",
      "target": "add@denoiser#1",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-28",
      "source": "add@denoiser#1",
      "target": "python@denoiser#1",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-29",
      "source": "silu@denoiser#1",
      "target": "python@denoiser#1",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-30",
      "source": "python@denoiser#1",
      "target": "denoiser.up",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-31",
      "source": "silu@denoiser#0",
      "target": "cat@denoiser#0",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-32",
      "source": "denoiser.up",
      "target": "cat@denoiser#0",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-33",
      "source": "cat@denoiser#0",
      "target": "denoiser.merge",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-34",
      "source": "denoiser.merge",
      "target": "silu@denoiser#2",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-35",
      "source": "silu@denoiser#2",
      "target": "denoiser.noise",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-36",
      "source": "decoder.up",
      "target": "silu@decoder#0",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-37",
      "source": "silu@decoder#0",
      "target": "decoder.rgb",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-38",
      "source": "input",
      "target": "encoder.down",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-39",
      "source": "input",
      "target": "encoder",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-40",
      "source": "encoder.latent",
      "target": "python@corrupt#0",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-41",
      "source": "encoder.latent",
      "target": "mul@corrupt#1",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-42",
      "source": "encoder.latent",
      "target": "mul@corrupt#0",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-43",
      "source": "encoder",
      "target": "corrupt",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-44",
      "source": "input",
      "target": "python@corrupt#0",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-45",
      "source": "input",
      "target": "mul@corrupt#1",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-46",
      "source": "input",
      "target": "mul@corrupt#0",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-47",
      "source": "input",
      "target": "corrupt",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-48",
      "source": "input",
      "target": "conditioner.tokens",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-49",
      "source": "input",
      "target": "conditioner",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-50",
      "source": "add@corrupt#0",
      "target": "denoiser.stem",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-51",
      "source": "add@corrupt#0",
      "target": "denoiser.time_embedding",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-52",
      "source": "add@corrupt#0",
      "target": "denoiser.cross_attention.query",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-53",
      "source": "add@corrupt#0",
      "target": "denoiser.cross_attention.key",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-54",
      "source": "add@corrupt#0",
      "target": "denoiser.cross_attention.value",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-55",
      "source": "corrupt",
      "target": "denoiser",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-56",
      "source": "input",
      "target": "denoiser.stem",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-57",
      "source": "input",
      "target": "denoiser.time_embedding",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-58",
      "source": "input",
      "target": "denoiser.cross_attention.query",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-59",
      "source": "input",
      "target": "denoiser.cross_attention.key",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-60",
      "source": "input",
      "target": "denoiser.cross_attention.value",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-61",
      "source": "input",
      "target": "denoiser",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-62",
      "source": "add@conditioner#0",
      "target": "denoiser.stem",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-63",
      "source": "add@conditioner#0",
      "target": "denoiser.time_embedding",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-64",
      "source": "add@conditioner#0",
      "target": "denoiser.cross_attention.query",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-65",
      "source": "add@conditioner#0",
      "target": "denoiser.cross_attention.key",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-66",
      "source": "add@conditioner#0",
      "target": "denoiser.cross_attention.value",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-67",
      "source": "conditioner",
      "target": "denoiser",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-68",
      "source": "add@corrupt#0",
      "target": "python@TinyLatentDiffusion#0",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-69",
      "source": "corrupt",
      "target": "python@TinyLatentDiffusion#0",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-70",
      "source": "input",
      "target": "python@TinyLatentDiffusion#0",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-71",
      "source": "add@corrupt#0",
      "target": "estimate",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-72",
      "source": "corrupt",
      "target": "estimate",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-73",
      "source": "denoiser.noise",
      "target": "estimate",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-74",
      "source": "denoiser",
      "target": "estimate",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-75",
      "source": "python@TinyLatentDiffusion#0",
      "target": "estimate",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-76",
      "source": "estimate",
      "target": "decoder.up",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-77",
      "source": "estimate",
      "target": "decoder",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-78",
      "source": "decoder.rgb",
      "target": "output",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-79",
      "source": "decoder",
      "target": "output",
      "sourcePort": null,
      "targetPort": null
    }
  ],
  "steps": [
    {
      "id": "compress",
      "target": "encoder.latent",
      "title": "Train diffusion on an encoded image",
      "note": "The fixed first stage reduces 192 pixel-space values to 32 latent values. This teaching encoder is random, so its compression is a shape fact rather than evidence of retained perceptual quality."
    },
    {
      "id": "noise",
      "target": "corrupt",
      "title": "Add noise in latent coordinates",
      "note": "During diffusion training the image encoder supplies the clean latent z₀. The fixed schedule samples zₜ directly at a chosen t. The denoiser predicts the added latent noise; the frozen encoder and decoder are not updated by this loss."
    },
    {
      "id": "condition",
      "target": "denoiser.cross_attention.softmax",
      "title": "Let spatial queries consult text keys and values",
      "note": "Queries come from the U-Net’s 2 × 2 bottleneck. Keys and values come from the separate text conditioner. Softmax normalizes over text tokens for every spatial query. Compare two texts with the same image, noise and timestep."
    },
    {
      "id": "decode",
      "target": "decoder.rgb",
      "title": "Decode after the latent sampling loop",
      "note": "Generation begins from Gaussian latent noise, without an image-encoder call. It repeats the denoiser with the same conditioning, then decodes the final latent once. The displayed forward graph instead decodes a single clean estimate so all subsystems remain inspectable."
    }
  ],
  "milestone": {
    "name": "Latent diffusion",
    "year": 2021,
    "kind": "Architecture",
    "fidelity": "An 8 × 8 RGB image becomes a 2 × 4 × 4 latent. A width-eight U-Net attends from four coarse spatial queries to three text tokens. The canonical graph includes a decoded one-step estimate; the source also implements repeated latent sampling.",
    "papers": [
      {
        "title": "High-Resolution Image Synthesis with Latent Diffusion Models",
        "url": "https://arxiv.org/abs/2112.10752"
      }
    ]
  },
  "experiment": {
    "kind": "matrices",
    "title": "Denoise in latent space; decode once.",
    "description": "Recorded 4 × 4 latent diffusion with text conditioning. A frozen random autoencoder illustrates compression; it does not reproduce a trained KL/VQ first stage.",
    "controlLabel": "Latent diffusion case",
    "cases": [
      {
        "id": "early",
        "label": "Same text · t = 1",
        "target": "denoiser.cross_attention.softmax",
        "note": "The same encoded image and Gaussian noise are reused. Queries come from four coarse spatial locations; keys and values come from three text tokens. The changed-text case keeps t = 6 fixed. The one-step clean estimate is decoded only for inspection and is not a complete generation.",
        "matrices": [
          {
            "label": "Clean latent · channel 0",
            "values": [
              [
                -0.01799080026362658,
                -0.19271737640952927,
                0.006695910895539101,
                0.10356617017699751
              ],
              [
                -0.1282723448377308,
                -0.007115503184251637,
                -0.24517082590801573,
                -0.039573634022943935
              ],
              [
                0.10388586382978651,
                -0.16846945501484017,
                0.06713406544180772,
                -0.3494332225181829
              ],
              [
                -0.29495807939198954,
                0.1663715930618324,
                0.10369794448024836,
                -0.038917114268519834
              ]
            ]
          },
          {
            "label": "Noisy latent · channel 0",
            "values": [
              [
                -0.06685921394019559,
                -0.24158672602280154,
                -0.16403068984254016,
                0.42926665070026937
              ],
              [
                -0.18194853924467178,
                0.10578592553797908,
                0.13729649942037472,
                0.1471932845348259
              ],
              [
                0.258702685658562,
                -0.1199156540169182,
                0.17729493717046985,
                -0.253311257111248
              ],
              [
                -0.3918655694848372,
                0.22803890604383956,
                0.2572866930528176,
                0.04446052116161396
              ]
            ]
          },
          {
            "label": "Spatial query × text attention",
            "values": [
              [
                0.30987300362983067,
                0.3881927172690197,
                0.3019342791011496
              ],
              [
                0.30004303311643316,
                0.38432343359087023,
                0.3156335332926967
              ],
              [
                0.3059062896477831,
                0.3903800660890818,
                0.3037136442631352
              ],
              [
                0.2955353149491681,
                0.3879406245699676,
                0.31652406048086423
              ]
            ]
          },
          {
            "label": "Decoded estimate · red channel",
            "values": [
              [
                -0.05268567374781901,
                -0.022806755809660725,
                -0.012146625570815951,
                -0.022854711880108413,
                -0.015202010541172543,
                -0.037494923468339714,
                -0.0388711694088737,
                -0.014580143636018275
              ],
              [
                -0.04945630821264026,
                -0.014010907450908393,
                -0.02371588235586855,
                -0.023325197094711293,
                -0.02602942856685746,
                -0.042698630714510445,
                -0.03264033932862626,
                -0.03954369915202522
              ],
              [
                -0.05012258502382187,
                -0.017437814623374247,
                -0.02701346070603505,
                -0.027015040666546763,
                -0.03241718187545987,
                -0.02919010247049641,
                -0.027689630657262487,
                -0.03762909102560327
              ],
              [
                -0.05227143010712164,
                -0.03523348416258939,
                -0.02504237736353975,
                -0.02570214044522298,
                -0.028310944210679326,
                -0.0363618080834766,
                -0.024886635748828417,
                -0.03661040353729337
              ],
              [
                -0.0584711704092204,
                -0.01626844386383865,
                -0.029027185025577208,
                -0.026120195245968692,
                -0.024159614168326432,
                -0.018793058491692972,
                -0.01888764532353829,
                -0.027889241785017425
              ],
              [
                -0.046278673591546686,
                -0.011434704900311564,
                -0.017984519851360944,
                -0.0446772228731263,
                -0.03449287363675195,
                -0.010329455686994324,
                -0.025401848031666008,
                -0.034203757346447095
              ],
              [
                -0.023917713828147436,
                -0.033307111397355794,
                -0.03494209318519756,
                -0.02295925297010448,
                -0.04406872007174077,
                -0.006321175530931671,
                -0.017134588965099413,
                -0.04537680853005055
              ],
              [
                -0.039469418627919806,
                -0.03791279808699596,
                -0.03623380602056155,
                -0.028456965992255723,
                -0.032000443490914035,
                -0.025757901467941095,
                -0.02718494113477372,
                -0.058774051143115624
              ]
            ]
          }
        ],
        "vectors": [
          {
            "label": "Text IDs",
            "values": [
              1,
              3,
              5
            ]
          }
        ],
        "metrics": [
          {
            "label": "Latent values",
            "value": 32
          },
          {
            "label": "Pixel-space values",
            "value": 192
          },
          {
            "label": "Noise-prediction MSE",
            "value": 1.5066742828998803
          }
        ]
      },
      {
        "id": "middle",
        "label": "Same text · t = 6",
        "target": "denoiser.cross_attention.softmax",
        "note": "The same encoded image and Gaussian noise are reused. Queries come from four coarse spatial locations; keys and values come from three text tokens. The changed-text case keeps t = 6 fixed. The one-step clean estimate is decoded only for inspection and is not a complete generation.",
        "matrices": [
          {
            "label": "Clean latent · channel 0",
            "values": [
              [
                -0.01799080026362658,
                -0.19271737640952927,
                0.006695910895539101,
                0.10356617017699751
              ],
              [
                -0.1282723448377308,
                -0.007115503184251637,
                -0.24517082590801573,
                -0.039573634022943935
              ],
              [
                0.10388586382978651,
                -0.16846945501484017,
                0.06713406544180772,
                -0.3494332225181829
              ],
              [
                -0.29495807939198954,
                0.1663715930618324,
                0.10369794448024836,
                -0.038917114268519834
              ]
            ]
          },
          {
            "label": "Noisy latent · channel 0",
            "values": [
              [
                -0.2036154109236911,
                -0.3570315401287168,
                -0.650285777192506,
                1.3427189315681467
              ],
              [
                -0.31892231003426985,
                0.42767404380507357,
                1.2546984490939137,
                0.6830674664774337
              ],
              [
                0.686231109543777,
                0.038691362298466064,
                0.4823333043997767,
                0.06262436985925562
              ],
              [
                -0.6314285743081129,
                0.38308681340953443,
                0.6813461780301144,
                0.2862810002610436
              ]
            ]
          },
          {
            "label": "Spatial query × text attention",
            "values": [
              [
                0.29634734577582306,
                0.38853942926276097,
                0.31511322496141614
              ],
              [
                0.29967518070696203,
                0.3957108386145589,
                0.30461398067847906
              ],
              [
                0.29974156183609024,
                0.3822430288623683,
                0.31801540930154143
              ],
              [
                0.30522281640417487,
                0.3841833671937604,
                0.3105938164020648
              ]
            ]
          },
          {
            "label": "Decoded estimate · red channel",
            "values": [
              [
                -0.0366197154374111,
                -0.03622749580957027,
                0.002324495911801533,
                -0.014417340943110138,
                0.017534910750327995,
                -0.08541095284793136,
                -0.0670150944201656,
                -0.024296352407115442
              ],
              [
                -0.050381086079364264,
                -0.009211820358669449,
                -0.033785035745206166,
                -0.022230699931551287,
                -0.037306652275543424,
                -0.12353240941914036,
                -0.07027291629787984,
                -0.051846867041255386
              ],
              [
                -0.06813608213886489,
                -0.010984520804475909,
                -0.029230777568344295,
                -0.058276462598938907,
                -0.09526059531766051,
                -0.037090295619173014,
                -0.0632728334215478,
                -0.01869520791834167
              ],
              [
                -0.060345395117644786,
                -0.07308223361444503,
                -0.03634868743557069,
                -0.08305261763022875,
                -0.05813089256427109,
                -0.08242587843922043,
                -0.04379051511575277,
                -0.043467947756076264
              ],
              [
                -0.08038626349195757,
                -0.0030602584937890337,
                -0.06035879267418439,
                -0.032026267786750065,
                -0.02195303556340171,
                -0.013422372896919369,
                -0.04148165389761719,
                0.006198186910276305
              ],
              [
                -0.039335281679486724,
                -0.012100299007131464,
                -0.00963888200094703,
                -0.0725020569795214,
                -0.05348602405201259,
                -0.009132455103316502,
                -0.03359285172709056,
                -0.027013190789997792
              ],
              [
                0.020553375987336094,
                -0.06163350464486281,
                -0.05249761327805637,
                -0.018512710990391066,
                -0.06528761945601624,
                0.008133011534440985,
                -0.00610637320532656,
                -0.0484039333881294
              ],
              [
                -0.03726841459642667,
                -0.038400914188362244,
                -0.04175350057769194,
                -0.01930265951941843,
                -0.02582207523859086,
                0.0010752751111513476,
                -0.0121442401320138,
                -0.04816741088338756
              ]
            ]
          }
        ],
        "vectors": [
          {
            "label": "Text IDs",
            "values": [
              1,
              3,
              5
            ]
          }
        ],
        "metrics": [
          {
            "label": "Latent values",
            "value": 32
          },
          {
            "label": "Pixel-space values",
            "value": 192
          },
          {
            "label": "Noise-prediction MSE",
            "value": 1.5036822177411455
          }
        ]
      },
      {
        "id": "late",
        "label": "Same text · t = 12",
        "target": "denoiser.cross_attention.softmax",
        "note": "The same encoded image and Gaussian noise are reused. Queries come from four coarse spatial locations; keys and values come from three text tokens. The changed-text case keeps t = 6 fixed. The one-step clean estimate is decoded only for inspection and is not a complete generation.",
        "matrices": [
          {
            "label": "Clean latent · channel 0",
            "values": [
              [
                -0.01799080026362658,
                -0.19271737640952927,
                0.006695910895539101,
                0.10356617017699751
              ],
              [
                -0.1282723448377308,
                -0.007115503184251637,
                -0.24517082590801573,
                -0.039573634022943935
              ],
              [
                0.10388586382978651,
                -0.16846945501484017,
                0.06713406544180772,
                -0.3494332225181829
              ],
              [
                -0.29495807939198954,
                0.1663715930618324,
                0.10369794448024836,
                -0.038917114268519834
              ]
            ]
          },
          {
            "label": "Noisy latent · channel 0",
            "values": [
              [
                -0.3043411478887504,
                -0.4068952890905761,
                -1.022427049457969,
                2.018797122878268
              ],
              [
                -0.39796925565646524,
                0.6745532578411432,
                2.1553855964740487,
                1.099560396681882
              ],
              [
                0.9916836320917318,
                0.1930146803802279,
                0.7016555578396759,
                0.3727709919170134
              ],
              [
                -0.7556920693771376,
                0.4683702283230845,
                0.9841905338481926,
                0.4784004627427602
              ]
            ]
          },
          {
            "label": "Spatial query × text attention",
            "values": [
              [
                0.2965712543340433,
                0.38445863746319575,
                0.3189701082027609
              ],
              [
                0.3040996377035951,
                0.388442808904822,
                0.3074575533915828
              ],
              [
                0.2911511216838327,
                0.38061921522717057,
                0.3282296630889966
              ],
              [
                0.302213856564594,
                0.385093263601652,
                0.31269287983375404
              ]
            ]
          },
          {
            "label": "Decoded estimate · red channel",
            "values": [
              [
                -0.0022532996789380194,
                -0.05715351595113207,
                0.03566796647639981,
                0.00010144787105885088,
                0.08990509569948102,
                -0.16813112697849564,
                -0.10296352386519324,
                -0.03594968446306714
              ],
              [
                -0.05048262192533339,
                -0.005018027816643899,
                -0.05063362201082984,
                -0.013234635082292018,
                -0.0473018466548029,
                -0.2558457750043382,
                -0.12537976769420275,
                -0.0667106275762356
              ],
              [
                -0.10254918451986547,
                0.0006704016219050718,
                -0.031385101048845725,
                -0.10228037219169121,
                -0.1985589284411751,
                -0.04172789126333024,
                -0.12192589475844445,
                0.018684172992118178
              ],
              [
                -0.0748395749469092,
                -0.13227453676896145,
                -0.05024859153010004,
                -0.18029874895028278,
                -0.10542516056634646,
                -0.1643420591543359,
                -0.07401668674559252,
                -0.05087078283326703
              ],
              [
                -0.11643809550152949,
                0.026327746524307437,
                -0.12040355797212995,
                -0.0372180796356509,
                -0.011572948117390805,
                0.0067027115414340374,
                -0.07669646601915886,
                0.07856501634834749
              ],
              [
                -0.025079006311917642,
                -0.02261482463819575,
                0.000939375950044761,
                -0.12702251935615808,
                -0.08938397076384179,
                0.0024010935930654964,
                -0.045856499199417915,
                -0.017227249555155942
              ],
              [
                0.10937999614229874,
                -0.1208044045026455,
                -0.08458808654119329,
                -0.009323753968259265,
                -0.10155867135180167,
                0.04552141507033442,
                0.022603170220236602,
                -0.0560652114335856
              ],
              [
                -0.03312075749997629,
                -0.042898168732884844,
                -0.05560133493508291,
                -0.002570937452888634,
                -0.01641799393919031,
                0.05072631812529568,
                0.011540013190410817,
                -0.0352536685969332
              ]
            ]
          }
        ],
        "vectors": [
          {
            "label": "Text IDs",
            "values": [
              1,
              3,
              5
            ]
          }
        ],
        "metrics": [
          {
            "label": "Latent values",
            "value": 32
          },
          {
            "label": "Pixel-space values",
            "value": 192
          },
          {
            "label": "Noise-prediction MSE",
            "value": 1.5208093500862145
          }
        ]
      },
      {
        "id": "text",
        "label": "Changed text · t = 6",
        "target": "denoiser.cross_attention.softmax",
        "note": "The same encoded image and Gaussian noise are reused. Queries come from four coarse spatial locations; keys and values come from three text tokens. The changed-text case keeps t = 6 fixed. The one-step clean estimate is decoded only for inspection and is not a complete generation.",
        "matrices": [
          {
            "label": "Clean latent · channel 0",
            "values": [
              [
                -0.01799080026362658,
                -0.19271737640952927,
                0.006695910895539101,
                0.10356617017699751
              ],
              [
                -0.1282723448377308,
                -0.007115503184251637,
                -0.24517082590801573,
                -0.039573634022943935
              ],
              [
                0.10388586382978651,
                -0.16846945501484017,
                0.06713406544180772,
                -0.3494332225181829
              ],
              [
                -0.29495807939198954,
                0.1663715930618324,
                0.10369794448024836,
                -0.038917114268519834
              ]
            ]
          },
          {
            "label": "Noisy latent · channel 0",
            "values": [
              [
                -0.2036154109236911,
                -0.3570315401287168,
                -0.650285777192506,
                1.3427189315681467
              ],
              [
                -0.31892231003426985,
                0.42767404380507357,
                1.2546984490939137,
                0.6830674664774337
              ],
              [
                0.686231109543777,
                0.038691362298466064,
                0.4823333043997767,
                0.06262436985925562
              ],
              [
                -0.6314285743081129,
                0.38308681340953443,
                0.6813461780301144,
                0.2862810002610436
              ]
            ]
          },
          {
            "label": "Spatial query × text attention",
            "values": [
              [
                0.2924125017289847,
                0.3360567604219547,
                0.3715307378490606
              ],
              [
                0.28455409174894714,
                0.3276514772693466,
                0.38779443098170624
              ],
              [
                0.2972685175959414,
                0.33169056203889274,
                0.37104092036516584
              ],
              [
                0.2966473087067349,
                0.31674952276906376,
                0.3866031685242013
              ]
            ]
          },
          {
            "label": "Decoded estimate · red channel",
            "values": [
              [
                -0.03668615854105063,
                -0.03625106662792296,
                0.002270893194195589,
                -0.014450476669691665,
                0.017485014034665597,
                -0.08540441316937439,
                -0.06702248345422095,
                -0.024306655536860487
              ],
              [
                -0.05043105889476021,
                -0.009308073712192687,
                -0.03380729925717222,
                -0.022205550642448595,
                -0.03728753288927135,
                -0.12355249315190628,
                -0.07026136882574076,
                -0.05185013524072619
              ],
              [
                -0.06822102501300888,
                -0.010924015956885219,
                -0.02921770851751169,
                -0.05829379457994133,
                -0.09520135587398335,
                -0.037139995014960986,
                -0.06326153758137032,
                -0.018642870804883298
              ],
              [
                -0.060370644753780706,
                -0.07300395784431381,
                -0.036343472091811005,
                -0.08316550675811217,
                -0.05812617853710222,
                -0.08234966577266789,
                -0.04382401272181662,
                -0.04345548317970753
              ],
              [
                -0.08036985990242272,
                -0.003155583126076003,
                -0.060446147015534246,
                -0.031984769862169395,
                -0.022007095612138667,
                -0.01337895570561599,
                -0.04140685274681182,
                0.006131734921450659
              ],
              [
                -0.03935939362970499,
                -0.012239844250835664,
                -0.009685232792923522,
                -0.07241565987837505,
                -0.05346746210087203,
                -0.009208619803403973,
                -0.03361739907686391,
                -0.027013711847443986
              ],
              [
                0.020504906903346252,
                -0.06162969144705547,
                -0.05248918237120609,
                -0.018486576489027805,
                -0.06530983866116938,
                0.008099568889997378,
                -0.0060956881856332875,
                -0.04837471839718858
              ],
              [
                -0.0372791532475561,
                -0.038374628793276674,
                -0.04174548701812082,
                -0.019384160718714995,
                -0.02583752167940308,
                0.0010903266440349716,
                -0.012166607890309574,
                -0.048162790223976036
              ]
            ]
          }
        ],
        "vectors": [
          {
            "label": "Text IDs",
            "values": [
              7,
              9,
              11
            ]
          }
        ],
        "metrics": [
          {
            "label": "Latent values",
            "value": 32
          },
          {
            "label": "Pixel-space values",
            "value": 192
          },
          {
            "label": "Noise-prediction MSE",
            "value": 1.5024357897573013
          }
        ]
      },
      {
        "id": "sample",
        "label": "After all 12 latent reverse steps",
        "target": "decoder",
        "note": "Generation starts from a new Gaussian latent and reuses the same text context for 12 denoiser calls. The image encoder is not called in this loop. After the last step, the decoder is called once. All weights are untrained; the output has no semantic image-quality claim.",
        "matrices": [
          {
            "label": "Final latent · channel 0",
            "values": [
              [
                -2.6655099326702234,
                -2.5858165453266335,
                -1.0740886648789014,
                -1.2101373065535632
              ],
              [
                -2.769190679532172,
                1.9594876889162227,
                -1.0053158977948111,
                -4.145080958630062
              ],
              [
                4.244439345477656,
                -0.9867637197336179,
                1.8736197402279313,
                -0.016435055360553265
              ],
              [
                2.2926189794701477,
                -2.346110254399017,
                -0.42858194060324817,
                -0.003867524338075721
              ]
            ]
          },
          {
            "label": "Decoded result · red channel",
            "values": [
              [
                0.06878542340347318,
                -0.009759149454578252,
                0.12617770668511458,
                -0.038496253828217336,
                0.03775798064460501,
                0.01004643227690887,
                0.03650893343478122,
                -0.04838194771475067
              ],
              [
                0.005691245794976676,
                0.05181584762687797,
                -0.02061592674892152,
                -0.020231651072683945,
                -0.050675766695540976,
                0.07957372946139675,
                0.0851748387576623,
                0.025535089702860947
              ],
              [
                0.006782833182589892,
                0.1383643781793055,
                -0.1685118983843088,
                0.06167819682828354,
                0.04386842811497887,
                0.04692489376253818,
                0.16804912767512983,
                -0.11243076225939844
              ],
              [
                -0.0018212081214568992,
                -0.09582226971745544,
                0.028418997095656057,
                0.017320990086981906,
                -0.03216875479129337,
                0.011250903600729186,
                -0.020015229239881315,
                -0.13885289900990555
              ],
              [
                -0.04879469477105757,
                -0.1013065678850225,
                -0.05495127203420262,
                0.011328570017972802,
                -0.096266256446068,
                0.1521846244506483,
                -0.17532376571796002,
                0.07950024988612087
              ],
              [
                -0.11228594213046067,
                0.04716122594995089,
                0.03087484517127301,
                0.03414628465260707,
                0.03522665743765453,
                0.057760322318294595,
                0.01636661579277251,
                -0.016183714602758335
              ],
              [
                -0.06352283314774335,
                0.10170208978531779,
                0.10669432863420578,
                -0.05652995876087958,
                0.030655995359122105,
                -0.07863328695032207,
                0.02631719911083254,
                -0.0740580309754249
              ],
              [
                -0.05579525103497906,
                0.15744506709061032,
                0.04235805445249522,
                -0.008024867621394201,
                0.00846718641808817,
                -0.017785197147103377,
                -0.04319097593969732,
                -0.04915271833959568
              ]
            ]
          }
        ],
        "vectors": [
          {
            "label": "Reverse timesteps",
            "values": [
              12,
              11,
              10,
              9,
              8,
              7,
              6,
              5,
              4,
              3,
              2,
              1
            ]
          }
        ],
        "metrics": [
          {
            "label": "Denoiser calls",
            "value": 12
          },
          {
            "label": "Image-encoder calls during generation",
            "value": 0
          },
          {
            "label": "Decoder calls after sampling",
            "value": 1
          }
        ]
      }
    ]
  },
  "revision": "f4674756eaef7a3b",
  "files": {
    "graph.tensorviz.json": {
      "url": "/models/latent-diffusion/f4674756eaef7a3b/graph.tensorviz.json",
      "sha256": "f21a4665e0059f0142ffc0078caff76c5e36d25b6dbb6e77ec53baa71fd42812",
      "bytes": 125296
    },
    "model.py": {
      "url": "/models/latent-diffusion/f4674756eaef7a3b/model.py",
      "sha256": "831516c404f51ad026de2e74ee368424d1f1ea3ce8702d5c6aff27cd31caa19a",
      "bytes": 11413
    },
    "run.py": {
      "url": "/models/latent-diffusion/f4674756eaef7a3b/run.py",
      "sha256": "2fdc09bf99301d1f316112c54f89eb1179ebc21ce739c40c0c54557d3cfca7f6",
      "bytes": 837
    },
    "requirements.txt": {
      "url": "/models/latent-diffusion/f4674756eaef7a3b/requirements.txt",
      "sha256": "edb86016b42cb3cc6cdc0c490aab929d3bb098ced4515394f0b55766033e0daf",
      "bytes": 91
    },
    "preview.svg": {
      "url": "/models/latent-diffusion/f4674756eaef7a3b/preview.svg",
      "sha256": "3217bb31d70883aa5ff0c7149dfea3095b5cd3dd6a3e78c83edaace9dbe6a29f",
      "bytes": 2356
    }
  }
}
