首页 > 编程语言 >大话AI绘画技术原理与算法优化

大话AI绘画技术原理与算法优化

时间:2023-04-29 22:34:41浏览次数:48  
标签:diffusion Diffusion keras AI 大话 -- 算法 stable 优化

引子

博主很长一段时间都没有发文,确实是在忙一些技术研究。

如标题所示,本篇博文主要把近段时间的研究工作做一个review。

看过各种相关技术的公关文章,林林总总,水分很多。

也确实没有多少人能把一些技术细节用一些比较通俗的语言阐述清楚。

故此,再一次冠以大话为题,对AI绘画主要是stable diffusion做一个技术梳理。

如何学习以及相关资源

相信很多朋友都想入门到这个技术领域捣腾捣腾,

而摆在眼前的确是一条臭水沟。

为什么这么说,让我们来看一些数据。

  • Hardware: 32 x 8 x A100 GPUs

  • Optimizer: AdamW

  • Gradient Accumulations: 2

  • Batch: 32 x 8 x 2 x 4 = 2048

  • Learning rate: warmup to 0.0001 for 10,000 steps and then kept constant

    Hardware Type: A100 PCIe 40GB

  • Hours used: 150000

  • Cloud Provider: AWS

  • Compute Region: US-east

  • Carbon Emitted (Power consumption x Time x Carbon produced based on location of power grid): 11250 kg CO2 eq.

摘自:CompVis/stable-diffusion-v1-4 · Hugging Face

该模型是在亚马逊云计算服务上使用256个NVIDIA A100 GPU训练,共花费15万个GPU小时,成本为60万美元

摘自:Stable Diffusion - 维基百科,自由的百科全书 (wikipedia.org)

这个数据就是一个劝退警告,但是由于效果太过于“吓人”,所以飞蛾扑火,全世界都打起架来了。

当然,刚开始学习,就直接奔着最终章去,确实也不是很现实。

随着这个领域的爆火,各种资源爆炸式增长。

以下是博主给出的一部分参考资源,便于参阅。

相关整合资源:

heejkoo/Awesome-Diffusion-Models: A collection of resources and papers on Diffusion Models (github.com)

第三方:

Generative Deep Learning (keras.io)

huggingface/diffusers:

标签:diffusion,Diffusion,keras,AI,大话,--,算法,stable,优化
From: https://www.cnblogs.com/cpuimage/p/17364566.html

相关文章

  • git提交本地master分支到远程main分支
    可以使用以下命令将本地master分支提交到远程main分支:首先,需要将本地master分支与远程存储库进行同步。可以使用以下命令将更新的数据从远程存储库拉取到本地:gitfetchorigin切换到本地master分支:gitcheckoutmaster将本地master分支合并到主分支main:gitmergeorigin......
  • git本地master分支推送到远程main分支
    如果你在本地使用的是master分支,而远程仓库使用的是main分支,那么需要进行一些设置才能将本地的master分支推送到远程的main分支。一种简单的方法是,在本地使用gitbranch-m命令将本地的master分支重命名为main分支,然后再将其推送到远程仓库。具体步骤如下:检查本地分......
  • z_auto_align G34 probing failed 问题及解决
    目前状况bltouch正常调平检测正常z轴自动对齐,显示probingfailed 原因:刷入新固件后,没有在printer上恢复设置(restoresetting),导致的probeoffset错误 解决方案:多种情况都可能导致该错误,此处仅为其中一种,以作补充刷入固件后检查以下probe......
  • C++中的STL容器和算法
    C++STL(标准模板库)提供了一组丰富的容器和算法,使得开发者能够更加高效地编写程序。本文将介绍STL中的一些常用容器和算法。容器vectorvector是一个动态数组,可以在运行时调整大小。它的优点在于可以快速地访问元素,缺点是在插入和删除元素时需要移动后面的元素。#include<vec......
  • 一文带你了解区块链中15种共识算法
    所有主要的区块链共识算法解释区块链技术席卷全球,提供了一种去中心化且安全的信息存储和传输方式。它还彻底改变了交易的执行方式,随之而来的是广泛的共识算法。在这里,共识算法在确保区块链网络的完整性方面发挥着关键作用。在本文中,我们将探讨所有主要类型的区块链共识算法、它们......
  • [oeasy]python0143_主控程序_main
    主控程序回忆上次内容上次把apple.py拆分成了输入主函数引用模块中变量的时候要带上包(module)名get_fruits.aget_fruits.b最终拆分代码成功!可以将程序再拆分成输入输出然后再由主函数调用吗?......
  • [2core]加解密算法
    本文主要记录从.netframework迁移到.net6后,加解密算法的跨平台测试,如AES和RSA算法。因为RSA使用了BouncyCastle类库提供的实现,所以并没有遇到什么问题。完成加解密算法跨平台测试,迁移工作算是告一段,也标志着从.netframework迁移.net6工作完毕。迁移工作完毕,表示基于.netframewor......
  • [oeasy]python0143_主控程序_main
    主控程序回忆上次内容上次把apple.py拆分成了输入主函数 引用模块中变量的时候要带上包(module)名get_fruits.aget_fruits.b  最终拆分代码成功! 可以将程序再拆分成输入输出 然后再由主函......
  • KMP算法
    KMP算法用于解决字符串匹配问题,str1某个字符串是否与str2一样,如果一样,返回str2开始的位置//KMP算法模板intn,m;chars[N],p[M];intne[M];//s[]是长文本,p[]是模式串(短串),n是s的长度,m是p的长度//读入字符串cin>>n>>s+1>>m>>p+1;//KMP算法习惯下标从1......
  • 一文彻底搞懂ZAB算法,看这篇就够了!!!
    最近需要设计一个分布式系统,需要一个中间件来存储共享的信息,来保证多个系统之间的数据一致性,调研了两个主流框架Zookeeper和ETCD,发现都能满足我们的系统需求。其中ETCD是K8s中采用的分布式存储,而其底层采用了RAFT算法来保证一致性,之前已经详细分析了Raft算法的原理,今天主要仔细分......