DDIM官方代码调试

本文分析了DDIM官方源码中噪声参数(α,β)的计算方法,涉及线性、常数、JSD和sigmoid函数,以及采样过程中时间步的影响。同时提到VSCode配置文件中的参数设置变化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ddim官方源码分析

官方源码 ddim

  1. β t ∈ ( 0 , 1 ) \beta_t \in(0,1) βt(0,1) 的计算方式,有好几个种,源码中给出"linear",“const”,“jsd”,“sigmoid”,取值范围在(0,1),随着time_step逐步递增, 这是决定 产生Noise的分布参数,影响很大。
    也就是产生noise的参数是从 β t \beta_t βt中随机选出来的。

  2. 计算 α t {\alpha}_{t} αt α ˉ t \bar{\alpha}_{t} αˉt,这两个要搞清楚,后面的计算公式就不迷糊了
    α t = 1 − β t \alpha_t=1-\beta_t αt=1βt
    α ˉ t = α 1 . . . α t \bar{\alpha}_t= \alpha_1...\alpha_t αˉt=α1...αt 相乘

  3. 训练和DDPM保持不变

  4. 采样(推理)的公式变了,原来需要1000 steps,现在50个step就可以了,也就是中间可以跳过去。

  5. 对比了官网的代码,参数的命名很迷糊,目前我没有想到特别好的方案,反正一堆参数进去,要对原理完全理解,再去找代码确认理解是否到位。

vscode

{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "test",
            "type": "python",
            "request": "launch",
            "program": "main.py",
            "console": "integratedTerminal",
            "justMyCode": true,
            "args": [
                "--config",
                "cifar10.yml",
                "--exp",
                "output/cifar10",
                "--doc",
                "ddim",
                "--sample",
                "--sequence",
                "--timesteps",
                "50",
                "--eta",
                "0",
                "--ni",
            ]
        },
        {
            "name": "main",
            "type": "python",
            "request": "launch",
            "program": "main.py",
            "console": "integratedTerminal",
            "justMyCode": true,
            "args": [
                "--config",
                "cifar10.yml",
                "--exp",
                "output/cifar10",
                "--doc",
                "ddim",
                "--ni",
            ]
        }
    ]
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

且漫CN

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值