山东大学创新项目实训(2)本地部署StableDiffusion模型与基础工作流搭建 ...

打印 上一主题 下一主题

主题 1726|帖子 1726|积分 5178

本周工作:我完成了对StableDiffusion模型的本地部署、参数配置和基础文生图、模型反演工作流搭建,以及初步了解了DeepseekAPI。
  一、本地部署Stable Diffusion模型

1.下载相关资源

从官网下载源码
官网:Stability-AI/stablediffusion: High-Resolution Image Synthesis with Latent Diffusion Models
  1. git clone https://github.com/Stability-AI/stablediffusion.git
复制代码
可视化界面:AUTOMATIC1111/stable-diffusion-webui: Stable Diffusion web UI
  1. git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
复制代码
 配置依靠:
  1. cd stable-diffusion-webui
  2. pip install -r requirements_versions.txt -i https://pypi.tuna.tsinghua.edu.cn/simple  
  3. pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple  
复制代码
SD+webUI整合包:https://pan.quark.cn/s/2c832199b09b
解压后直接运行即可
安装comfyUI(工作流模式,类似达芬奇):comfyanonymous/ComfyUI: The most powerful and modular diffusion model GUI, api and backend with a graph/nodes interface.
  1. git clone https://github.com/comfyanonymous/ComfyUI.git
复制代码
懒得配置可以直接装整合包:https://pan.quark.cn/s/64b808baa960
也是解压后直接运行即可

custom_nodes为节点存放目录,可以自定义节点。
input存放要输入的图像
output存放输出的图像
models存放模型

diffusion_models存放基底模型(也就是Stable Diffusion官方练习模型或微调版本)
embeddingd存放图嵌入模型(练习成本高,不考虑)
hypernetworks存放超网络模型(练习成本高,不考虑)
loras存放LoRA模型,也是我们项目标重点关注部门,LoRA微调成本低,练习快。

出现以上字样表示运行乐成。
2.搭建基础文生图工作流

创建一个Checkpoint加载器,加载模型的参数(权重和偏置),这里利用官方Stable Diffusion1.5版本模型参数:

创建两个CLIP文本编码器,分别用于正向prompt和负向prompt的条件预测:

CLIP将图像和文本映射到同一个embedding空间中,使得匹配的图和文embedding彼此靠近,而不匹配的图和文Embedding彼此相距较远。这里的CLIP中的prompt相称于天生图片的条件,在每次迭代中通过盘算余弦相似度来权衡prompt与图像的匹配程度。


创建k采样器,将模型的参数作为输出传给采样器:

通过调节采样步数和降噪强度参数调节图像的细节天生过程。
创建空图像,并将其传给k采样器,由采样器在第一步迭代时天生相应巨细的随机噪声图,将CLIP模型找到的prompt对应的图embedding传给k采样器,作为其迭代收敛的约束条件:

创建VAE解码器,即变分自解码器,SD模型利用了某种矩阵变更(我也不清楚),将真实样本变更成抱负的数据分布以及分布的均值和方差。将练习完后的样本和模型的VAE参数传给VAE解码器进行解码:

完整工作流:

测试结果:
prompt:dinosaur

prompt:snowy mountain

3.模型反演

WD14 tagger反推算法:利用卷积神经网络(CNN)多个层级提取图像特性,这些特性会被映射到一个高维空间,并与练习数据会合已有的标签进行匹配。对于每个可能的标签,模型管帐算其置信度分数(范围为 0 到 1),表示该标签实用于该图片的可能性。置信度较高的标签会被整理成一个文本列表,按权重从高到低分列提示词。
模型下载地址:pythongosssss/ComfyUI-WD14-Tagger: A ComfyUI extension allowing for the interrogation of booru tags from images.
Clip询问机:CLIP 询问机的原理基于 CLIP 的图文对齐能力,通过对比学习练习出统一的多模态向量空间,然后在这一空间中盘算图像和文本之间的余弦相似度。

  • 对输入图像用图像编码器天生向量 vimage。
  • 对多个提示词用文本编码器天生向量 vtext。
  • 盘算 vimage 和 vtext 的余弦相似度,选出最高的文本作为图像的“最匹配形貌”。
模型下载地址:pharmapsychotic/clip-interrogator: Image to prompt with BLIP and CLIP
运行结果:

WD14 tagger天生最相关提示词并按权重高低次序分列:

Clip询问机天生形貌图像的自然语言文本:

二、了解DeepseekAPI

DeepSeek-R1接口:
1.输入参数:
参数名称必选范例形貌Action是String公共参数,范例,如:ChatCompletions(聊天)Version是String公共参数,版本Region是String公共参数,地点地区: 地区列表Model是String模型名称:deepseek-r1Messages.N是Array of Message聊天上下文信息。
1. 长度最多为 40,按对话时间从旧到新在数组中分列。
2. Message.Role 可选值:system、user、assistant。
此中,system 角色可选,如存在则必须位于列表的最开始。user 和 assistant 需瓜代出现,以 user 提问开始,user 提问结束,Content 不能为空。Role 的次序示例:[system(可选) user assistant user assistant user ...]
 Stream否Boolean是否流式输出
一样寻常设置为trueTemperature否Float 控制天生的随机性,取值范围为[0,1]。较高的值会产生更多样化的输出。值越接近 0,天生的文本越确定、保守;值越接近 1,天生的文本越随机、富有创造性
一样寻常设置为:0.5~0.7
MaxTokens否Integer最大天生的token数量 2.输出参数:
参数名称范例形貌CreatedIntegerUnix 时间戳,单元为秒UsageChatUsageToken 统计信息,按照总 Token 数量计费IdString本次请求的 RequestIdChoicesArray of Choice复兴内容ModelString模型名称:deepseek-r1RequestIdString唯一请求 ID,由服务端天生,每次请求都会返回(若请求因其他缘故起因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时必要提供该次请求的 RequestId。本接口为流式相应接口,当请求乐成时,RequestId 会被放在 HTTP 相应的 Header "X-TC-RequestId" 中 3.错误码:
错误码形貌FailedOperation操作失败FailedOperation.EngineServerError引擎层内部错误InvalidParameter参数错误RequestLimitExceeded请求的次数凌驾了频率限制ResourceUnavailable.ResourcePackageRunOut账号资源包耗尽 大体思路:
利用 POST 方法来转达参数,向 DeepSeek API 发送请求。调用post方法传入包含请求参数的RequestBody对象,构建 JSON 字符串,然后创建RequestBody对象,将 JSON 传入此中。最后将这个RequestBody对象转达给指定的的post方法,完成请求。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
继续阅读请点击广告

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

卖不甜枣

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表