【diffusion model】扩散模型入门

编程入门 行业动态 更新时间:2024-10-10 07:28:43

【diffusion model】扩散模型<a href=https://www.elefans.com/category/jswz/34/1770026.html style=入门"/>

【diffusion model】扩散模型入门

写在最前,参加DataWhale 10月组队学习。
参考资料:
HuggingFace 开源diffusion-models-class

1.扩散模型介绍

2.调用模型生成一张赛博风格的猫咪图片

2.1 安装依赖包

%pip install -qq -U diffusers datasets transformers accelerate ftfy pyarrow==9.0.0

2.2 notebook登录huggingface账号

from huggingface_hub import notebook_loginnotebook_login()

建议创建可写token,后续如果要上传模型的话有write权限

2.3 配置命令

%%capture
!sudo apt -qq install git-lfs
!git config --global credential.helper store

这两个命令用于在Jupyter Notebook中运行Shell命令,并将输出捕获(capture)起来,而不直接在Notebook中显示输出。

%%capture是一个Jupyter Notebook的魔法命令(magic command),它会捕获后续单元格中所有命令的标准输出(stdout)和标准错误输出(stderr),并将其保存在一个变量中,以便进一步处理或分析。

!sudo apt -qq install git-lfs用于在Shell中以sudo权限(管理员权限)安装git-lfs(Git Large File Storage)。-qq参数表示安装过程中不显示详细信息。

!git config --global credential.helper store用于在Shell中设置git的全局配置,将认证信息存储在文件中,而不是在内存中。这可以使得git在每次需要认证时都不再询问用户名和密码,而是从文件中读取认证信息。

请注意,sudo命令需要输入密码来确认你有权限进行系统级的安装。在Jupyter Notebook中执行这些命令时,你可能需要手动输入密码。如果你使用的是虚拟环境,你可能不需要使用sudo权限来安装包。请根据你的需求和系统权限进行相应的调整。

2.4 引入依赖

import numpy as np
import torch
import torch.nn.functional as F
from matplotlib import pyplot as plt
from PIL import Image
# Mac users may need device = 'mps' (untested)
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")

2.5 下载模型

from diffusers import StableDiffusionPipeline
import torch
model_id = "prompthero/openjourney"
pipe = StableDiffusionPipeline.from_pretrained(model_id, torch_dtype=torch.float16)
pipe = pipe.to("cuda")

2.6 输入提示词出图

prompt = "A cat wearing smart sunglasses, holding a laser, wearing a space suit, cyberpunk style"
image = pipe(prompt).images[0]
image.save("./cat1.png")
image

更多推荐

【diffusion model】扩散模型入门

本文发布于:2023-12-06 10:40:46,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1667327.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:入门   模型   diffusion   model

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!