前言
之前只做过图像处理方面的模型任务,对pytorch框架比较了解,所以对于这个就是慢慢学来着,按照个人的习惯对写个笔记咯。
任务一: 运行baseline
使用线上GPU运行
之前跑代码的时候就只能租GPU,所以这个直接全部线上执行还挺好的。
搭环境
1. 进入阿里云免费试用区,免费使用算力时:阿里云社区编辑https://free.aliyun.com/?spm=5176.14066474.J_4683019720.1.8646754cugXKWo&scm=20140722.M_988563._.V_1&productCode=learn
2.进入魔搭社区授权
魔搭社区编辑https://www.modelscope.cn/my/mynotebook/authorization
3.报名
可图Kolors-LoRA风格故事挑战赛编辑https://tianchi.aliyun.com/competition/entrance/532254
4.搭环境
1,2步骤弄完后,可以直接在魔搭社区创环境,创实例。
5.运行
后面进到notebook中就可以正常运行代码了,因为官方已经把文件给了,所有步骤都在上面,基本上直接运行就行,花时间训练模型就OK
大致体验了过程,简单的看了一下代码,用pytorch编写的,所以读起来不是很困难,跟我之前做项目的流程大差不差。但难点在于我刚接触文生图这一方面,不懂原理,所以这是我之后需要了解的地方。
任务二:相关知识学习
文生图基本认识:
后面在网上看了个视频了解了基本训练流程。
在训练过程中,使用深度学习技术,通过大量的图像数据来优化模型的参数,利用卷积神经网络(CNN)提取图像特征,并通过扩散模型生成具有这些特征的图像。
Stable Diffusion是文生图技术的一种实现,它是一种基于Latent Diffusion Models(LDMs)实现的文生图(text-to-image)算法模型,通过模拟物理世界中的扩散过程,将噪声逐渐转化为具有特定结构和纹理的图像。
扩散模型
Diffusion Model(扩散模型)
-
DM『扩散模型』工作原理:通过向原始图像中,连续添加高斯噪声来破坏训练数据,然后通过反转这个噪声过程,来学习恢复数据。简单来说,包含两个过程:「前向扩散」和「逆向扩散」。
-
1)前向扩散:前向扩散过程是不断往输入图片中添加高斯噪声,直到原图像模糊;
-
2)逆向扩散;反向(逆向)扩散过程是将噪声不断还原为原始图片,这一举措会得到一个【模型】(令为模型A),这个模型训练并稳定下来,就能实现在线预测了,即给模型一个 文本提示或原始图像,它就能基于这个模型生成另一幅图像。
后记
这次练习大概了解了下文生图的概念,后面需要仔细了解一下代码,看能不能自己编写。按照官方给的步骤训练模型后,生成的图片都是可爱型的,应该是数据集的问题。后面自己换个数据集生成一下自己想要的图片风格玩玩。