Mindspore框架利用扩散模型DDPM生成高分辨率图像(生成高保真图像项目实践)
- Mindspore框架利用扩散模型DDPM生成高分辨率图像|(一)关于denoising diffusion probabilistic model (DDPM)模型
- Mindspore框架利用扩散模型DDPM生成高分辨率图像|(二)数据集准备与处理
- Mindspore框架利用扩散模型DDPM生成高分辨率图像|(三)模型训练与推理实践
tips:环境构建
pip install -r requirements.txt
mindspore==2.2.14
download
dataset
matplotlib
tqdm
pip install -r requirements.txt
数据集准备与处理
下载数据集:Fashion_MNIST数据集;使用download下载并解压Fashion_MNIST数据集到指定路径。此数据集由已经具有相同分辨率的图像组成,即28x28。
# 下载MNIST数据集
url = 'https://mindspore-website.obs.cn-north-4.myhuaweicloud.com/notebook/datasets/dataset.zip'
path = download(url, './', kind="zip", replace=True)
数据集加载和预处理
from mindspore.dataset import FashionMnistDataset
image_size = 28
channels = 1
batch_size = 16
fashion_mnist_dataset_dir = "./dataset"
dataset = FashionMnistDataset(dataset_dir=fashion_mnist_dataset_dir, usage="train", num_parallel_workers=cpu_count(), shuffle=True, num_shards=1, shard_id=0)
transforms = [
RandomHorizontalFlip(),
ToTensor(),
lambda t: (t * 2) - 1
]
dataset = dataset.project('image')
dataset = dataset.shuffle(64)
dataset = dataset.map(transforms, 'image')
dataset = dataset.batch(16, drop_remainder=True)
测试:
x = next(dataset.create_dict_iterator())
print(x.keys())