{
  "schemaVersion": 1,
  "slug": "ddpm",
  "title": "Learn to reverse a noise schedule",
  "className": "TinyDDPM",
  "question": "How does a model learn to reverse corruption?",
  "description": "Inspect signal and noise coefficients, predict the added noise, and replay a complete short reverse chain with the same denoiser.",
  "category": "Generative models",
  "tags": [
    "DDPM",
    "Diffusion",
    "Noise schedule",
    "Denoising"
  ],
  "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 denoiser and shortened schedule, not the original image model or 1,000-step beta schedule. The terminal forward marginal is not fully Gaussian. Reverse samples illustrate arithmetic and do not establish image quality. No likelihood evaluation or learned variance; the graph shows one training forward, while the source and panel expose the repeated sampling loop.",
  "openingStep": "corrupt",
  "provenance": {
    "capturedAt": "2026-09-17T06:47:42.907335+00:00",
    "productRevision": "cf0ab1c9c58c1dc640235b742fa032cade00b43c",
    "sourceSha256": "41018be9b51142b30ad5eb268182537f953328bcdf478c8859e71ee34b69372f",
    "python": "3.13.13",
    "torch": "2.7.1",
    "execution": {
      "inputs": {
        "args": [
          {
            "shape": [
              1,
              1,
              8,
              8
            ],
            "dtype": "float32",
            "fill": "randn"
          },
          {
            "shape": [
              1,
              1,
              8,
              8
            ],
            "dtype": "float32",
            "fill": "randn"
          },
          {
            "shape": [
              1
            ],
            "dtype": "int64",
            "fill": "ones"
          }
        ]
      },
      "device": "cpu",
      "mode": "eval",
      "seed": 0,
      "deterministic": true
    },
    "outcome": "passed",
    "outputShape": [
      1,
      1,
      8,
      8
    ],
    "method": "TensorViz multifile projection and isolated execution worker",
    "scope": "12-step DDPM schedule; tiny time-conditioned U-Net, oracle reconstruction, posterior-mean equivalence, final-step noise and epsilon-MSE gradient checks.",
    "numericalChecks": [
      "Cumulative signal decreases; known noise reconstructs the clean image at early, middle and late steps",
      "Epsilon-parameterized reverse means match the analytic forward posterior",
      "The last reverse step adds no stochastic noise and recovers x0 with oracle epsilon",
      "Time conditioning affects predictions and receives gradients; one fixed-batch SGD step lowers epsilon MSE"
    ]
  },
  "layers": [
    {
      "id": "input",
      "label": "input",
      "op": "Input",
      "kind": "input",
      "parent": null,
      "params": {
        "shape": "1,1,8,8"
      }
    },
    {
      "id": "corrupt",
      "label": "corrupt",
      "op": "Module",
      "kind": "module",
      "parent": null,
      "params": {},
      "source": {
        "line": 51,
        "endLine": 51
      }
    },
    {
      "id": "denoiser",
      "label": "denoiser",
      "op": "Module",
      "kind": "module",
      "parent": null,
      "params": {},
      "source": {
        "line": 52,
        "endLine": 52
      }
    },
    {
      "id": "output",
      "label": "output",
      "op": "Output",
      "kind": "output",
      "parent": null,
      "params": {}
    },
    {
      "id": "python@corrupt#0",
      "label": "python@corrupt#0",
      "op": "Python",
      "kind": "layer",
      "parent": "corrupt",
      "params": {},
      "source": {
        "line": 25,
        "endLine": 25
      }
    },
    {
      "id": "mul@corrupt#0",
      "label": "mul@corrupt#0",
      "op": "torch.mul",
      "kind": "layer",
      "parent": "corrupt",
      "params": {},
      "source": {
        "line": 26,
        "endLine": 26
      }
    },
    {
      "id": "mul@corrupt#1",
      "label": "mul@corrupt#1",
      "op": "torch.mul",
      "kind": "layer",
      "parent": "corrupt",
      "params": {},
      "source": {
        "line": 26,
        "endLine": 26
      }
    },
    {
      "id": "add@corrupt#0",
      "label": "add@corrupt#0",
      "op": "torch.add",
      "kind": "layer",
      "parent": "corrupt",
      "params": {},
      "source": {
        "line": 26,
        "endLine": 26
      }
    },
    {
      "id": "denoiser.time_embedding",
      "label": "denoiser.time_embedding",
      "op": "Embedding",
      "kind": "layer",
      "parent": "denoiser",
      "params": {
        "num_embeddings": 13,
        "embedding_dim": 8
      },
      "source": {
        "line": 32,
        "endLine": 32
      }
    },
    {
      "id": "denoiser.stem",
      "label": "denoiser.stem",
      "op": "Conv2d",
      "kind": "layer",
      "parent": "denoiser",
      "params": {
        "in_channels": 1,
        "out_channels": 8,
        "kernel_size": 3,
        "padding": 1
      },
      "source": {
        "line": 33,
        "endLine": 33
      }
    },
    {
      "id": "add@denoiser#0",
      "label": "add@denoiser#0",
      "op": "torch.add",
      "kind": "layer",
      "parent": "denoiser",
      "params": {},
      "source": {
        "line": 42,
        "endLine": 42
      }
    },
    {
      "id": "silu@denoiser#0",
      "label": "silu@denoiser#0",
      "op": "SiLU",
      "kind": "layer",
      "parent": "denoiser",
      "params": {},
      "source": {
        "line": 42,
        "endLine": 42
      }
    },
    {
      "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": 34,
        "endLine": 34
      }
    },
    {
      "id": "silu@denoiser#1",
      "label": "silu@denoiser#1",
      "op": "SiLU",
      "kind": "layer",
      "parent": "denoiser",
      "params": {},
      "source": {
        "line": 43,
        "endLine": 43
      }
    },
    {
      "id": "add@denoiser#1",
      "label": "add@denoiser#1",
      "op": "torch.add",
      "kind": "layer",
      "parent": "denoiser",
      "params": {},
      "source": {
        "line": 43,
        "endLine": 43
      }
    },
    {
      "id": "denoiser.bottleneck",
      "label": "denoiser.bottleneck",
      "op": "Conv2d",
      "kind": "layer",
      "parent": "denoiser",
      "params": {
        "in_channels": 8,
        "out_channels": 8,
        "kernel_size": 3,
        "padding": 1
      },
      "source": {
        "line": 35,
        "endLine": 35
      }
    },
    {
      "id": "silu@denoiser#2",
      "label": "silu@denoiser#2",
      "op": "SiLU",
      "kind": "layer",
      "parent": "denoiser",
      "params": {},
      "source": {
        "line": 43,
        "endLine": 43
      }
    },
    {
      "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": 36,
        "endLine": 36
      }
    },
    {
      "id": "cat@denoiser#0",
      "label": "cat@denoiser#0",
      "op": "torch.cat",
      "kind": "layer",
      "parent": "denoiser",
      "params": {
        "dim": 1
      },
      "source": {
        "line": 44,
        "endLine": 44
      }
    },
    {
      "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": 37,
        "endLine": 37
      }
    },
    {
      "id": "silu@denoiser#3",
      "label": "silu@denoiser#3",
      "op": "SiLU",
      "kind": "layer",
      "parent": "denoiser",
      "params": {},
      "source": {
        "line": 44,
        "endLine": 44
      }
    },
    {
      "id": "denoiser.noise",
      "label": "denoiser.noise",
      "op": "Conv2d",
      "kind": "layer",
      "parent": "denoiser",
      "params": {
        "in_channels": 8,
        "out_channels": 1,
        "kernel_size": 3,
        "padding": 1
      },
      "source": {
        "line": 38,
        "endLine": 38
      }
    }
  ],
  "connections": [
    {
      "id": "edge-1",
      "source": "python@corrupt#0",
      "target": "mul@corrupt#1",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-2",
      "source": "python@corrupt#0",
      "target": "mul@corrupt#0",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-3",
      "source": "mul@corrupt#1",
      "target": "add@corrupt#0",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-4",
      "source": "mul@corrupt#0",
      "target": "add@corrupt#0",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-5",
      "source": "denoiser.stem",
      "target": "add@denoiser#0",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-6",
      "source": "denoiser.time_embedding",
      "target": "add@denoiser#0",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-7",
      "source": "add@denoiser#0",
      "target": "silu@denoiser#0",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-8",
      "source": "silu@denoiser#0",
      "target": "denoiser.down",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-9",
      "source": "denoiser.down",
      "target": "silu@denoiser#1",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-10",
      "source": "silu@denoiser#1",
      "target": "add@denoiser#1",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-11",
      "source": "denoiser.time_embedding",
      "target": "add@denoiser#1",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-12",
      "source": "add@denoiser#1",
      "target": "denoiser.bottleneck",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-13",
      "source": "denoiser.bottleneck",
      "target": "silu@denoiser#2",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-14",
      "source": "silu@denoiser#2",
      "target": "denoiser.up",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-15",
      "source": "silu@denoiser#0",
      "target": "cat@denoiser#0",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-16",
      "source": "denoiser.up",
      "target": "cat@denoiser#0",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-17",
      "source": "cat@denoiser#0",
      "target": "denoiser.merge",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-18",
      "source": "denoiser.merge",
      "target": "silu@denoiser#3",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-19",
      "source": "silu@denoiser#3",
      "target": "denoiser.noise",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-20",
      "source": "input",
      "target": "python@corrupt#0",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-21",
      "source": "input",
      "target": "mul@corrupt#1",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-22",
      "source": "input",
      "target": "mul@corrupt#0",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-23",
      "source": "input",
      "target": "corrupt",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-24",
      "source": "add@corrupt#0",
      "target": "denoiser.time_embedding",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-25",
      "source": "add@corrupt#0",
      "target": "denoiser.stem",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-26",
      "source": "corrupt",
      "target": "denoiser",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-27",
      "source": "input",
      "target": "denoiser.time_embedding",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-28",
      "source": "input",
      "target": "denoiser.stem",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-29",
      "source": "input",
      "target": "denoiser",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-30",
      "source": "denoiser.noise",
      "target": "output",
      "sourcePort": null,
      "targetPort": null
    },
    {
      "id": "edge-31",
      "source": "denoiser",
      "target": "output",
      "sourcePort": null,
      "targetPort": null
    }
  ],
  "steps": [
    {
      "id": "corrupt",
      "target": "corrupt",
      "title": "Mix a clean image with known Gaussian noise",
      "note": "The fixed forward process samples xₜ = √ᾱₜ x₀ + √(1−ᾱₜ) ε. A training example can jump directly to any timestep; it does not need to run every preceding noising step."
    },
    {
      "id": "time",
      "target": "denoiser.time_embedding",
      "title": "Tell the denoiser which noise level it sees",
      "note": "The selected timestep becomes eight learned features, added to fine and coarse image features. The same network weights serve every timestep."
    },
    {
      "id": "predict",
      "target": "denoiser.bottleneck",
      "title": "Combine coarse context with a fine-resolution skip",
      "note": "The tiny U-Net contracts from 8 × 8 to 4 × 4 and expands again. Concatenation preserves fine features while the bottleneck supplies broader context."
    },
    {
      "id": "reverse",
      "target": "denoiser.noise",
      "title": "Predict epsilon, then reuse the network in reverse",
      "note": "Training minimizes MSE against the known added noise. Sampling starts from Gaussian noise and converts each prediction into the reverse mean, adding posterior noise except at the final step. Choose a reverse-chain checkpoint in the panel."
    }
  ],
  "milestone": {
    "name": "Denoising diffusion probabilistic models",
    "year": 2020,
    "kind": "Training method",
    "fidelity": "A 12-step teaching schedule with beta from 0.02 to 0.18. Width-eight, two-resolution U-Net with a learned timestep embedding predicts epsilon for an 8 × 8 grayscale input. Reverse sampling uses fixed posterior variance.",
    "papers": [
      {
        "title": "Denoising Diffusion Probabilistic Models",
        "url": "https://arxiv.org/abs/2006.11239"
      }
    ]
  },
  "experiment": {
    "kind": "matrices",
    "title": "Corrupt once; denoise repeatedly.",
    "description": "Recorded forward marginals and a separate 12-step reverse chain. The denoiser is untrained; the panel teaches DDPM scheduling, epsilon prediction and posterior sampling.",
    "controlLabel": "Diffusion checkpoint",
    "cases": [
      {
        "id": "noise-1",
        "label": "Forward corruption · t = 1",
        "target": "corrupt",
        "note": "The same clean pattern and same Gaussian noise are used at each displayed t to isolate the signal/noise coefficients. These are coupled marginal examples, not consecutive forward-chain samples. The untrained prediction is compared with the actual added noise; oracle reconstruction uses known noise unavailable during generation.",
        "matrices": [
          {
            "label": "Clean x₀",
            "values": [
              [
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0
              ],
              [
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0
              ],
              [
                0,
                0,
                1,
                1,
                1,
                1,
                0,
                0
              ],
              [
                0,
                0,
                1,
                -1,
                -1,
                1,
                0,
                0
              ],
              [
                0,
                0,
                1,
                -1,
                -1,
                1,
                0,
                0
              ],
              [
                0,
                0,
                1,
                1,
                1,
                1,
                0,
                0
              ],
              [
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0
              ],
              [
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0
              ]
            ]
          },
          {
            "label": "Noisy x1",
            "values": [
              [
                -0.05690209966466876,
                0.1814031345634387,
                0.012861778377746954,
                0.0518806167250125,
                -0.22231464653364802,
                -0.25170686051731556,
                0.047973294432154354,
                0.2761989122589189
              ],
              [
                0.2295705976699683,
                0.2510956388263473,
                0.10880314091302087,
                -0.019210986085590413,
                -0.028628404220343774,
                0.057505294799730315,
                -0.13127659276634604,
                -0.30353762839301274
              ],
              [
                -0.061138311873368545,
                0.07756244791392933,
                1.146817280509135,
                0.9955539320740054,
                0.9916300958029359,
                0.9182589278360423,
                -0.11164573478686861,
                -0.04648399050517051
              ],
              [
                0.08880372045230307,
                0.05020376264318983,
                0.9959121107071345,
                -1.0273237819569352,
                -1.1392661132020838,
                1.0336807803483443,
                0.29361290377089044,
                0.11044005540610832
              ],
              [
                -0.013281567479846804,
                0.3288089747952825,
                0.8274279106907543,
                -0.9039463585427521,
                -0.9831378669069303,
                1.187091618380388,
                0.24721811625213108,
                0.1674359387415358
              ],
              [
                -0.19967187688032415,
                0.11556199970812736,
                0.6952941535026433,
                1.0138664771856847,
                0.9098202792647077,
                1.0039142055116845,
                -0.05285933165034095,
                0.005210923513727102
              ],
              [
                0.1391515189562781,
                0.06980751524265467,
                -0.12812743681271715,
                0.05587129663549193,
                -0.14150301217508274,
                0.24138438313103033,
                -0.18883689810402118,
                0.23872514549926355
              ],
              [
                -0.1273869547359526,
                -0.20353498067880813,
                0.160841988784477,
                0.12753867863802945,
                0.0835925872547076,
                -0.149373310980536,
                -0.25763398900368273,
                -0.28650860744028206
              ]
            ]
          },
          {
            "label": "Untrained estimate of x₀",
            "values": [
              [
                -0.04773131899101512,
                0.1899828509999833,
                0.02153858262881102,
                0.06548575816470988,
                -0.21710015839311267,
                -0.24458755271718668,
                0.05828053045362026,
                0.28334330460837354
              ],
              [
                0.2448394225904375,
                0.2651957909348042,
                0.12729573650770423,
                -0.008625261565961726,
                -0.021743421571136096,
                0.07119544678501548,
                -0.11814139010955563,
                -0.3012465115771165
              ],
              [
                -0.04934371843508424,
                0.0881146579761131,
                1.1740851836701396,
                1.0104068908231754,
                1.0083858699085089,
                0.9433634366860927,
                -0.09481655048290046,
                -0.04233563552753551
              ],
              [
                0.0997586589726224,
                0.05571173068605982,
                1.0132382624382976,
                -1.0285159143659348,
                -1.1317497429951058,
                1.0638593881152043,
                0.30558847065030537,
                0.11814190689018327
              ],
              [
                0.0008388423457119719,
                0.34667053446444135,
                0.855903934877378,
                -0.8987281163614143,
                -0.971560231308106,
                1.2087614012404735,
                0.25856116356484665,
                0.1774101232564048
              ],
              [
                -0.1908559659621103,
                0.12797878778271346,
                0.7105602627924086,
                1.03222968540652,
                0.9271172833117028,
                1.0227721381779995,
                -0.04418339403511144,
                0.018437541308778324
              ],
              [
                0.15434597086106705,
                0.08040246763201246,
                -0.1166648372525005,
                0.0652873702682188,
                -0.12373575792653964,
                0.2584431305547299,
                -0.1736637959808567,
                0.24979752562237537
              ],
              [
                -0.11670401146448882,
                -0.19110132642604058,
                0.17595741792223804,
                0.14264855769471194,
                0.0978475301039948,
                -0.1376902381872736,
                -0.2504538585671517,
                -0.27917797075500006
              ]
            ]
          }
        ],
        "vectors": [
          {
            "label": "Signal coefficient √ᾱₜ",
            "values": [
              0.9899494936611666
            ]
          },
          {
            "label": "Noise coefficient √(1−ᾱₜ)",
            "values": [
              0.14142135623730956
            ]
          }
        ],
        "metrics": [
          {
            "label": "Noise prediction MSE",
            "value": 1.2412225447984793
          },
          {
            "label": "Oracle x₀ maximum error",
            "value": 2.220446049250313e-16
          }
        ]
      },
      {
        "id": "noise-6",
        "label": "Forward corruption · t = 6",
        "target": "corrupt",
        "note": "The same clean pattern and same Gaussian noise are used at each displayed t to isolate the signal/noise coefficients. These are coupled marginal examples, not consecutive forward-chain samples. The untrained prediction is compared with the actual added noise; oracle reconstruction uses known noise unavailable during generation.",
        "matrices": [
          {
            "label": "Clean x₀",
            "values": [
              [
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0
              ],
              [
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0
              ],
              [
                0,
                0,
                1,
                1,
                1,
                1,
                0,
                0
              ],
              [
                0,
                0,
                1,
                -1,
                -1,
                1,
                0,
                0
              ],
              [
                0,
                0,
                1,
                -1,
                -1,
                1,
                0,
                0
              ],
              [
                0,
                0,
                1,
                1,
                1,
                1,
                0,
                0
              ],
              [
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0
              ],
              [
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0
              ]
            ]
          },
          {
            "label": "Noisy x6",
            "values": [
              [
                -0.21869561982864397,
                0.697198718254733,
                0.0494325272880314,
                0.19939622085358366,
                -0.8544366500916724,
                -0.9674016987133404,
                0.1843789495095972,
                1.0615336282567236
              ],
              [
                0.8823239291297991,
                0.9650525497830414,
                0.4181703396096448,
                -0.07383485906964392,
                -0.11002944781597444,
                0.22101391976339696,
                -0.5045440501003989,
                -1.166606332172733
              ],
              [
                -0.23497693563538752,
                0.2981009087876587,
                1.4422874778170125,
                0.8609270018710438,
                0.8458462612575214,
                0.5638539771303601,
                -0.42909546948755395,
                -0.17865500878782453
              ],
              [
                0.34130523832787113,
                0.19295145616216575,
                0.8623036136066942,
                -0.9830301764982599,
                -1.4132655748577672,
                1.0074624507315804,
                1.1284619787015142,
                0.4244616018263627
              ],
              [
                -0.05104593063205668,
                1.2637333766564776,
                0.21475709474257398,
                -0.5088455287359672,
                -0.8132075137757333,
                1.597076516109932,
                0.9501498096774017,
                0.6435176666671811
              ],
              [
                -0.7674121892518634,
                0.44414711062935963,
                -0.29308135232415244,
                0.9313088230593641,
                0.531421158469891,
                0.8930585961736252,
                -0.20315778094524317,
                0.020027488518526496
              ],
              [
                0.5348102770825528,
                0.2682958608673117,
                -0.49244068981537303,
                0.21473386606708558,
                -0.5438479271875568,
                0.9277286356196334,
                -0.7257693955188042,
                0.9175082109678522
              ],
              [
                -0.4895947458571648,
                -0.7822595127188463,
                0.6181747007401535,
                0.4901778764095181,
                0.32127694391740336,
                -0.5740963694355314,
                -0.9901818253829882,
                -1.101157564653091
              ]
            ]
          },
          {
            "label": "Untrained estimate of x₀",
            "values": [
              [
                -0.22098311642831234,
                0.8821572046270505,
                0.12113759125492926,
                0.29679036077160503,
                -0.9615058327478043,
                -1.0852102083999955,
                0.2848022421752505,
                1.2966955512051612
              ],
              [
                1.0985960571508024,
                1.1799551075953585,
                0.5429502048806054,
                -0.03541176552035008,
                -0.08311782879486586,
                0.32851998034667795,
                -0.5447525846162927,
                -1.3251277346033243
              ],
              [
                -0.24656586535270664,
                0.36894604358692834,
                1.7640568132709673,
                1.0947416520326294,
                1.027621934103879,
                0.697389036827653,
                -0.46479073889669076,
                -0.12007266510078056
              ],
              [
                0.4346759104076151,
                0.25871509225113654,
                1.0880367097855046,
                -1.0919768527238727,
                -1.6131174195263867,
                1.2513498755548893,
                1.3810747390355285,
                0.5647119647998148
              ],
              [
                -0.03058097751003582,
                1.5488326938917256,
                0.31685517604315844,
                -0.546047421014505,
                -0.8888057151345111,
                1.974998905361007,
                1.163194625414065,
                0.8348992809247763
              ],
              [
                -0.9003358588797891,
                0.5835738182120417,
                -0.3245667456243156,
                1.1637817230328944,
                0.6585471528526291,
                1.1411620878675375,
                -0.1957346483275681,
                0.10193357895494654
              ],
              [
                0.6800949804626876,
                0.3713742092566416,
                -0.5530240177666909,
                0.3039547893322847,
                -0.5937349952974992,
                1.169650942766032,
                -0.8306528862014249,
                1.1715524075921628
              ],
              [
                -0.5739307642282694,
                -0.9036198874359105,
                0.7875477541385789,
                0.6285900132118235,
                0.4342369969469868,
                -0.636894729314426,
                -1.148261186499742,
                -1.228181062925451
              ]
            ]
          }
        ],
        "vectors": [
          {
            "label": "Signal coefficient √ᾱₜ",
            "values": [
              0.839387091398315
            ]
          },
          {
            "label": "Noise coefficient √(1−ᾱₜ)",
            "values": [
              0.5435340934972495
            ]
          }
        ],
        "metrics": [
          {
            "label": "Noise prediction MSE",
            "value": 1.2474073818850473
          },
          {
            "label": "Oracle x₀ maximum error",
            "value": 2.220446049250313e-16
          }
        ]
      },
      {
        "id": "noise-12",
        "label": "Forward corruption · t = 12",
        "target": "corrupt",
        "note": "The same clean pattern and same Gaussian noise are used at each displayed t to isolate the signal/noise coefficients. These are coupled marginal examples, not consecutive forward-chain samples. The untrained prediction is compared with the actual added noise; oracle reconstruction uses known noise unavailable during generation.",
        "matrices": [
          {
            "label": "Clean x₀",
            "values": [
              [
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0
              ],
              [
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0
              ],
              [
                0,
                0,
                1,
                1,
                1,
                1,
                0,
                0
              ],
              [
                0,
                0,
                1,
                -1,
                -1,
                1,
                0,
                0
              ],
              [
                0,
                0,
                1,
                -1,
                -1,
                1,
                0,
                0
              ],
              [
                0,
                0,
                1,
                1,
                1,
                1,
                0,
                0
              ],
              [
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0
              ],
              [
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0
              ]
            ]
          },
          {
            "label": "Noisy x12",
            "values": [
              [
                -0.34207829619216673,
                1.0905410443739676,
                0.0773211403338211,
                0.31189065217764866,
                -1.33648874036214,
                -1.5131858840545633,
                0.2884010066199031,
                1.6604247272500139
              ],
              [
                1.380109334621287,
                1.5095114032203885,
                0.6540917344565454,
                -0.11549066602212958,
                -0.1721053492948087,
                0.34570452378814737,
                -0.7891953627030713,
                -1.8247768599541587
              ],
              [
                -0.36754512893120983,
                0.46628209129802894,
                1.4695298107797778,
                0.5601800888197005,
                0.5365911661954986,
                0.0955057884035731,
                -0.6711805532323472,
                -0.27944775967722013
              ],
              [
                0.5338612382824123,
                0.3018099101548909,
                0.5623333509537038,
                -0.7511708638926539,
                -1.4241344657594621,
                0.7893872248256377,
                1.7651124027738543,
                0.6639323716932642
              ],
              [
                -0.07984478606311077,
                1.9767005880892405,
                -0.45054294740000544,
                -0.009462929759798788,
                -0.4855384421529932,
                1.7116470078683803,
                1.486200904601686,
                1.0065744670860377
              ],
              [
                -1.2003672244650725,
                0.6947239591803909,
                -1.244891324608374,
                0.6702695981288804,
                0.044775173145820135,
                0.6104395363640877,
                -0.31777439172482186,
                0.031326503726017516
              ],
              [
                0.8365370486789171,
                0.41966177023944146,
                -0.7702635849759012,
                0.3358814186426819,
                -0.8506735181332348,
                1.4511302569759175,
                -1.1352305932876932,
                1.4351437207390185
              ],
              [
                -0.7658120296084683,
                -1.2235910417439877,
                0.9669336246605403,
                0.7667241480403002,
                0.5025334740000911,
                -0.8979873856663928,
                -1.548817996505195,
                -1.7224035115599903
              ]
            ]
          },
          {
            "label": "Untrained estimate of x₀",
            "values": [
              [
                -0.6137591532227292,
                2.2807920360068286,
                0.34102387501308873,
                0.8352194219999243,
                -2.3835154960271616,
                -2.6215574999508133,
                0.7020880906935464,
                3.2423167381581446
              ],
              [
                2.7569846541256275,
                2.982680594236041,
                1.4149197375974893,
                -0.012659016548372558,
                -0.22787474452248013,
                0.922271898200391,
                -1.3365674321432688,
                -3.297634224498934
              ],
              [
                -0.6157252747443447,
                1.0207464647821762,
                3.01094720510529,
                1.2810414497380944,
                1.2371154299179492,
                0.3624015253082683,
                -1.0859045457873095,
                -0.28342967602480723
              ],
              [
                1.0159606069688603,
                0.7170808227603929,
                1.2639154953207394,
                -1.2222752530599879,
                -2.4114488062095685,
                1.6988161247053406,
                3.4575482287885184,
                1.4078687738213034
              ],
              [
                -0.10283245565055701,
                3.988636016109079,
                -0.6579681938496793,
                0.26928947599104114,
                -0.6612415665838105,
                3.5064845153680233,
                2.9002480100644386,
                2.0736832492213306
              ],
              [
                -2.3196844316297502,
                1.5554916285807106,
                -2.3287530776995626,
                1.6666191215346606,
                0.10573085816179552,
                1.49978383585182,
                -0.4965408199361375,
                0.3341682295561344
              ],
              [
                1.7510670851363712,
                0.9587885683998851,
                -1.2998268969434588,
                0.8810423591810158,
                -1.4172531457702777,
                3.004933604610901,
                -2.0353518106987276,
                3.0328340556397055
              ],
              [
                -1.417911169477785,
                -2.295075846819784,
                2.007402154869709,
                1.5180329509729493,
                1.0237700496666367,
                -1.5935734636308065,
                -2.8956649515918036,
                -2.9974402095253994
              ]
            ]
          }
        ],
        "vectors": [
          {
            "label": "Signal coefficient √ᾱₜ",
            "values": [
              0.5264878919644721
            ]
          },
          {
            "label": "Noise coefficient √(1−ᾱₜ)",
            "values": [
              0.8501826272130044
            ]
          }
        ],
        "metrics": [
          {
            "label": "Noise prediction MSE",
            "value": 1.2756064806444616
          },
          {
            "label": "Oracle x₀ maximum error",
            "value": 2.220446049250313e-16
          }
        ]
      },
      {
        "id": "reverse-8",
        "label": "Reverse chain · reached t = 8",
        "target": "denoiser.noise",
        "note": "Start from an independent Gaussian sample and reuse the same untrained denoiser for all 12 reverse steps. This records the state after step 9. At t = 1 no new noise is added. The result is an arithmetic demonstration, not a generated image from a trained DDPM.",
        "matrices": [
          {
            "label": "Starting Gaussian x₁₂",
            "values": [
              [
                1.9249117241824258,
                -0.5366028899121948,
                -0.4948297558009618,
                -0.13026438953864916,
                -1.0690239065635012,
                -1.4852549921846954,
                -0.20972040395576166,
                -0.3643393493633569
              ],
              [
                -0.8590931641963496,
                -0.8648108757768114,
                0.10026898815961566,
                -0.18629715380226006,
                -0.04090342607071494,
                0.5640495334205501,
                0.0932119811642432,
                0.35118753942284603
              ],
              [
                -1.5138113422662705,
                -1.088919024636857,
                0.8603237984858954,
                0.19359456962423252,
                0.9502385676055884,
                -0.4941852932165892,
                -1.2982792913599286,
                -1.6032537840232914
              ],
              [
                -0.9853345519305775,
                -0.20140000284536547,
                -0.2926421379217897,
                1.2307429261727634,
                -1.088178729489697,
                1.9944690735204083,
                1.0828581822950778,
                -0.06696558382152167
              ],
              [
                0.6005340298130931,
                -1.060530793882208,
                1.0135638850622695,
                -1.154920746161395,
                -0.9905104755689237,
                0.3358060081527006,
                0.20674134346268438,
                -0.32822441749453335
              ],
              [
                -0.5491030711468649,
                -1.1775095895486403,
                -1.994299394993165,
                0.13524046978719248,
                -0.1659011609794157,
                -0.26304414321759434,
                1.2767004972816027,
                -1.398437840050358
              ],
              [
                0.8845576263062012,
                -1.2325498547704115,
                0.870800224759094,
                -1.4289663665735974,
                -1.4446622672233151,
                0.17378905361890104,
                0.6878057521841164,
                -0.3673670776851491
              ],
              [
                0.4573816471385191,
                0.49997476904525057,
                -0.9070984646616539,
                2.063126396023007,
                1.215892289786361,
                -1.7788980772676535,
                -1.5280506573622274,
                0.7365234344863488
              ]
            ]
          },
          {
            "label": "Current sample x8",
            "values": [
              [
                4.379289059501534,
                -0.8504812101012704,
                -0.45761356318204105,
                -0.311739690837984,
                -0.17450494565111793,
                -1.2851853394204185,
                -0.3429619745078271,
                1.0051539774261902
              ],
              [
                -0.9103795886680129,
                1.1745770543283585,
                0.9358997076810496,
                0.6700275731978834,
                -0.6809898573263689,
                -1.3280190334666069,
                -1.0069082758498649,
                -0.6222881418631324
              ],
              [
                -2.3012663832299585,
                -1.2305226039392265,
                2.085736731031756,
                -0.9490730251671038,
                1.3039829892794135,
                -0.8590365106927715,
                -2.0650387503732732,
                -1.9946413845123403
              ],
              [
                -0.8871332973004924,
                -0.02320752801162966,
                -0.3127603326091232,
                2.9819854696322117,
                -1.4938330510891982,
                3.098832516223673,
                1.5499197618559948,
                0.3234649841138197
              ],
              [
                -0.21610669258726886,
                -1.7355619958837871,
                3.8484542954145478,
                -1.8067381476102413,
                -0.8307361564753576,
                -0.24241708131431572,
                1.1163242022162478,
                0.6571119327322864
              ],
              [
                0.104359956399138,
                -2.4128998367050993,
                -2.541901221919718,
                0.321206451804348,
                0.30222800724953813,
                -0.7860027856039191,
                2.461638210157353,
                -2.1881183000124382
              ],
              [
                1.138524707814706,
                -1.8003444762480334,
                0.7501869606263278,
                -2.381490443330813,
                -0.9254421849995794,
                1.7435090767544714,
                1.6425476080022894,
                -1.213913476717083
              ],
              [
                1.8088407406345879,
                -0.09313925890756079,
                -0.7725573348868952,
                4.2401430655716945,
                1.2385413276509467,
                -1.0129196509290295,
                -2.6182512081618694,
                2.4133967743335516
              ]
            ]
          },
          {
            "label": "Reverse mean at this step",
            "values": [
              [
                3.796090458514587,
                -0.593774808482743,
                -0.6228892251684229,
                -0.13193379524067236,
                -0.4024565846354353,
                -1.3110653951875706,
                -0.6028845281117335,
                0.7559438379594421
              ],
              [
                -0.9662254169073178,
                0.9013538393565242,
                0.3376574375513329,
                0.7437732425295802,
                -0.8449014473933459,
                -0.4395783416441151,
                -0.8892340151283585,
                0.010519058657869871
              ],
              [
                -1.9840198281086803,
                -1.2685186664846893,
                1.450084585876942,
                -0.4627265011909371,
                0.8153331852147776,
                -0.751183244945424,
                -2.55299633774815,
                -1.6661924194204167
              ],
              [
                -0.663418162619983,
                -0.09602267394518822,
                -0.6868897789527977,
                2.8816751404167724,
                -1.6936090886288502,
                3.2708057923549414,
                1.6711552916140455,
                0.30618808349764653
              ],
              [
                -0.27727917749612324,
                -2.302524787761523,
                3.444104164172473,
                -1.9665940843203864,
                -1.4439533408382923,
                -0.8964655782113753,
                1.4187235704210266,
                0.22627466468494942
              ],
              [
                0.19563855433547528,
                -2.501967583733189,
                -2.333037200386036,
                -0.07790865663965968,
                0.47677745400304566,
                -0.6582216198100198,
                2.4141544327190654,
                -2.329189215318274
              ],
              [
                0.7571604080229485,
                -2.204156483552705,
                1.15506086857324,
                -2.3115439771170845,
                -1.1442032698351667,
                1.9322040137206944,
                2.6067485849766276,
                -1.1500619470625935
              ],
              [
                1.3413176128397415,
                -0.08383410191428713,
                -0.8664173079302631,
                3.926404094969817,
                1.4554662419290492,
                -1.071430359446594,
                -2.0888333061230857,
                2.027383572464066
              ]
            ]
          }
        ],
        "vectors": [
          {
            "label": "Completed reverse timesteps",
            "values": [
              12,
              11,
              10,
              9
            ]
          }
        ],
        "metrics": [
          {
            "label": "Posterior variance at this step",
            "value": 0.11672279509496179
          },
          {
            "label": "Remaining denoiser calls",
            "value": 8
          }
        ]
      },
      {
        "id": "reverse-4",
        "label": "Reverse chain · reached t = 4",
        "target": "denoiser.noise",
        "note": "Start from an independent Gaussian sample and reuse the same untrained denoiser for all 12 reverse steps. This records the state after step 5. At t = 1 no new noise is added. The result is an arithmetic demonstration, not a generated image from a trained DDPM.",
        "matrices": [
          {
            "label": "Starting Gaussian x₁₂",
            "values": [
              [
                1.9249117241824258,
                -0.5366028899121948,
                -0.4948297558009618,
                -0.13026438953864916,
                -1.0690239065635012,
                -1.4852549921846954,
                -0.20972040395576166,
                -0.3643393493633569
              ],
              [
                -0.8590931641963496,
                -0.8648108757768114,
                0.10026898815961566,
                -0.18629715380226006,
                -0.04090342607071494,
                0.5640495334205501,
                0.0932119811642432,
                0.35118753942284603
              ],
              [
                -1.5138113422662705,
                -1.088919024636857,
                0.8603237984858954,
                0.19359456962423252,
                0.9502385676055884,
                -0.4941852932165892,
                -1.2982792913599286,
                -1.6032537840232914
              ],
              [
                -0.9853345519305775,
                -0.20140000284536547,
                -0.2926421379217897,
                1.2307429261727634,
                -1.088178729489697,
                1.9944690735204083,
                1.0828581822950778,
                -0.06696558382152167
              ],
              [
                0.6005340298130931,
                -1.060530793882208,
                1.0135638850622695,
                -1.154920746161395,
                -0.9905104755689237,
                0.3358060081527006,
                0.20674134346268438,
                -0.32822441749453335
              ],
              [
                -0.5491030711468649,
                -1.1775095895486403,
                -1.994299394993165,
                0.13524046978719248,
                -0.1659011609794157,
                -0.26304414321759434,
                1.2767004972816027,
                -1.398437840050358
              ],
              [
                0.8845576263062012,
                -1.2325498547704115,
                0.870800224759094,
                -1.4289663665735974,
                -1.4446622672233151,
                0.17378905361890104,
                0.6878057521841164,
                -0.3673670776851491
              ],
              [
                0.4573816471385191,
                0.49997476904525057,
                -0.9070984646616539,
                2.063126396023007,
                1.215892289786361,
                -1.7788980772676535,
                -1.5280506573622274,
                0.7365234344863488
              ]
            ]
          },
          {
            "label": "Current sample x4",
            "values": [
              [
                5.488092051097852,
                -0.8171728989966172,
                -0.4731431043863539,
                -0.8406371116538062,
                -0.1951951466700545,
                -2.149953414233685,
                -0.30578032253339893,
                0.08601958570800308
              ],
              [
                -1.1632028829199454,
                0.7071367153829344,
                1.0318159224075212,
                -0.09127512277570715,
                -1.145788865469979,
                -2.0938958069436415,
                -0.4472039585959525,
                -1.1283137678420065
              ],
              [
                -2.4095749731380516,
                -1.4486082434728285,
                3.068377221502335,
                -1.9969081249775382,
                0.7639031101345757,
                -1.0534320679716107,
                -1.933765120438365,
                -3.0467213970452263
              ],
              [
                -1.2885844471458783,
                -0.08611577209542273,
                0.12947126579182675,
                3.131364497860195,
                -3.148509199477067,
                4.119517056575162,
                2.379597322437237,
                0.6244026950435584
              ],
              [
                0.06697552798690738,
                -2.915621317768899,
                4.202334801545347,
                -1.409292908732396,
                -0.8901020533003305,
                0.901523827027153,
                1.5112379649170515,
                2.122507255542429
              ],
              [
                -0.16021431895101718,
                -2.2579334350128253,
                -2.508658527628076,
                0.4103948851876883,
                0.8212982671417888,
                -1.0754289565065724,
                3.014131380122263,
                -3.1563502466655002
              ],
              [
                1.706532044792971,
                -2.3559357489063038,
                1.2412854896346943,
                -3.38839211277117,
                -1.7938304148008306,
                2.465962512908048,
                1.7536636862965884,
                -0.8446563940118135
              ],
              [
                3.3833177602153204,
                0.44236616851260757,
                -0.9951126985394393,
                4.5512799902253365,
                1.8959485727867602,
                -1.0760106933501208,
                -3.1849492147298597,
                3.1416759199041575
              ]
            ]
          },
          {
            "label": "Reverse mean at this step",
            "values": [
              [
                5.520237083889552,
                -0.8180723249026829,
                -0.14527052772879812,
                -0.6154047967920747,
                -0.2503484389110538,
                -1.9215411879952675,
                -0.190129347460193,
                0.2835956856187397
              ],
              [
                -1.3243910183662755,
                0.7562343895788901,
                0.9227875893634515,
                -0.27799891475356,
                -1.0948994255379783,
                -1.9732864351437192,
                -0.4036833838242194,
                -1.1752663864778488
              ],
              [
                -2.3854551748162582,
                -1.5866019262444553,
                2.8790888218908033,
                -1.6137560317214295,
                1.0640062257064515,
                -0.7863189630535775,
                -1.9123898048604069,
                -2.728679968773077
              ],
              [
                -0.8926914978216216,
                -0.1731773374404825,
                -0.049551068452901186,
                3.2414792577856586,
                -3.2639323174542634,
                3.9896029628632137,
                2.351688970221024,
                0.6541182062604356
              ],
              [
                0.05706528192550462,
                -3.051999949883632,
                4.707146765749324,
                -1.2268454935354318,
                -1.1510488453294612,
                0.3720861534871911,
                1.6339227668164225,
                2.3447119450859
              ],
              [
                -0.4799841480274527,
                -2.779084161000997,
                -2.6342013139694425,
                0.10109803143430784,
                0.8463405947691419,
                -1.1862645623153278,
                3.1982601335611314,
                -2.9566011376672243
              ],
              [
                1.8073585447997964,
                -2.409082731400458,
                1.0027789388309862,
                -3.9966687048355554,
                -1.741775015472062,
                1.96046263888147,
                1.9044894719160534,
                -0.8468213287919668
              ],
              [
                3.1671464909010747,
                0.3942588214377435,
                -1.2319478277126232,
                4.759305874433495,
                1.8952035218195178,
                -0.7025765338998695,
                -3.191535296216649,
                2.917292021416168
              ]
            ]
          }
        ],
        "vectors": [
          {
            "label": "Completed reverse timesteps",
            "values": [
              12,
              11,
              10,
              9,
              8,
              7,
              6,
              5
            ]
          }
        ],
        "metrics": [
          {
            "label": "Posterior variance at this step",
            "value": 0.055133846101888324
          },
          {
            "label": "Remaining denoiser calls",
            "value": 4
          }
        ]
      },
      {
        "id": "reverse-0",
        "label": "Reverse chain · reached t = 0",
        "target": "denoiser.noise",
        "note": "Start from an independent Gaussian sample and reuse the same untrained denoiser for all 12 reverse steps. This records the state after step 1. At t = 1 no new noise is added. The result is an arithmetic demonstration, not a generated image from a trained DDPM.",
        "matrices": [
          {
            "label": "Starting Gaussian x₁₂",
            "values": [
              [
                1.9249117241824258,
                -0.5366028899121948,
                -0.4948297558009618,
                -0.13026438953864916,
                -1.0690239065635012,
                -1.4852549921846954,
                -0.20972040395576166,
                -0.3643393493633569
              ],
              [
                -0.8590931641963496,
                -0.8648108757768114,
                0.10026898815961566,
                -0.18629715380226006,
                -0.04090342607071494,
                0.5640495334205501,
                0.0932119811642432,
                0.35118753942284603
              ],
              [
                -1.5138113422662705,
                -1.088919024636857,
                0.8603237984858954,
                0.19359456962423252,
                0.9502385676055884,
                -0.4941852932165892,
                -1.2982792913599286,
                -1.6032537840232914
              ],
              [
                -0.9853345519305775,
                -0.20140000284536547,
                -0.2926421379217897,
                1.2307429261727634,
                -1.088178729489697,
                1.9944690735204083,
                1.0828581822950778,
                -0.06696558382152167
              ],
              [
                0.6005340298130931,
                -1.060530793882208,
                1.0135638850622695,
                -1.154920746161395,
                -0.9905104755689237,
                0.3358060081527006,
                0.20674134346268438,
                -0.32822441749453335
              ],
              [
                -0.5491030711468649,
                -1.1775095895486403,
                -1.994299394993165,
                0.13524046978719248,
                -0.1659011609794157,
                -0.26304414321759434,
                1.2767004972816027,
                -1.398437840050358
              ],
              [
                0.8845576263062012,
                -1.2325498547704115,
                0.870800224759094,
                -1.4289663665735974,
                -1.4446622672233151,
                0.17378905361890104,
                0.6878057521841164,
                -0.3673670776851491
              ],
              [
                0.4573816471385191,
                0.49997476904525057,
                -0.9070984646616539,
                2.063126396023007,
                1.215892289786361,
                -1.7788980772676535,
                -1.5280506573622274,
                0.7365234344863488
              ]
            ]
          },
          {
            "label": "Current sample x0",
            "values": [
              [
                5.707239208949884,
                -0.887567997373271,
                -0.6929286627326924,
                -0.018735097763523213,
                -0.21074292339206624,
                -2.0076516558806747,
                -0.015611186169995414,
                0.4489232062532685
              ],
              [
                -1.1550208201613619,
                0.908538985456497,
                1.2814656058834262,
                0.27278159989756257,
                -1.3806552023561511,
                -2.043010248466468,
                -0.802799300297213,
                -1.2698263596758177
              ],
              [
                -2.4811943401172227,
                -1.3442880894165314,
                3.4106717532398383,
                -1.4566781061555032,
                1.2367066294015945,
                -1.3713932476924298,
                -2.046636241283949,
                -3.2170555452914242
              ],
              [
                -1.1990009871799798,
                -0.2269527758693007,
                0.2195735446188947,
                3.741664545980726,
                -3.4502293964115918,
                4.5574468685266485,
                3.045434001251806,
                0.6275178927373936
              ],
              [
                -0.14996311214124353,
                -2.8610714740894805,
                4.578747369489409,
                -1.6044866892517278,
                -1.1471570184880158,
                0.9332254271269198,
                1.1791940184521617,
                2.5347857005888894
              ],
              [
                -0.36498925921513387,
                -2.7798548104129455,
                -2.726150545442577,
                0.45459235203631426,
                0.969459470045994,
                -1.1284527105879456,
                3.1633181387044296,
                -3.5675664901584594
              ],
              [
                2.206446122291653,
                -2.6338754977338197,
                1.7564520116565638,
                -4.6207987416829805,
                -1.950004387767801,
                2.22038062525182,
                1.7078329889614634,
                -0.5260521513543456
              ],
              [
                3.9327991516198724,
                0.7183170417520063,
                -0.546281379114661,
                4.830701984451725,
                2.2408876398054614,
                -0.873626575085951,
                -3.49042569935127,
                3.972773951192159
              ]
            ]
          },
          {
            "label": "Reverse mean at this step",
            "values": [
              [
                5.707239208949884,
                -0.887567997373271,
                -0.6929286627326924,
                -0.018735097763523213,
                -0.21074292339206624,
                -2.0076516558806747,
                -0.015611186169995414,
                0.4489232062532685
              ],
              [
                -1.1550208201613619,
                0.908538985456497,
                1.2814656058834262,
                0.27278159989756257,
                -1.3806552023561511,
                -2.043010248466468,
                -0.802799300297213,
                -1.2698263596758177
              ],
              [
                -2.4811943401172227,
                -1.3442880894165314,
                3.4106717532398383,
                -1.4566781061555032,
                1.2367066294015945,
                -1.3713932476924298,
                -2.046636241283949,
                -3.2170555452914242
              ],
              [
                -1.1990009871799798,
                -0.2269527758693007,
                0.2195735446188947,
                3.741664545980726,
                -3.4502293964115918,
                4.5574468685266485,
                3.045434001251806,
                0.6275178927373936
              ],
              [
                -0.14996311214124353,
                -2.8610714740894805,
                4.578747369489409,
                -1.6044866892517278,
                -1.1471570184880158,
                0.9332254271269198,
                1.1791940184521617,
                2.5347857005888894
              ],
              [
                -0.36498925921513387,
                -2.7798548104129455,
                -2.726150545442577,
                0.45459235203631426,
                0.969459470045994,
                -1.1284527105879456,
                3.1633181387044296,
                -3.5675664901584594
              ],
              [
                2.206446122291653,
                -2.6338754977338197,
                1.7564520116565638,
                -4.6207987416829805,
                -1.950004387767801,
                2.22038062525182,
                1.7078329889614634,
                -0.5260521513543456
              ],
              [
                3.9327991516198724,
                0.7183170417520063,
                -0.546281379114661,
                4.830701984451725,
                2.2408876398054614,
                -0.873626575085951,
                -3.49042569935127,
                3.972773951192159
              ]
            ]
          }
        ],
        "vectors": [
          {
            "label": "Completed reverse timesteps",
            "values": [
              12,
              11,
              10,
              9,
              8,
              7,
              6,
              5,
              4,
              3,
              2,
              1
            ]
          }
        ],
        "metrics": [
          {
            "label": "Posterior variance at this step",
            "value": 0
          },
          {
            "label": "Remaining denoiser calls",
            "value": 0
          }
        ]
      }
    ]
  },
  "revision": "e55f8ee8d75bece4",
  "files": {
    "graph.tensorviz.json": {
      "url": "/models/ddpm/e55f8ee8d75bece4/graph.tensorviz.json",
      "sha256": "c40e6484123678ed0f4fcc3e7c5e7ae87973964f0d0a9926a42a5f4a920af0fc",
      "bytes": 67943
    },
    "model.py": {
      "url": "/models/ddpm/e55f8ee8d75bece4/model.py",
      "sha256": "41018be9b51142b30ad5eb268182537f953328bcdf478c8859e71ee34b69372f",
      "bytes": 9274
    },
    "run.py": {
      "url": "/models/ddpm/e55f8ee8d75bece4/run.py",
      "sha256": "f35dff4bc58b05555166aca3ba04c374326bc9c31dd0d745c66314485c0c4754",
      "bytes": 768
    },
    "requirements.txt": {
      "url": "/models/ddpm/e55f8ee8d75bece4/requirements.txt",
      "sha256": "edb86016b42cb3cc6cdc0c490aab929d3bb098ced4515394f0b55766033e0daf",
      "bytes": 91
    },
    "preview.svg": {
      "url": "/models/ddpm/e55f8ee8d75bece4/preview.svg",
      "sha256": "c22f065b9effea93ac4c7d644a0fd40bed447366e5e428f42a07988afbebb18c",
      "bytes": 1997
    }
  }
}
