Mindspore框架:CycleGAN模型实现图像风格迁移算法
- Mindspore框架CycleGAN模型实现图像风格迁移|(一)CycleGAN神经网络模型构建
- Mindspore框架CycleGAN模型实现图像风格迁移|(二)实例数据集(苹果2橘子)
- Mindspore框架CycleGAN模型实现图像风格迁移|(三)损失函数计算
- Mindspore框架CycleGAN模型实现图像风格迁移|(四)CycleGAN模型训练
- Mindspore框架CycleGAN模型实现图像风格迁移|(五)CycleGAN模型推理与资源下载
CycleGAN模型训练
1. CycleGAN模型
流程:将苹果x输入G,得假橘子G(x);将假橘子G(x)和真橘子y输入判别器Dx(Dx为橘子判别器)判断真伪。
将真橘子y输入F,得假苹果F(x);将假苹果F(x)和真苹果x输入判别器Dy(Dy为苹果判别器)判断真伪。
然后在上述过程中,有4个反向传播,分别为G(x)、Dx、F(y)、Dy四个网络的反向传播。
2.构建模型:生成器模型和判别器模型构建
Mindspore框架CycleGAN模型实现图像风格迁移|(一)CycleGAN神经网络模型构建
3.加载在数据集
Mindspore框架CycleGAN模型实现图像风格迁移|(二)实例数据集(苹果2橘子)
4.创建损失函数和优化器
表示真假苹果损失,真假橘子损失,周期一致损失的综合损失函数。
Mindspore框架CycleGAN模型实现图像风格迁移|(三)损失函数计算,优化器选择,模型前向计算损失的过程,计算梯度和反向传播
5.训练模型
import os
import time
import random
import numpy as np
from PIL import Image
from mindspore import Tensor, save_checkpoint
from mindspore import dtype
# 由于时间原因,epochs设置为1,可根据需求进行调整
epochs = 1
save_step_num = 80
save_checkpoint_epochs = 1
save_ckpt_dir = './train_ckpt_outputs/'
print('Start training!')
for epoch in range(epochs):
g_loss = []
d_loss = []
start_time_e = time.time()