当前位置: 首页 > news >正文

东莞建网站平台网站 文章 keywords 和主页keywords

东莞建网站平台,网站 文章 keywords 和主页keywords,移动互联网规模数据分析,韩国风格网站php源码前言#xff1a;本文没有太多公式推理#xff0c;只有一些简单的公式#xff0c;以及公式和代码的对应关系。本文仅做个人学习笔记#xff0c;如有理解错误的地方#xff0c;请指出。 本文包含stable diffusion入门文献和不同版本的代码。 文献资源 本文学习的代码本文没有太多公式推理只有一些简单的公式以及公式和代码的对应关系。本文仅做个人学习笔记如有理解错误的地方请指出。 本文包含stable diffusion入门文献和不同版本的代码。 文献资源 本文学习的代码相关文献 Denoising Diffusion Probabilistic Models : DDPM这个是必看的推推公式Denoising Diffusion Implicit Models DDIM对 DDPM 的改进Pseudo Numerical Methods for Diffusion Models on Manifolds PNMD/PLMS对 DDPM 的改进High-Resolution Image Synthesis with Latent Diffusion Models Latent-Diffusion必看Neural Discrete Representation Learning VQVAE简单翻了翻示意图非常形象很容易了解其做法 代码资源 stable diffusion v1.1-v1.4 https://github.com/CompVis/stable-diffusionstable diffusion v1.5https://github.com/runwayml/stable-diffusionstable diffusion v2https://github.com/Stability-AI/stablediffusionstable diffusion XLhttps://github.com/Stability-AI/generative-models 前向过程训练 输入一张图片随机噪声训练unet网络预测图片加上的噪声 反向过程推理 给个随机噪声不断迭代去噪输出一张图片 总体流程 输入的prompt经过clip encoder编码成(33,77,768)特征正负prompt各3个默认negative prompt为空‘’解码时正的和负的latent图片用公式计算一下才是最终结果time step通过linear层得到(33,1280)特征把prompt和time ebedding和随机生成的图片放入unet得到的就是我们要的图片。 采样流程 text2img 该函数在PLMSSampler中输入x(噪声(3,4,64,64))-----c输入的prompt(3,77,768)----t 输入的time step第几次去噪(3,)。把这三个东西输入unet得到预测的噪声e_t。 def p_sample_plms(self, x, c, t, index, repeat_noiseFalse, use_original_stepsFalse, quantize_denoisedFalse,temperature1., noise_dropout0., score_correctorNone, corrector_kwargsNone,unconditional_guidance_scale1., unconditional_conditioningNone, old_epsNone, t_nextNone):b, *_, device *x.shape, x.devicedef get_model_output(x, t):if unconditional_conditioning is None or unconditional_guidance_scale 1.:e_t self.model.apply_model(x, t, c)else:x_in torch.cat([x] * 2)t_in torch.cat([t] * 2)c_in torch.cat([unconditional_conditioning, c]) # 积极消极的prompt解码时按照公式减去消极prompt的图像e_t_uncond, e_t self.model.apply_model(x_in, t_in, c_in).chunk(2)e_t e_t_uncond unconditional_guidance_scale * (e_t - e_t_uncond)if score_corrector is not None:assert self.model.parameterization epse_t score_corrector.modify_score(self.model, e_t, x, t, c, **corrector_kwargs)return e_talphas self.model.alphas_cumprod if use_original_steps else self.ddim_alphasalphas_prev self.model.alphas_cumprod_prev if use_original_steps else self.ddim_alphas_prevsqrt_one_minus_alphas self.model.sqrt_one_minus_alphas_cumprod if use_original_steps else self.ddim_sqrt_one_minus_alphassigmas self.model.ddim_sigmas_for_original_num_steps if use_original_steps else self.ddim_sigmasdef get_x_prev_and_pred_x0(e_t, index):# select parameters corresponding to the currently considered timestepa_t torch.full((b, 1, 1, 1), alphas[index], devicedevice)a_prev torch.full((b, 1, 1, 1), alphas_prev[index], devicedevice)sigma_t torch.full((b, 1, 1, 1), sigmas[index], devicedevice)sqrt_one_minus_at torch.full((b, 1, 1, 1), sqrt_one_minus_alphas[index],devicedevice)# current prediction for x_0pred_x0 (x - sqrt_one_minus_at * e_t) / a_t.sqrt()if quantize_denoised:pred_x0, _, *_ self.model.first_stage_model.quantize(pred_x0)# direction pointing to x_tdir_xt (1. - a_prev - sigma_t**2).sqrt() * e_tnoise sigma_t * noise_like(x.shape, device, repeat_noise) * temperatureif noise_dropout 0.:noise torch.nn.functional.dropout(noise, pnoise_dropout)x_prev a_prev.sqrt() * pred_x0 dir_xt noisereturn x_prev, pred_x0e_t get_model_output(x, t) # 模型预测的噪声if len(old_eps) 0:# Pseudo Improved Euler (2nd order)x_prev, pred_x0 get_x_prev_and_pred_x0(e_t, index) # 输入噪声减去预测噪声得到新的噪声当前预测的latent图片e_t_next get_model_output(x_prev, t_next)e_t_prime (e_t e_t_next) / 2 # 两次噪声的均值elif len(old_eps) 1:# 2nd order Pseudo Linear Multistep (Adams-Bashforth)e_t_prime (3 * e_t - old_eps[-1]) / 2elif len(old_eps) 2:# 3nd order Pseudo Linear Multistep (Adams-Bashforth)e_t_prime (23 * e_t - 16 * old_eps[-1] 5 * old_eps[-2]) / 12elif len(old_eps) 3:# 4nd order Pseudo Linear Multistep (Adams-Bashforth)e_t_prime (55 * e_t - 59 * old_eps[-1] 37 * old_eps[-2] - 9 * old_eps[-3]) / 24x_prev, pred_x0 get_x_prev_and_pred_x0(e_t_prime, index)return x_prev, pred_x0, e_t接下来看公式 网络得到e_t后进入到get_x_prev_and_pred_x0函数可以看到pred_x0 (x - sqrt_one_minus_at * e_t) / a_t.sqrt()就是上述公式也就是说网络的预测结果通过公式计算我们可以得到预测的pred_x0原始图片和前一刻的噪声图像x_prev。 def get_x_prev_and_pred_x0(e_t, index):# select parameters corresponding to the currently considered timestepa_t torch.full((b, 1, 1, 1), alphas[index], devicedevice)a_prev torch.full((b, 1, 1, 1), alphas_prev[index], devicedevice)sigma_t torch.full((b, 1, 1, 1), sigmas[index], devicedevice)sqrt_one_minus_at torch.full((b, 1, 1, 1), sqrt_one_minus_alphas[index],devicedevice)# current prediction for x_0pred_x0 (x - sqrt_one_minus_at * e_t) / a_t.sqrt()if quantize_denoised:pred_x0, _, *_ self.model.first_stage_model.quantize(pred_x0)# direction pointing to x_tdir_xt (1. - a_prev - sigma_t**2).sqrt() * e_tnoise sigma_t * noise_like(x.shape, device, repeat_noise) * temperatureif noise_dropout 0.:noise torch.nn.functional.dropout(noise, pnoise_dropout)x_prev a_prev.sqrt() * pred_x0 dir_xt noisereturn x_prev, pred_x0前一刻的噪声图像的推理公式如图 得到了上一刻的噪声图片x_prev后(也就是函数返回的img)继续迭代最终生成需要的图片。 额外说明 这部分代码应该就是PLMS加速采样用的论文中有公式推理 另外还有一些参数是训练时候保存的betas逐渐增大用来控制噪声的强度。变量名解析 log_one_minus_alphas_cumprod其实就是log(1-alpha(右下角t)(头上直线))没有带prev的都是当前时刻t带prev的是前一时刻t-1。 参考文献 https://blog.csdn.net/Eric_1993/article/details/129600524?spm1001.2014.3001.5502 https://zhuanlan.zhihu.com/p/630354327
http://www.hkea.cn/news/14369836/

相关文章:

  • 陶瓷网站源码网页制作专业选择
  • 做教育app的网站有哪些内容昆山做网站好的
  • 受欢迎的免费建站怎么做网站才能被收购
  • 网站定制开发怎么做网站直接登陆wordpress
  • 淘客做网站多少钱上海天华建筑设计有限公司待遇
  • 网站建设交印花税嘛电商营销策略
  • 网站的ftp地址是什么网站建设开发网站案例项目费用
  • 个人网站建设模板看房自己的网站建设多少钱
  • 百度网盟网站有哪些青岛做网站价格
  • 优秀国外网站大全网站跳出率高还是低
  • 有没有做维修的网站一个人是否可以做公司网站
  • 免费自助建站网站一览自助建网站四川建设监理协会网站
  • 免费个人网站域名做的比较好的家具网站首页
  • 建设一个普通网站需要多少钱创新网站建设工作
  • 亮点云建站建设银行手机银行网站用户名是什么原因
  • 网站打开很慢怎么做优化dedecms 网站安全
  • 福州自适应网站建设wordpress 回到首页
  • 我想开个网站东营网站设计
  • 南宁网站建设官网最大的高仿手表网站
  • 蚌埠公司做网站店铺装修效果图大全
  • 海淀网站建设价格php如何做视频网站
  • 有没有专门做儿童房的网站杭州企业营销网站建设公司
  • 有关网站建设的说说前端开发面试题及答案
  • 盐城网站建设哪家快开发企业网关
  • 平台开发软件厦门seo网站推广
  • 重庆工程网站建设网站如何做更新
  • 昆明网站制作的方法什么样的水平可以做网站
  • 网站技术开发微网站开发手机模拟器
  • 中国建材网官方网站苏州建设有限公司
  • 做网站业务员上海快速建站平台