python diffusers StableDiffusionXLPipeline 离线使用

这篇具有很好参考价值的文章主要介绍了python diffusers StableDiffusionXLPipeline 离线使用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

  

下载sd_xl_base_1.0.safetensors

https://huggingface.co/runwayml/stable-diffusion-v1-5/tree/main

runwayml/stable-diffusion-v1-5 离线下载,python,人工智能,深度学习

我这下载后放到项目 models 里

runwayml/stable-diffusion-v1-5 离线下载,python,人工智能,深度学习

model_path = "./models/v1-5-pruned-emaonly.safetensors"
# model_path = "./models/v1-5-pruned.safetensors"
# modelId = "runwayml/stable-diffusion-v1-5"
if Util.isMac():
    # from_single_file
    pipe = StableDiffusionPipeline.from_single_file(model_path, original_config_file='./models/v1-inference.yaml', cache_dir='./cache/', use_safetensors=True)
    pipe = pipe.to("mps")
    pipe.enable_attention_slicing()
else:
    pipe = StableDiffusionPipeline.from_single_file(model_path, torch_dtype=torch.float16, use_safetensors=True)
    pipe.to("cuda")
    pipe.enable_model_cpu_offload()
    pipe.enable_attention_slicing()

修改package

Diffusers 里代码写死了会访问 huggingface,需要手工改掉



import sysconfig; 

def repalceStringInFile(srcStr, dstStr, filePath):
    # Read in the file
    with open(filePath, 'r') as file:
        filedata = file.read()

    # Replace the target string
    filedata = filedata.replace(srcStr, dstStr)

    # Write the file out again
    with open(filePath, 'w') as file:
        file.write(filedata)

sitedir=sysconfig.get_paths()["purelib"]
ckPtFilePath=f"{sitedir}/diffusers/pipelines/stable_diffusion/convert_from_ckpt.py"
print(ckPtFilePath)

srcStr="https://raw.githubusercontent.com/CompVis/stable-diffusion/main/configs/stable-diffusion/v1-inference.yaml"
dstStr="http://xxxxxx/github/CompVis_stable-diffusion_main_configs_stable-diffusion_v1-inference.yaml"

repalceStringInFile(srcStr, dstStr, ckPtFilePath)

srcStr="https://raw.githubusercontent.com/Stability-AI/stablediffusion/main/configs/stable-diffusion/v2-inference-v.yaml"
dstStr="http://xxxxxx/github/Stability-AI_stablediffusion_main_configs_stable-diffusion_v2-inference-v.yaml"
repalceStringInFile(srcStr, dstStr, ckPtFilePath)


srcStr="https://raw.githubusercontent.com/Stability-AI/generative-models/main/configs/inference/sd_xl_base.yaml"
dstStr="http://xxxxxx/github/Stability-AI_generative-models_main_configs_inference_sd_xl_base.yaml"
repalceStringInFile(srcStr, dstStr, ckPtFilePath)


srcStr="https://raw.githubusercontent.com/Stability-AI/generative-models/main/configs/inference/sd_xl_refiner.yaml"
dstStr="http://xxxxxx/github/Stability-AI_generative-models_main_configs_inference_sd_xl_refiner.yaml"
repalceStringInFile(srcStr, dstStr, ckPtFilePath)


ckPtFilePath=f"{sitedir}/diffusers/loaders.py"
print(ckPtFilePath)
srcStr="text_encoder=text_encoder,\n            vae=vae,"
dstStr="text_encoder=text_encoder,\n            local_files_only=True,\n            vae=vae,"
repalceStringInFile(srcStr, dstStr, ckPtFilePath)


ckPtFilePath=f"{sitedir}/diffusers/pipelines/stable_diffusion/convert_from_ckpt.py"
print(ckPtFilePath)
srcStr="has_projection=True, **config_kwargs"
dstStr="has_projection=True, local_files_only=local_files_only, **config_kwargs"
repalceStringInFile(srcStr, dstStr, ckPtFilePath)

http://xxxxxx 需要自己下载github里的文件,找地方放,然后替换链接

local_files_only是让取本地缓存,这个缓存在当前用户文件夹下

ubuntu

/home/fxbox/.cache/huggingface/hub

mac

/Users/linzhiji/.cache/huggingface/hub

把能翻墙的机器里的缓存,拷贝到不能翻墙的机器里

参考:

Stable Diffusion 图像生成 攻略三 - 知乎文章来源地址https://www.toymoban.com/news/detail-828909.html

到了这里,关于python diffusers StableDiffusionXLPipeline 离线使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 发现【Stable-Diffusion WEBUI】的神奇插件:离线自动翻译中文提示词

    本篇主要提到了WEBUI的提示词翻译插件,之前我说不喜欢联网的插件,而它是离线翻译。 更多不断丰富的内容参考:🔗 《继续Stable-Diffusion WEBUI方方面面研究(内容索引)》 参考:https://github.com/ParisNeo/prompt_translator 💡 不用联网 / 离线翻译 😄 它采用的是谷歌语言模型,可以将

    2023年04月27日
    浏览(70)
  • Ubuntu20.04 使用Python实现全过程离线语音识别(包含语音唤醒,语音转文字,指令识别,文字转语音)

      因为手头有一个项目,该项目需要在香橙派上实现语音控制,并且带有语音唤醒功能。简单来说,就是通过唤醒词唤醒香橙派,然后说出相关指令,香橙派去执行指令。   但是,在弄香橙派的时候,自带的麦克风不好使了,单独进行麦克风测试的时候是好使的,但是程

    2024年02月05日
    浏览(66)
  • 探索AI视频生成新纪元:文生视频Sora VS RunwayML、Pika及StableVideo——谁将引领未来

    由于在AI生成视频的时长上成功突破到一分钟,再加上演示视频的高度逼真和高质量,Sora立刻引起了轰动。在Sora横空出世之前,Runway一直被视为AI生成视频的默认选择,尤其是自去年11月推出第二代模型以来,Runway还被称为“AI视频界的MidJourney”。第二代模型Gen-2不仅解决了第

    2024年02月21日
    浏览(49)
  • Python 使用 Stable Diffusion API 生成图片示例

    代码: 输出: 说明: 运行后,图片以及 JSON 将会输出到当前目录下 output 中; TIP: 当然前提是你已经部署好 Stable Diffusion API 服务; 并且安装好跟我一样的模型以及一些相关的 LoRA ;

    2024年02月16日
    浏览(77)
  • Stable Diffusion WebUI使用python调用WD 1.4标签器(tagger),获取并处理标签tag权重

    Stable Diffusion为秋叶大佬的绘世2.2.4 webUI api后台:http://127.0.0.1:7860/docs

    2024年02月12日
    浏览(38)
  • Python:conda离线安装python环境

    在离线环境下,使用anaconda创建环境的时候,需要指定Python的版本,但是无法自动下载,需要手动下载Python包,然后用conda进行安装。 首先下载Python包,在https://repo.anaconda.com/中选择Anaconda Packages 。 可以看到里面有Python包也有R包还有Microsoft R Open等一些包,然后选择Python的相关

    2024年02月09日
    浏览(47)
  • Python的离线安装

    原文链接 在没有外网的情况下,安装Python环境只能采用离线方式。 Python离线安装包的下载地址:https://www.python.org/ftp/python/ 我选择的是: python-3.8.5-amd64.exe 双击运行安装包即可完成安装。 安装完成后添加环境变量: 查看是否成功: 输出版本号 Python 3.8.5 即表示安装成功。

    2024年02月08日
    浏览(61)
  • python离线安装三方包

    还是得找一台能联网的电脑,一般这种都是linux环境。 (一) 创建依赖包,并cd到指定目录下 (二)通过pip(pip3)下载文件 如果系统中有python2,并且你安装了Python3还没修改配置环境变量,就加个3 当执行download之后就会在/lib里面存在.whl文件了 (三)拷贝到目标机器执行inst

    2024年02月09日
    浏览(26)
  • Debian 系的 apt 离线安装工具和 Python pip 离线安装工具

    最近有个项目,服务器进去之后不能联网,装包什么的都不方便,于是用一天时间写了一个方便的工具,用于 Debian 和 Ubuntu 系包的离线安装,项目地址请点这里 github link. 两台服务器,一台 A 可以上网(最好网络好一点),一台 B 不能上网,保证 A 和 B 要具备相同架构,相同

    2024年02月11日
    浏览(44)
  • anaconda 离线安装Python环境

    在离线环境下,使用anaconda创建环境的时候,需要指定Python的版本,但是无法自动下载,需要手动下载Python包,然后用conda进行安装。 首先下载Python包,在 https://repo.anaconda.com/ 中选择 Anaconda Packages 。 可以看到里面有Python包也有R包还有Microsoft R Open等一些包,然后选择Python的相

    2024年02月12日
    浏览(74)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包