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

网站建设与维护视频教程在中国如何申请域名

网站建设与维护视频教程,在中国如何申请域名,优秀网站配色,投资公司网站建设1 关于Diffusers Pipeline 1.1 简介 大部分扩散模型包含多个独立训练的子模型和组件模块组合而成,例如StableDiffusion 有: 3个独立训练的子模型:Autoencoder、 Conditional Unet、CLIP text encoder调度器组件scheduler,CLIPImageProcesso…

1 关于Diffusers Pipeline

1.1 简介

大部分扩散模型包含多个独立训练的子模型和组件模块组合而成,例如StableDiffusion 有:

  • 3个独立训练的子模型:Autoencoder、 Conditional Unet、CLIP text encoder
  • 调度器组件scheduler,
  • CLIPImageProcessor,
  • safety checker.

为了让开发者以最简单的方式使用最新最先进的扩散模型,diffusers开发了pipeline管理和使用这些类,使得开发者可以以端对端方式使用扩散模型。

注意:pipeline本身没有提供任何训练相关功能,如果想要实现训练,可以参考官方的训练样例

1.2 官方Pipeline

以下表格是diffusers官方实现的Pipeline,每个Pipeline有对应的论文。

PipelineSourceTasks
dance diffusionDance DiffusionUnconditional Audio Generation
ddpmDenoising Diffusion Probabilistic ModelsUnconditional Image Generation
ddimDenoising Diffusion Implicit ModelsUnconditional Image Generation
latent_diffusionHigh-Resolution Image Synthesis with Latent Diffusion ModelsText-to-Image Generation
latent_diffusion_uncondHigh-Resolution Image Synthesis with Latent Diffusion ModelsUnconditional Image Generation
pndmPseudo Numerical Methods for Diffusion Models on ManifoldsUnconditional Image Generation
score_sde_veScore-Based Generative Modeling through Stochastic Differential EquationsUnconditional Image Generation
score_sde_vpScore-Based Generative Modeling through Stochastic Differential EquationsUnconditional Image Generation
stable_diffusionStable DiffusionText-to-Image Generation
stable_diffusionStable DiffusionImage-to-Image Text-Guided Generation
stable_diffusionStable DiffusionText-Guided Image Inpainting
stochastic_karras_veElucidating the Design Space of Diffusion-Based Generative ModelsUnconditional Image Generation

2 Pipeline API接口

扩散模型包含多个独立的模型和组件,不同任务中模型独立训练,并且可以用其他模型替换。不同的Pipeline可能包含专有的函数接口,但所有Pipeline都有的共同函数如下:

  • from_pretrained(cls, pretrained_model_name_or_path, **kwargs): 参数pretrained_model_name_or_path可以是 Hugging Face Hub repository的 id, 例如: runwayml/stable-diffusion-v1-5 或本地路径:"./stable-diffusion". 为了确保所有模型和组件能被正确加载,需要提供一个 model_index.json 文件, 例如: runwayml/stable-diffusion-v1-5/model_index.json, 这个文件定义了所有要被加载的组件。其格式如下: <name>: ["<library>", "<class name>"],其中<name> 是类<class name>实例的名称。此类可以在库"<library>"中加载到。
  • save_pretrained(self, save_directory) : 参数save_directory为本地目录路径,例如: ./stable-diffusion ,所有的模型和组件会被保存。每个模型和组件创建一个对应的子目录,子目录名称为模型或组件的属性名称如./stable_diffusion/unet. 此外,还会再根目录创建 model_index.json 文件如:./stable_diffusion/model_index.json
  • to(self, torch_device: Optional[Union[str, torch.device]] = None) 参数torch_device为 stringtorch.device 类型,将所有torch.nn.Module 类型的对象转移到指定的device上,此函数与pytorch的to函数功能一致。
  • __call__函数执行推理,此函数定义了pipeline的推理逻辑,不同的Pipeline对应的推理输入差别很大,例如文生图Pipeline StableDiffusionPipeline 的输入应该是文本prompt,输出是生成的图。 而DDPMPipeline 则无需提供任何输入。因此读者需要根据实际的Pipeline功能以及查看相应的官方文档使用。

注意: 所有的Pipeline的__call__函数会自动调用torch.no_grad函数禁用梯度,因为Pipeline不是用于训练。如果你在前向推理后有保存梯度的需求,可以自定义Pipeline,参考官方示例

3 使用示例

1 扩散模型:文生图

# make sure you're logged in with `huggingface-cli login`
from diffusers import StableDiffusionPipeline, LMSDiscreteSchedulerpipe = StableDiffusionPipeline.from_pretrained("runwayml/stable-diffusion-v1-5")
pipe = pipe.to("cuda")prompt = "a photo of an astronaut riding a horse on mars"
image = pipe(prompt).images[0]  image.save("astronaut_rides_horse.png")

2 扩散模型:图生图

StableDiffusionImg2ImgPipeline 接受一个文本prompt和初始图片作为条件,指导生成新图。

import requests
from PIL import Image
from io import BytesIOfrom diffusers import StableDiffusionImg2ImgPipeline# load the pipeline
device = "cuda"
pipe = StableDiffusionImg2ImgPipeline.from_pretrained("runwayml/stable-diffusion-v1-5",torch_dtype=torch.float16,
).to(device)# let's download an initial image
url = "https://raw.githubusercontent.com/CompVis/stable-diffusion/main/assets/stable-samples/img2img/sketch-mountains-input.jpg"response = requests.get(url)
init_image = Image.open(BytesIO(response.content)).convert("RGB")
init_image = init_image.resize((768, 512))prompt = "A fantasy landscape, trending on artstation"images = pipe(prompt=prompt, image=init_image, strength=0.75, guidance_scale=7.5).imagesimages[0].save("fantasy_landscape.png")

可以在colab中直接运行colab

3 扩充模型:In-painting

StableDiffusionInpaintPipeline 接受文本prompt和mask,用于编辑图像指定区域。

import PIL
import requests
import torch
from io import BytesIOfrom diffusers import StableDiffusionInpaintPipelinedef download_image(url):response = requests.get(url)return PIL.Image.open(BytesIO(response.content)).convert("RGB")img_url = "https://raw.githubusercontent.com/CompVis/latent-diffusion/main/data/inpainting_examples/overture-creations-5sI6fQgYIuo.png"
mask_url = "https://raw.githubusercontent.com/CompVis/latent-diffusion/main/data/inpainting_examples/overture-creations-5sI6fQgYIuo_mask.png"init_image = download_image(img_url).resize((512, 512))
mask_image = download_image(mask_url).resize((512, 512))pipe = StableDiffusionInpaintPipeline.from_pretrained("runwayml/stable-diffusion-inpainting",torch_dtype=torch.float16,
)
pipe = pipe.to("cuda")prompt = "Face of a yellow cat, high resolution, sitting on a park bench"
image = pipe(prompt=prompt, image=init_image, mask_image=mask_image).images[0]

可以在colab中直接运行 colab

http://www.bjxfkj.com.cn/article/110547.html

相关文章:

  • 网站策划书的要点青岛网站建设seo优化
  • 北京建站模板展示平躺设计家官网
  • 电子商务网站建设应该侧重哪方面soho设计网站
  • 温州苍南网站建设品牌网站如何做
  • 网站切片 做程序html5网页制作源码大全
  • 如何让百度收录网站濮阳全员核酸检测
  • wordpress给会员发信seo推广培训中心
  • 佛山制作手机网站网站制作中需要注意的地方
  • 建个微商城网站电商小程序开发方案
  • 做公司网站需要什么程序html设计网站
  • 怎么查网站是哪家制作公司做的龙岩公司注册流程
  • 企业网站托管后果湖北城市建设职业技术学院网站
  • 永久免费的网站空间辽宁和生活app下载安装
  • wordpress 乱码太原seo优化公司
  • 张店网站开发招聘html5网页模板代码
  • 网站建设竞价托管外包张楚岚
  • 做警员编号网站大气宽屏的网站
  • 爱站网关键词长尾挖掘工具seo推广代理
  • 网页制作搜题软件seo和sem的概念
  • 网站建设在线建站哪些作弊网站
  • 针对网站开发者的问答网站网站建设运维策划
  • 大连网站制作中企动力网上营销怎么做
  • 招标网站哪个好用高端定制外贸网站
  • 南京seo网站建设费用沈阳哪家医院人流做得最好
  • 网站顶部悬浮广告代码wordpress 明星主题
  • 江海区建设局网站南充网站网站建设
  • 绿色食品网站模板.htm成品网站w在线观看
  • 高质量网站内容建设标准如何增加网站关键词密度
  • seo网站优化师个人备案挂企业网站
  • 网站 建设 流行 数据库网站开发和软件开发含义