IP-Adapter:文本兼容图像提示适配器,用于文本到图像扩散模型

IP-Adapter这是一种有效且轻量级的适配器,用于实现预训练文本到图像扩散模型的图像提示功能。只有 22M 参数的 IP 适配器可以实现与微调图像提示模型相当甚至更好的性能。IP-Adapter 不仅可以推广到从同一基本模型微调的其他自定义模型,还可以推广到使用现有可控工具的可控生成。此外,图像提示还可以与文本提示配合使用,以完成多模态图像生成。

项目地址:https://github.com/tencent-ailab/IP-Adapter

image.png

释放

  • [2023/11/22] 由于 Diffusers 团队,Diffusers 中提供了 IP-Adapter。
  • [2023/11/10] 🔥 添加IP-Adapter-Face的更新版本。演示在这里。
  • [2023/11/05] 🔥 使用 IP 适配器和 Kandinsky 2.2 Prior 添加文本到图像的演示
  • [2023/11/02] 支持安全张量
  • [2023/9/08] 🔥 更新新版本的 IP-Adapter SDXL_1.0。更多信息可以在这里找到。
  • [2023/9/05] 🔥🔥🔥 WebUI 和 ComfyUI(或 ComfyUI_IPAdapter_plus)支持 IP-Adapter。
  • [2023/8/30] 🔥 根据提示添加带有人脸图像的 IP 适配器。演示在这里。
  • [2023/8/29] 🔥 发布训练代码。
  • [2023/8/23] 🔥 添加具有细粒度功能的 IP-Adapter 代码和型号。演示在这里。
  • [2023/8/18] 🔥 为 SDXL 1.0 添加代码和模型。演示在这里。
  • [2023/8/16] 🔥 我们发布代码和模型。

安装

# install latest diffusers
pip install diffusers==0.22.1# install ip-adapter
pip install git+https://github.com/tencent-ailab/IP-Adapter.git# download the models
cd IP-Adapter
git lfs install
git clone https://huggingface.co/h94/IP-Adapter
mv IP-Adapter/models models
mv IP-Adapter/sdxl_models sdxl_models# then you can use the notebook

install ip-adapter

pip install git+https://github.com/tencent-ailab/IP-Adapter.git

download the models

cd IP-Adapter
git lfs install
git clone https://huggingface.co/h94/IP-Adapter
mv IP-Adapter/models models
mv IP-Adapter/sdxl_models sdxl_models

下载模型

您可以从这里下载模型。要运行演示,您还应该下载以下模型:

  • 跑道ML / 稳定扩散-V1-5
  • 稳定性AI/SD-VAE-FT-MSE
  • SG161222/Realistic_Vision_V4.0_noVAE
  • ControlNet 模型

如何使用

image.png

最佳实践

  • 如果仅使用图像提示,则可以设置 and(或一些通用文本提示,例如“最佳质量”,也可以使用任何否定文本提示)。如果降低 ,可以生成更多样化的图像,但它们可能与图像提示不一致。scale=1.0``text_prompt=""``scale
  • 对于多模式提示,您可以调整 以获得最佳结果。在大多数情况下,设置可以获得良好的效果。对于 SD 1.5 版本,我们建议使用社区模型来生成良好的图像。scale``scale=0.5

用于非方形图像的 IP 适配器

由于图像在 CLIP 的默认图像处理器中居中裁剪,因此 IP 适配器最适合方形图像。对于非正方形图像,它会错过中心之外的信息。

SDXL_1.0

  • ip_adapter_sdxl_demo:带有图像提示的图像变化。
  • ip_adapter_sdxl_controlnet_demo:带有图像提示的结构生成。

IP-Adapter_XL与Reimagine XL的比较如下:

[图片上传失败…(image-8cda2a-1701140382732)]

新版本 (2023.9.8) 中的改进

  • 切换到 CLIP-ViT-H:我们使用 OpenCLIP-ViT-H-14 而不是 OpenCLIP-ViT-bigG-14 训练新的 IP 适配器。虽然ViT-bigG比ViT-H大得多,但我们的实验结果没有发现显著的差异,更小的模型可以减少推理阶段的内存使用。
  • 更快、更好的训练秘诀:在我们之前的版本中,直接以 1024x1024 的分辨率进行训练被证明是非常低效的。但是,在新版本中,我们实施了更有效的两阶段培训策略。首先,我们以 512x512 的分辨率进行预训练。然后,我们采用多尺度策略进行微调。(也许这种训练策略也可以用来加速控制网的训练)。

如何训练

对于训练,您应该安装 accelerate 并将自己的数据集制作成 json 文件。

accelerate launch --num_processes 8 --multi_gpu --mixed_precision "fp16" \tutorial_train.py \--pretrained_model_name_or_path="runwayml/stable-diffusion-v1-5/" \--image_encoder_path="{image_encoder_path}" \--data_json_file="{data.json}" \--data_root_path="{image_path}" \--mixed_precision="fp16" \--resolution=512 \--train_batch_size=8 \--dataloader_num_workers=4 \--learning_rate=1e-04 \--weight_decay=0.01 \--output_dir="{output_dir}" \--save_steps=10000

第三方使用

  • 用于 WebUI 的 IP 适配器 [发行说明]
  • ComfyUI 的 IP 适配器 [IPAdapter-ComfyUI 或ComfyUI_IPAdapter_plus]
  • 用于 InvokeAI 的 IP 适配器 [发行说明]
  • 用于 AnimateDiff 提示行程的 IP 适配器
  • Diffusers_IPAdapter:支持多输入图像等更多功能
  • 官方扩散器

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/177126.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

软件工程理论与实践 (吕云翔)第十四章 软件维护与软件工程管理课后习题与解析

第十四章 软件维护与软件工程管理 1.判断题 (1)代码行技术是比较简单的定量估算软件规模的方法。(√) (2)功能点技术依据对软件信息域特性和软件复杂性的评估结果,估算软件规模。(√) &#…

前端js优化表单中单个输入框的回车提交事件

前提 当表单内只有一个input输入框时,即使表单没有submit按钮,在输入框内按下回车键就会触发表单的提交事件。这可能会导致一些意外的行为,特别是当用户不希望提交表单时。 为了解决这个问题,我们可以采取以下两种优化方法&…

机器学习(1)机器学习类型和机器学习的主要概念

0.前提 深度学习(Deep Learing)是机器学习(Machine Learning)领域中的一个新的研究方向,在如今的时代研究深度学习的大模型是十分热门的。我不知道有多少人有关注到最近openai的事件啊,说个比较让我惊讶的…

03、K-means聚类实现步骤与基于K-means聚类的图像压缩(1)

03、K-means聚类实现步骤与基于K-means聚类的图像压缩(1) 03、K-means聚类实现步骤与基于K-means聚类的图像压缩(1) 03、K-means聚类实现步骤与基于K-means聚类的图像压缩(2) 开始学习机器学习啦&#xf…

解决:ModuleNotFoundError: No module named ‘PyQt5‘

解决:ModuleNotFoundError: No module named ‘PyQt5’ 文章目录 解决:ModuleNotFoundError: No module named PyQt5背景报错问题报错翻译报错位置代码报错原因解决方法安装PyQt5在PyCharm中配置PyQt5对于新项目对于已有项目 今天的分享就到此结束了 背景…

【序列推荐】MAN:跨领域顺序推荐的混合注意网络

#论文题目:MAN:Mixed Attention Network for Cross-domain Sequential Recommendation(跨领域顺序推荐的混合注意网络) #论文地址:https://dl.acm.org/doi/10.1145/3543507.3583278 #论文源码开源地址:http…

Docker可视化工具Portainer(轻量)或者Docker容器监控之 CAdvisor+InfluxDB+Granfana(重量)

Docker轻量级可视化工具Portainer 是什么 Portainer 是一款轻量级的应用,它提供了图形化界面,用于方便地管理Docker环境,包括单机环境和集群环境。 安装 官网 https://www.portainer.io/ https://docs.portainer.io/v/ce-2.9/start/instal…

CANdelaStudio 中 Bese Variant 和 Variant区别

关于 Bese Variant ,其在 CDDT 和 CDD 文件中都存在,有且只有一个 主要包含三部分,重点只关注 DIDs 和 Supported Diagnostic Classes 而在 CDD 文件中,除了 Bese Variant 外,还有一个 Variant “Variant” 这个概…

minio分布式存储系统

目录 拉取docker镜像 minio所需要的依赖 文件存放的位置 手动上传文件到minio中 工具类上传 yml配置 config类 service类 启动类 测试类 图片 视频 删除minio服务器的文件 下载minio服务器的文件 拉取docker镜像 拉取稳定版本:docker pull minio/minio:RELEASE.20…

解析和存储优化的批量爬虫采集策略

如果你正在进行批量爬虫采集工作,并且想要优化解析和存储过程,提高采集效率和稳定性,那么本文将为你介绍一些实用的策略和技巧。解析和存储是批量爬虫采集中不可忽视的重要环节,其效率和质量对整个采集系统的性能至关重要。在下面…

前端 --- HTML

目录 一、网络的三大基石 ​二、什么是HTML 一、HTML 指的是超文本标记语言 二、HTML的作用 三、HTML的标准结构 四、IDE_HBuilder的使用 一、编码工具: 二、集成开发环境 三、HBuilder使用步骤: 五、HTML的标签的使用 一、html_head_body 二、head…

视频字幕处理+AI绘画,Runway 全功能超详细使用教程(4)

runway的视频字幕处理、AI绘图功能介绍,感觉完全就是为了做电影而布局,一整套功能都上线了!想系统学习的必收藏! 在深度研究Runway各个功能后,无论是AI视频生成及后期处理技术,还是AI图像生成技术&#xff…

浮点数在内存中的存储

浮点数的存储 根据国际标准IEEE,任意⼀个⼆进制浮点数V可以表⽰成下⾯的形式: V (−1) ^S∗ M ∗ 2^E • (−1)^ S 表⽰符号位,当S0,V为正数;当S1,V为负数 • M 表⽰有效数字,M是⼤于…

原生DOM事件、react16、17和Vue合成事件

目录 原生DOM事件 注册/绑定事件 DOM事件级别 DOM0:onclick传统注册: 唯一(同元素的(不)同事件会覆盖) 没有捕获和冒泡的,只有简单的事件绑定 DOM2:addEventListener监听注册:可添加多个…

ES的“或“查询

场景:需要查询ES中userId为""或者userId字段不存在的数据 dsl语句: {"from": 0,"size": 30,"query": {"bool": {"should": [{"term": {"userId": {"value"…

使用mock.js模拟数据

一、安装mock.js npm i mockjs 二、配置JSON文件 我们创建一个mock文件夹,用于存放mock相关的模拟数据和代码实现。 我们将数据全部放在xxx.json文件夹下,里面配置我们需要的JSON格式的数据。 注意:json文件中不要留有空格,否则…

Spring之AOP理解与应用(更新中)

1. AOP的认识 面向切面编程:基于OOP基础之上新的编程思想,OOP面向的主要对象是类,而AOP面向的主要对象是切面,在处理日志、安全管理、事务管理等方面有非常重要的作用。AOP是Spring中重要的核心点,AOP提供了非常强…

GDOUCTF2023-Reverse WP

文章目录 [GDOUCTF 2023]Check_Your_Luck[GDOUCTF 2023]Tea[GDOUCTF 2023]easy_pyc[GDOUCTF 2023]doublegame[GDOUCTF 2023]L!s![GDOUCTF 2023]润!附 [GDOUCTF 2023]Check_Your_Luck 根据 if 使用z3约束求解器。 EXP: from z3 i…

万字解析设计模式之迭代器模式、备忘录模式

一、迭代器模式 1.1概述 迭代器模式是一种行为型设计模式,它允许在没有暴露其底层表现形式的情况下遍历集合对象。迭代器模式提供一种通用的遍历机制,可以遍历任何类型的集合,包括数组、列表、树等。通过这种模式,可以实现一种通…

【华为OD】在第一人称射击游戏中,玩家通过键盘的 A 、 S 、 D 、 W 四个按键控制游戏人物分别向左、向后、向右、向前进行移动,从而完成走位

在第一人称射击游戏中,玩家通过键盘的 A 、 S 、 D 、 W 四个按键控制游戏人物分别向左、向后、向右、向前进行移动,从而完成走位。假设玩家每按动一次键盘,游戏人物会向某个方向移动一步,如果玩家在操作一定次数的键盘并且各个方向的步数相同时, 此时游戏人物必定会回到原…