Buckets:
| import"../chunks/DsnmJJEf.js";import{i as b,h as w,C as M,H as n,a as h,E as U,s as y}from"../chunks/DdZvggmf.js";import{p as u,o as C,s as t,f as D,a as r,b as G,c as p,n as J}from"../chunks/BbekZcyp.js";const B='{"title":"DeepCache","local":"deepcache","sections":[{"title":"基准测试","local":"基准测试","sections":[],"depth":2}],"depth":1}';var T=p('<meta name="hf:doc:metadata"/>'),j=p(`<p></p> <!> <!> <p><a href="https://huggingface.co/papers/2312.00858" rel="nofollow">DeepCache</a> 通过策略性地缓存和重用高级特征,同时利用 U-Net 架构高效更新低级特征,来加速 <code>StableDiffusionPipeline</code> 和 <code>StableDiffusionXLPipeline</code>。</p> <p>首先安装 <a href="https://github.com/horseee/DeepCache" rel="nofollow">DeepCache</a>:</p> <!> <p>然后加载并启用 <a href="https://github.com/horseee/DeepCache#usage" rel="nofollow"><code>DeepCacheSDHelper</code></a>:</p> <!> <p><code>set_params</code> 方法接受两个参数:<code>cache_interval</code> 和 <code>cache_branch_id</code>。<code>cache_interval</code> 表示特征缓存的频率,指定为每次缓存操作之间的步数。<code>cache_branch_id</code> 标识网络的哪个分支(从最浅层到最深层排序)负责执行缓存过程。 | |
| 选择较低的 <code>cache_branch_id</code> 或较大的 <code>cache_interval</code> 可以加快推理速度,但会降低图像质量(这些超参数的消融实验可以在<a href="https://huggingface.co/papers/2312.00858" rel="nofollow">论文</a>中找到)。一旦设置了这些参数,使用 <code>enable</code> 或 <code>disable</code> 方法来激活或停用 <code>DeepCacheSDHelper</code>。</p> <div class="flex justify-center"><img src="https://github.com/horseee/Diffusion_DeepCache/raw/master/static/images/example.png"/></div> <p>您可以在 <a href="https://wandb.ai/horseee/DeepCache/runs/jwlsqqgt?workspace=user-horseee" rel="nofollow">WandB 报告</a> 中找到更多生成的样本(原始管道 vs DeepCache)和相应的推理延迟。提示是从 <a href="https://cocodataset.org/#home" rel="nofollow">MS-COCO 2017</a> 数据集中随机选择的。</p> <!> <p>我们在 NVIDIA RTX A5000 上测试了 DeepCache 使用 50 个推理步骤加速 <a href="https://huggingface.co/stabilityai/stable-diffusion-2-1" rel="nofollow">Stable Diffusion v2.1</a> 的速度,使用不同的配置,包括分辨率、批处理大小、缓存间隔(I)和缓存分支(B)。</p> <table><thead><tr><th><strong>分辨率</strong></th><th><strong>批次大小</strong></th><th><strong>原始</strong></th><th><strong>DeepCache(I=3, B=0)</strong></th><th><strong>DeepCache(I=5, B=0)</strong></th><th><strong>DeepCache(I=5, B=1)</strong></th></tr></thead><tbody><tr><td>512</td><td>8</td><td>15.96</td><td>6.88(2.32倍)</td><td>5.03(3.18倍)</td><td>7.27(2.20x)</td></tr><tr><td></td><td>4</td><td>8.39</td><td>3.60(2.33倍)</td><td>2.62(3.21倍)</td><td>3.75(2.24x)</td></tr><tr><td></td><td>1</td><td>2.61</td><td>1.12(2.33倍)</td><td>0.81(3.24倍)</td><td>1.11(2.35x)</td></tr><tr><td>768</td><td>8</td><td>43.58</td><td>18.99(2.29倍)</td><td>13.96(3.12倍)</td><td>21.27(2.05x)</td></tr><tr><td></td><td>4</td><td>22.24</td><td>9.67(2.30倍)</td><td>7.10(3.13倍)</td><td>10.74(2.07x)</td></tr><tr><td></td><td>1</td><td>6.33</td><td>2.72(2.33倍)</td><td>1.97(3.21倍)</td><td>2.98(2.12x)</td></tr><tr><td>1024</td><td>8</td><td>101.95</td><td>45.57(2.24倍)</td><td>33.72(3.02倍)</td><td>53.00(1.92x)</td></tr><tr><td></td><td>4</td><td>49.25</td><td>21.86(2.25倍)</td><td>16.19(3.04倍)</td><td>25.78(1.91x)</td></tr><tr><td></td><td>1</td><td>13.83</td><td>6.07(2.28倍)</td><td>4.43(3.12倍)</td><td>7.15(1.93x)</td></tr></tbody></table> <!> <p></p>`,1);function v(f,m){u(m,!1),C(()=>{new URLSearchParams(window.location.search).get("fw")}),b();var e=j();w("w8nmij",c=>{var i=T();y(i,"content",B),r(c,i)});var a=t(D(e),2);M(a,{containerStyle:"float: right; margin-left: 10px; display: inline-flex; position: relative; z-index: 10;"});var d=t(a,2);n(d,{title:"DeepCache",local:"deepcache",headingTag:"h1"});var o=t(d,6);h(o,{code:"cGlwJTIwaW5zdGFsbCUyMERlZXBDYWNoZQ==",highlighted:"pip install DeepCache",lang:"bash",wrap:!1});var l=t(o,4);h(l,{code:"JTIwJTIwaW1wb3J0JTIwdG9yY2glMEElMjAlMjBmcm9tJTIwZGlmZnVzZXJzJTIwaW1wb3J0JTIwU3RhYmxlRGlmZnVzaW9uUGlwZWxpbmUlMEElMjAlMjBwaXBlJTIwJTNEJTIwU3RhYmxlRGlmZnVzaW9uUGlwZWxpbmUuZnJvbV9wcmV0cmFpbmVkKCdzdGFibGUtZGlmZnVzaW9uLXYxLTUlMkZzdGFibGUtZGlmZnVzaW9uLXYxLTUnJTJDJTIwdG9yY2hfZHR5cGUlM0R0b3JjaC5mbG9hdDE2KS50byglMjJjdWRhJTIyKSUwQSUwQSUyQiUyMGZyb20lMjBEZWVwQ2FjaGUlMjBpbXBvcnQlMjBEZWVwQ2FjaGVTREhlbHBlciUwQSUyQiUyMGhlbHBlciUyMCUzRCUyMERlZXBDYWNoZVNESGVscGVyKHBpcGUlM0RwaXBlKSUwQSUyQiUyMGhlbHBlci5zZXRfcGFyYW1zKCUwQSUyQiUyMCUyMCUyMCUyMCUyMGNhY2hlX2ludGVydmFsJTNEMyUyQyUwQSUyQiUyMCUyMCUyMCUyMCUyMGNhY2hlX2JyYW5jaF9pZCUzRDAlMkMlMEElMkIlMjApJTBBJTJCJTIwaGVscGVyLmVuYWJsZSgpJTBBJTBBJTIwJTIwaW1hZ2UlMjAlM0QlMjBwaXBlKCUyMmElMjBwaG90byUyMG9mJTIwYW4lMjBhc3Ryb25hdXQlMjBvbiUyMGElMjBtb29uJTIyKS5pbWFnZXMlNUIwJTVE",highlighted:` import torch | |
| from diffusers import StableDiffusionPipeline | |
| pipe = StableDiffusionPipeline.from_pretrained('stable-diffusion-v1-5/stable-diffusion-v1-5', torch_dtype=torch.float16).to("cuda") | |
| <span class="hljs-addition">+ from DeepCache import DeepCacheSDHelper</span> | |
| <span class="hljs-addition">+ helper = DeepCacheSDHelper(pipe=pipe)</span> | |
| <span class="hljs-addition">+ helper.set_params(</span> | |
| <span class="hljs-addition">+ cache_interval=3,</span> | |
| <span class="hljs-addition">+ cache_branch_id=0,</span> | |
| <span class="hljs-addition">+ )</span> | |
| <span class="hljs-addition">+ helper.enable()</span> | |
| image = pipe("a photo of an astronaut on a moon").images[0]`,lang:"diff",wrap:!1});var s=t(l,8);n(s,{title:"基准测试",local:"基准测试",headingTag:"h2"});var g=t(s,6);U(g,{source:"https://github.com/huggingface/diffusers/blob/main/docs/source/zh/optimization/deepcache.md"}),J(2),r(f,e),G()}export{v as component}; | |
Xet Storage Details
- Size:
- 6.04 kB
- Xet hash:
- 45b0d1f9e48d0421966f0ecf35d1d8d0937b3c7782a66933a5e09a73bf962cbe
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.