ImageBind与Stable diffusion使用记录

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

参考代码

ImageBind:GitHub - facebookresearch/ImageBind: ImageBind One Embedding Space to Bind Them All

ImageBind + stable-diffusion-2-1-unclip:GitHub - Zeqiang-Lai/Anything2Image: Generate image from anything with ImageBind and Stable Diffusion

最近很火的ImageBind,它通过利用多种类型(depth、text、heatmap、audio、IMU)的图像配对数据来学习单个共享表示空间。ImageBind不需要所有模态同时出现的数据集,它利用了图像的绑定属性,只要将每个模态的embedding与图像embedding对齐,就能实现所有模态的迅速对齐。

ImageBind与Stable diffusion使用记录

但从ImageBind开源的代码来看,作者只开源了encode部分(把不同模态的数据映射到对齐的embedding space中),无法直接实现text2img、audio2img等功能。为了实现上述功能,大佬们便把ImageBind提供的“unified latent space”和stable diffusion中的decoder结合起来,感兴趣的可以去Github上搜Anything2Image或者BindDiffusion。这里我参考了ImageBind和Anything2Image的代码,复现了audio+img to img、text to img等功能,代码运行的依赖库可参考ImageBind的(pip install -r requirements.txt),再加上diffusers即可(pip install diffusers)。

代码示例

import torch
from diffusers import StableUnCLIPImg2ImgPipeline
import sys
sys.path.append("..")
from models import data
from models import imagebind_model
from models.imagebind_model import ModalityType


model = imagebind_model.imagebind_huge(pretrained=True).to("cuda").eval()
pipe = StableUnCLIPImg2ImgPipeline.from_pretrained("stabilityai/stable-diffusion-2-1-unclip", torch_dtype=torch.float16).to("cuda")

with torch.no_grad():
    ## image
    image_path = ["/kaxier01/projects/GPT/ImageBind/assets/image/bird.png"]
    embeddings = model.forward({ModalityType.VISION: data.load_and_transform_vision_data(image_path, "cuda")}, normalize=False)
    img_embeddings = embeddings[ModalityType.VISION]
    ## audio
    audio_path = ["/kaxier01/projects/GPT/ImageBind/assets/wav/wave.wav"]
    embeddings = model.forward({ModalityType.AUDIO: data.load_and_transform_audio_data(audio_path, "cuda")}, normalize=True)
    audio_embeddings = embeddings[ModalityType.AUDIO]
    embeddings = (img_embeddings + audio_embeddings) / 2

    images = pipe(image_embeds=embeddings.half()).images
    images[0].save("/kaxier01/projects/GPT/ImageBind/results/bird_wave_audioimg2img.png")

遇到问题及解决方法

这块遇到的问题主要是模型下载超时的问题,解决方法如下:

方法一:

到官网(Hugging Face – The AI community building the future.)去搜索模型并下载(最好全部文件都下下来),如

ImageBind与Stable diffusion使用记录

ImageBind与Stable diffusion使用记录

ImageBind与Stable diffusion使用记录

下载好后,在代码中指定模型路径即可,如

# 模型路径: "/kaxier01/projects/GPT/ImageBind/checkpoints/stable-diffusion-2-1-unclip"
pipe = StableUnCLIPImg2ImgPipeline.from_pretrained("/kaxier01/projects/GPT/ImageBind/checkpoints/stable-diffusion-2-1-unclip", torch_dtype=torch.float16).to("cuda")

方法二:

下载git-lfs

apt-get update
apt-get install git-lfs
git lfs install

下载并安装好后,即可使用该指令来下载模型,如

git lfs clone https://huggingface.co/stabilityai/stable-diffusion-2-1-unclip

结果展示 

thermal2img

input

ImageBind与Stable diffusion使用记录

output

ImageBind与Stable diffusion使用记录

audio+img2img

input

语音(wave.wav)+图片

ImageBind与Stable diffusion使用记录

output

ImageBind与Stable diffusion使用记录

text2img

input

'a photo of an astronaut riding a horse on mars'

output

ImageBind与Stable diffusion使用记录文章来源地址https://www.toymoban.com/news/detail-488527.html

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

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

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

相关文章

  • Stable-Diffusion-WebUI从代码下载到使用技巧

    本文用于对AI绘画感兴趣但无计算机编程基础的人,包含本人安装和使用过程中的心得,可供新学者参考。 心理准备: 电脑性能越高越好,最好有高端显卡,如30系以上。低端显卡也可以,速度和质量感人就是; 会要求下载一些软件、模型,涉及环境变量设置、虚拟环境安装

    2024年02月10日
    浏览(69)
  • 使用Optimum-Intel OpenVINO™轻松文生图——几行代码加速Stable Diffusion

    作者 :武卓博士 英特尔AI布道师 随着AIGC模型越来越强大,并取得了更惊人的结果,任意运行AIGC模型, 比如Stable Diffusion,对于开发人员来说仍然面临一些挑战。首先,GPU的安装设置需要我们处理复杂的配置和兼容性问题,这可能既耗时又令人沮丧。此外,如果运行Stable Diff

    2024年02月08日
    浏览(44)
  • huggingface的diffusers训练stable diffusion记录

    目录 1.原理                 扩散模型的目的是什么?                         扩散模型是怎么做的?                         前向过程在干啥?                 反向过程在干啥? 2.安装环境 3.lora 训练 4.推理 5.源代码​         

    2024年04月26日
    浏览(34)
  • Stable Diffusion搭建问题记录

    这个问题是困扰我最久的一个问题,原因:本机开启了代理,代理将127.0.0.1解析到了别的地方,因此控制台无任何异常,前段报了一下类似socket的异常,太坑了,搞了我4天,我醉了,解决方案,关掉代理,然后mac,网络-高级选项-http/https/socket代理都关闭,就可以了 原因:

    2024年02月12日
    浏览(40)
  • Windows安装Stable Diffusion ComfyUI及问题解决记录(注意不是Stable Diffusion WebUI)

    本文是 Stable Diffusion ComfyUI 的安装介绍,并非Stable Diffusion WebUI。该软件使用了流程管理,目前来看更适合专业的设计师,虽然已能实现所有原生的功能,但软件本身目前仍处于初级阶段,还有很多地方需要改进,比如中文版、更多的扩展…的支持~~所以如果你对stable diffusion还

    2024年02月09日
    浏览(50)
  • stable-diffusion基础问题记录

    1、启动 如果自己是anaconda,python版本不是3.10.6 conda create -n python_3_10_6 python=3.10.6,创建一个这样的环境 修改webui-user.bat set PYTHON=D:/software/Anaconda3/envs/python_3_10_6/python,把python换成这个版本 然后再启动bat 2、下载gfpgan的时候,如果遇到这种情况:使用国内的网会卡住,使用国外

    2024年02月09日
    浏览(37)
  • Stable Diffusion ubuntu 部署,问题记录

    在使用图生图时,报错 NansException: A tensor with all NaNs was produced in Unet. This could be either because there\\\'s not enough precision to represent the picture, or because your video card does not support half type. Try setting the \\\"Upcast cross attention layer to float32\\\" option in Settings Stable Diffusion or using the --no-half commandline a

    2024年02月06日
    浏览(44)
  • Stable Diffusion WebUI 踩坑记录

    WIndows 和 Mac 基本上遇到的问题很像,主要是解决「网络」问题。 暂时不支持 3.11 版本 如果电脑存在多个 python 版本,最好在 .bash_profile 里面 alias python=pythoon3.10 一下 https://blog.csdn.net/weixin_47139649/article/details/109135065 临时: pip install -i https://pypi.tuna.tsinghua.edu.cn/simple 永久: ~/

    2024年02月05日
    浏览(34)
  • Stable Diffusion WebUi云端部署配置记录

    业务逻辑: 服务器部署sdwebui项目,远程浏览器访问ui界面。服务器可租用AutoDL的GPU服务器 服务器: 租用AutoDL的GPU服务器,Linux Stable Diffusion WebUi: 作者AUTOMATIC1111,github项目地址GitHub - AUTOMATIC1111/stable-diffusion-webui: Stable Diffusion web UI 部署流程如下: 1、租用AutoDL服务器,创建虚

    2024年02月03日
    浏览(59)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包