DDPM代码详细解读(1):数据集准备、超参数设置、loss设计、关键参数计算

[

DDPM(Denoising Diffusion Probabilistic Model)是一种生成式模型,可以用于图像生成和图像去噪等任务。下面是用 PyTorch_框架训练自己 _数据集_的 _DDPM _代码_示例: import torch import torch.nn as nn import torch.nn.functional as F import torchvision.transforms as transforms import torchvision.datasets as datasets from torch.utils.data import DataLoader # 定义 _DDPM_模型 class _DDPM_(nn.Module): def __init__(self, in_channels, out_channels): super(_DDPM_, self).__init__() self.in_channels = in_channels self.out_channels = out_channels self.conv1 = nn.Conv2d(in_channels, 128, 3, stride=1, padding=1, bias=False) self.conv2 = nn.Conv2d(128, 128, 3, stride=1, padding=1, bias=False) self.conv3 = nn.Conv2d(128, 128, 3, stride=1, padding=1, bias=False) self.conv4 = nn.Conv2d(128, out_channels, 3, stride=1, padding=1, bias=False) self.register_buffer('eps', torch.tensor(1e-8)) def forward(self, x): noise = torch.randn_like(x) out = self.conv1(noise) out = F.relu(out) out = self.conv2(out) out = F.relu(out) out = self.conv3(out) out = F.relu(out) out = self.conv4(out) out = out / torch.sqrt(torch.mean(out**2, dim=[1,2,3], keepdim=True) + self.eps) return x + out # 定义训练函数 def train(model, train_loader, optimizer, criterion, device): model.train() for i, (input, _) in enumerate(train_loader): input = input.to(device) optimizer.zero_grad() output = model(input) _loss_ = criterion(output, input) _loss_.backward() optimizer.step() if i % 10 == 0: print('Step [{}/{}], _Loss_: {:.4f}'.format(i, len(train_loader), _loss_.item())) # 定义 _数据集_和数据加载器 transform = transforms.Compose([ transforms.ToTensor(), transforms.Normalize((0.5,), (0.5,)) ]) train_dataset = datasets.ImageFolder(root='./train', transform=transform) train_loader = DataLoader(train_dataset, batch_size=16, shuffle=True) # 定义模型、损失函数、优化器和设备 model = _DDPM_(1, 1).to('cuda') criterion = nn.MSE _Loss_() optimizer = torch.optim.Adam(model.parameters(), lr=0.001) # 训练模型 num_epochs = 10 for epoch in range(num_epochs): train(model, train_loader, optimizer, criterion, 'cuda') # 保存模型 torch.save(model.state_dict(), ' _ddpm_.pth') 在 _代码_中,我们定义了一个 _DDPM_模型,包含四个卷积层和一个标准差归一化层,用于对输入数据进行处理。然后,我们使用 _PyTorch_自带的ImageFolder类加载训练集数据,并使用DataLoader类构建数据加载器。接着,我们定义了一个训练函数`](https://wenku.csdn.net/answer/3686e46d62d54b8a88c92afc9d55357c)

Original: https://blog.csdn.net/qq_41895747/article/details/123660935
Author: 沉迷单车的追风少年
Title: DDPM代码详细解读(1):数据集准备、超参数设置、loss设计、关键参数计算

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/705701/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 二手车估价问题浅析

    问题一:通过给定的二手车交易样本数据”附件1:估价训练数据.txt”文件,选用合适的估价方法,构建相应的数据模型,来对二手车的零售交易价格进行预测,并且数据…

    人工智能 2023年7月17日
    071
  • Informer模型与基础学习

    文章目录 摘要 文献阅读 一. Informer: 一个基于Transformer改进的高效的长时间序列预测模型 * 1.1 论文摘要 1.2 研究内容 1.3 Informer模…

    人工智能 2023年6月23日
    071
  • Python文件操作

    一、open 函数 python 提供内置函数 open()实现对文件的操作。python 对文本文件和二进制文件采用统一的操作步骤,和把大象放冰箱里的一样分三步,”打…

    人工智能 2023年7月29日
    061
  • torch.fft类下面的函数

    这篇博客比较简洁给大家一个 直观的对序列的傅里叶变换与其逆变换,具体可以参考 底部链接 torch.fft.fft&&torch.fft.ifft torch.ff…

    人工智能 2023年7月22日
    069
  • Redis+Dubbo+Spring Boot+JVM+Spring Cloud

    1.Redis 面试题 1、什么是 Redis?. 2、Redis 的数据类型?3、使用 Redis 有哪些好处?4、Redis 相比 Memcached 有哪些优势?5、Memc…

    人工智能 2023年7月31日
    060
  • yolov3 MNN框架部署C++版

    一、模型转换: 1.训练的模型格式:https://github.com/AlexeyAB/darknet/ darknet训练出来的weights 2.将训练时的.cfg文件和训…

    人工智能 2023年7月10日
    091
  • 图像处理-图片恢复

    目录 一、中值滤波 二、inpaint函数 一、中值滤波 中值滤波是一种非线性的信号处理方法,所以它是一种非线性滤波器,也是一种统计排序滤波器。它将每一像素点的灰度值设置为该点某邻…

    人工智能 2023年6月22日
    058
  • 数学建模:线性规划—奶制品的生产销售计划模型 (Python 求解)

    奶制品的生产销售计划一 (粗加工) 1 桶牛奶 { 12 h ⟶ 3 k g A 1 ⟶ 获利 24 元 / k g 8 h ⟶ 4 k g A 2 ⟶ 获利 16 元 / k g…

    人工智能 2023年7月15日
    080
  • Pandas的基本使用

    1.关于Pandas Pandas是基于Numpy的。但Numpy只能处理数字,若想处理其他类型的数据,如字符串等,就得依靠Pandas Pandas有两大类数据类型: 2.Pan…

    人工智能 2023年7月8日
    090
  • 玩机搞机—-安卓全机型修改 开机动画 步骤教程

    前面解析了下开机第一屏的一些常识,今天来说说开机动画方面。 基本所有的安卓机型都有开机动画 从安卓4.0或者更早截止到目前的安卓13版本。安卓开机顺序简单的来说就是开机第一屏&#8…

    人工智能 2023年6月29日
    0138
  • RTX3090 与pytorch版本对应关系

    在RTX 3090 上判断,当前版本的的torch版本是否可以用,一般需要通过如下方式: conda activate torch1.8.1 ( 激活相关的虚拟环境) python…

    人工智能 2023年7月20日
    067
  • 音频基础 2

    02|如何量化分析语音信号? 语音的基本特征 根据发音原理,语音可分为清音和清音。语音的声调和能量分布可以通过基频、谐波、共振峰等特征进行分析。为了更好地分析言语,我们首先来看看言…

    人工智能 2023年5月25日
    072
  • 相机标定——张氏标定法

    目录 * – 前言 – + 动机 + 为什么要进行相机标定 + 什么是张氏标定法 – 张氏标定法的原理 – + 透镜成像原理 + 世…

    人工智能 2023年6月17日
    069
  • 基于MATLAB的远程声控小车的系统设计与仿真

    文章目录 写在前面 1 设计目标与问题分解 * 1.1 设计目标 1.2 问题分解 2 解决思路 * 2.1 信源编码和解码部分 2.2 信道编码和解码部分 2.3 噪声信道部分 …

    人工智能 2023年5月25日
    095
  • 【4】 脑部MRI图像肿瘤分类级别

    级别分类 高级别(间变性星形细胞瘤和多形性胶质母细胞瘤)胶质瘤(HGG)和低级别胶质瘤(LGG) MRI (组织学诊断:星形细胞瘤或少突星形细胞瘤)组成。 肿瘤组别 肿瘤类型 Ⅰ级…

    人工智能 2023年7月2日
    0107
  • 海康工业相机SDK+OpenCV实例(2):RawDataFormatConvert详解

    海康工业相机SDK+OpenCV实例(2): RawDataFormatConvert详解 文章目录 海康工业相机SDK+OpenCV实例(2): RawDataFormatCon…

    人工智能 2023年6月22日
    080
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球