目录
方案1
假设steps是100,
目标减去输入是总差异
训练的时候,输入就是图像 差异就目标减去输入,每步的差异(高斯噪声)是最大目标减去差异除以steps,
每次训练时把把目标减去每步差异,用unet去预测差异
预测的时候,输入图像,然后加上时间t,unet预测这个差异,然后加上这个差异,通过每次预测差异,然后就生成出了我们要的图像。
方案2
每步的差异(高斯噪声)是每个目标减去自己的输入差异除以steps。
模拟difussion
把矩阵的值等分100个阶段,矩阵值域0到10000,阶段输入1,那么 大于100的取100,小于100的返回原值,输入阶段2,大于200的返回200,小于200返回原值
import torch
def adjust_matrix_values_torch(matrix, stage):
threshold = 100 * stage
adjusted_matrix = torch.where(matrix > threshold, t