【DL】GAN网络

图像预处理

对文件夹下批量图片进行rename

import os

# 图片存放的路径
path = r"C:\Users\ZJL\Desktop\1"

# 遍历更改文件名
num = 1
for file in os.listdir(path):
    os.rename(os.path.join(path,file),os.path.join(path,str(num))+".jpg")
    num = num + 1

本次项目只有八张图片,我们需要进行数据增强,获取更大的数据集。

首先,要对图像进行分辨率的统一。分辨率,即为图像中像素点的个数,例如,一个分辨率为 1920x1080 的图像,表示它在水平方向上有 1920 个像素,在垂直方向上有 1080 个像素。

问:为什么相同分辨率,相同文件类型,但是图片的文件大小不一样?
答:
图像内容的复杂程度:相同分辨率的图像,如果其内容越复杂,文件大小就可能越大。因为图像的复杂程度与其所包含的信息量有关,而信息量越大,文件大小也就越大。

像素的位深度:像素的位深度指的是每个像素能够表示的颜色的数量。例如,8 位深度的像素可以表示 256 种颜色,而 16 位深度的像素可以表示 65,536 种颜色。相同分辨率的图像,如果其像素的位深度不同,文件大小也可能会不同。

元数据的不同:图像文件中可能包含一些元数据,例如创建时间、修改时间、拍摄设备等信息,这些元数据的不同也可能会导致文件大小的差异。

在神经网络中,我们通常需要将输入图像的尺寸规范化为相同的分辨率。

然后我们进行数据增强

训练循环顺序:
步骤1
生成器不动,生成器产生一批假图片,再拿取一批真实图片,喂给判别器,训练判别器。
我们希望判别器对假图片打上标签0,对真图片打上标签1
步骤2
判别器不动,训练生成器

pytorch保存图片 save_image ,读取图片

训练GAN网络训练多少次比较合适?
最好使用一种称为 "early stopping" 的方法,即在模型在验证集上的表现开始下降时停止训练。这样可以避免模型出现过拟合的情况。

另外,也可以使用 "learning rate decay" 的方法来防止模型出现过拟合的情况。这种方法的原理是,在训练过程中,会逐渐降低学习率,以便模型能够更加稳定地收敛到最优解。

赞赏