Buckets:
| import{s as Lp,o as jp,n as _p}from"../chunks/scheduler.e4ff9b64.js";import{S as Gp,i as Zp,e as f,s,c as o,h as Vp,a as p,d as l,b as n,f as Il,g as m,j as u,k as gl,l as $,m as i,n as a,t as r,o as T,p as w}from"../chunks/index.09f1bca0.js";import{C as Pp,H as g,E as Bp}from"../chunks/MermaidChart.svelte_svelte_type_style_lang.ef7e5b9e.js";import{C as h}from"../chunks/CodeBlock.0adc48e9.js";import{H as Rp,a as Hp}from"../chunks/HfOption.44827c7f.js";function Np(H){let M,U='通过向Diffusers<a href="https://github.com/huggingface/diffusers" rel="nofollow">代码库</a>提交拉取请求来分享GitHub pipeline,将one_step_unet.py文件添加到<a href="https://github.com/huggingface/diffusers/tree/main/examples/community" rel="nofollow">examples/community</a>子文件夹中。';return{c(){M=f("p"),M.innerHTML=U},l(d){M=p(d,"P",{"data-svelte-h":!0}),u(M)!=="svelte-to1fu5"&&(M.innerHTML=U)},m(d,b){i(d,M,b)},p:_p,d(d){d&&l(M)}}}function kp(H){let M,U="通过在Hub上创建模型仓库并上传one_step_unet.py文件来分享Hub pipeline。";return{c(){M=f("p"),M.textContent=U},l(d){M=p(d,"P",{"data-svelte-h":!0}),u(M)!=="svelte-xi3bpe"&&(M.textContent=U)},m(d,b){i(d,M,b)},p:_p,d(d){d&&l(M)}}}function Ap(H){let M,U,d,b;return M=new Hp({props:{id:"pipeline类型",option:"GitHub pipeline",$$slots:{default:[Np]},$$scope:{ctx:H}}}),d=new Hp({props:{id:"pipeline类型",option:"Hub pipeline",$$slots:{default:[kp]},$$scope:{ctx:H}}}),{c(){o(M.$$.fragment),U=s(),o(d.$$.fragment)},l(J){m(M.$$.fragment,J),U=n(J),m(d.$$.fragment,J)},m(J,C){a(M,J,C),i(J,U,C),a(d,J,C),b=!0},p(J,C){const x={};C&2&&(x.$$scope={dirty:C,ctx:J}),M.$set(x);const P={};C&2&&(P.$$scope={dirty:C,ctx:J}),d.$set(P)},i(J){b||(r(M.$$.fragment,J),r(d.$$.fragment,J),b=!0)},o(J){T(M.$$.fragment,J),T(d.$$.fragment,J),b=!1},d(J){J&&l(U),w(M,J),w(d,J)}}}function Wp(H){let M,U,d,b,J,C,x,P,B,xn="我们❤️来自开源社区的贡献!欢迎所有人参与,所有类型的贡献——不仅仅是代码——都受到重视和赞赏。回答问题、帮助他人、主动交流以及改进文档对社区都极具价值,所以如果您愿意参与,请不要犹豫!",_l,R,vn='我们鼓励每个人先在公开Discord频道里打招呼👋。在那里我们讨论扩散模型的最新趋势、提出问题、展示个人项目、互相协助贡献,或者只是闲聊☕。<a href="https://Discord.gg/G7tWnz98XR"><img alt="加入Discord社区" src="https://img.shields.io/discord/823813159592001537?color=5865F2&logo=discord&logoColor=white"/></a>',Ll,N,In='无论您选择以何种方式贡献,我们都致力于成为一个开放、友好、善良的社区。请阅读我们的<a href="https://github.com/huggingface/diffusers/blob/main/CODE_OF_CONDUCT.md" rel="nofollow">行为准则</a>,并在互动时注意遵守。我们也建议您了解指导本项目的<a href="https://huggingface.co/docs/diffusers/conceptual/ethical_guidelines" rel="nofollow">伦理准则</a>,并请您遵循同样的透明度和责任原则。',jl,k,Hn="我们高度重视社区的反馈,所以如果您认为自己有能帮助改进库的有价值反馈,请不要犹豫说出来——每条消息、评论、issue和拉取请求(PR)都会被阅读和考虑。",Gl,A,Zl,W,_n="您可以通过多种方式做出贡献,从在issue和讨论区回答问题,到向核心库添加新的diffusion模型。",Vl,X,Ln="下面我们按难度升序列出不同的贡献方式,所有方式对社区都很有价值:",Pl,F,jn='<li><ol><li>在<a href="https://discuss.huggingface.co/c/discussion-related-to-httpsgithubcomhuggingfacediffusers" rel="nofollow">Diffusers讨论论坛</a>或<a href="https://discord.gg/G7tWnz98XR" rel="nofollow">Discord</a>上提问和回答问题</li></ol></li> <li><ol start="2"><li>在<a href="https://github.com/huggingface/diffusers/issues/new/choose" rel="nofollow">GitHub Issues标签页</a>提交新issue,或在<a href="https://github.com/huggingface/diffusers/discussions/new/choose" rel="nofollow">GitHub Discussions标签页</a>发起新讨论</li></ol></li> <li><ol start="3"><li>在<a href="https://github.com/huggingface/diffusers/issues" rel="nofollow">GitHub Issues标签页</a>解答issue,或在<a href="https://github.com/huggingface/diffusers/discussions" rel="nofollow">GitHub Discussions标签页</a>参与讨论</li></ol></li> <li><ol start="4"><li>解决标记为”Good first issue”的简单问题,详见<a href="https://github.com/huggingface/diffusers/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22" rel="nofollow">此处</a></li></ol></li> <li><ol start="5"><li>参与<a href="https://github.com/huggingface/diffusers/tree/main/docs/source" rel="nofollow">文档</a>建设</li></ol></li> <li><ol start="6"><li>贡献<a href="https://github.com/huggingface/diffusers/issues?q=is%3Aopen+is%3Aissue+label%3Acommunity-examples" rel="nofollow">社区Pipeline</a></li></ol></li> <li><ol start="7"><li>完善<a href="https://github.com/huggingface/diffusers/tree/main/examples" rel="nofollow">示例代码</a></li></ol></li> <li><ol start="8"><li>解决标记为”Good second issue”的中等难度问题,详见<a href="https://github.com/huggingface/diffusers/issues?q=is%3Aopen+is%3Aissue+label%3A%22Good+second+issue%22" rel="nofollow">此处</a></li></ol></li> <li><ol start="9"><li>添加新pipeline/模型/调度器,参见<a href="https://github.com/huggingface/diffusers/issues?q=is%3Aopen+is%3Aissue+label%3A%22New+pipeline%2Fmodel%22" rel="nofollow">“New Pipeline/Model”</a>和<a href="https://github.com/huggingface/diffusers/issues?q=is%3Aopen+is%3Aissue+label%3A%22New+scheduler%22" rel="nofollow">“New scheduler”</a>类issue。此类贡献请先阅读<a href="https://github.com/huggingface/diffusers/blob/main/PHILOSOPHY.md" rel="nofollow">设计哲学</a></li></ol></li>',Bl,Q,Gn="重申:<strong>所有贡献对社区都具有重要价值。</strong>下文将详细说明各类贡献方式。",Rl,E,Zn='对于4-9类贡献,您需要提交PR(拉取请求),具体操作详见<a href="#how-to-open-a-pr">如何提交PR</a>章节。',Nl,D,kl,z,Vn='任何与Diffusers库相关的问题或讨论都可以发布在<a href="https://discuss.huggingface.co/c/discussion-related-to-httpsgithubcomhuggingfacediffusers/" rel="nofollow">官方论坛</a>或<a href="https://discord.gg/G7tWnz98XR" rel="nofollow">Discord频道</a>,包括但不限于:',Al,S,Pn="<li>分享训练/推理实验报告</li> <li>展示个人项目</li> <li>咨询非官方训练示例</li> <li>项目提案</li> <li>通用反馈</li> <li>论文解读</li> <li>基于Diffusers库的个人项目求助</li> <li>一般性问题</li> <li>关于diffusion模型的伦理讨论</li> <li>…</li>",Wl,Y,Bn=`论坛/Discord上的每个问题都能促使社区公开分享知识,很可能帮助未来遇到相同问题的初学者。请务必提出您的疑问。 | |
| 同样地,通过回答问题您也在为社区创造公共知识文档,这种贡献极具价值。`,Xl,q,Rn="<strong>请注意</strong>:提问/回答时投入的精力越多,产生的公共知识质量就越高。精心构建的问题与专业解答能形成高质量知识库,而表述不清的问题则可能降低讨论价值。",Fl,O,Nn=`低质量的问题或回答会降低公共知识库的整体质量。<br/> | |
| 简而言之,高质量的问题或回答应具备<em>精确性</em>、<em>简洁性</em>、<em>相关性</em>、<em>易于理解</em>、<em>可访问性</em>和<em>格式规范/表述清晰</em>等特质。更多详情请参阅<a href="#how-to-write-a-good-issue">如何提交优质议题</a>章节。`,Ql,K,kn=`<strong>关于渠道的说明</strong>:<br/> <a href="https://discuss.huggingface.co/c/discussion-related-to-httpsgithubcomhuggingfacediffusers/63" rel="nofollow"><em>论坛</em></a>的内容能被谷歌等搜索引擎更好地收录,且帖子按热度而非时间排序,便于查找历史问答。此外,论坛内容更容易被直接链接引用。<br/> | |
| 而<em>Discord</em>采用即时聊天模式,适合快速交流。虽然在Discord上可能更快获得解答,但信息会随时间淹没,且难以回溯历史讨论。因此我们强烈建议在论坛发布优质问答,以构建可持续的社区知识库。若Discord讨论产生有价值结论,建议将成果整理发布至论坛以惠及更多读者。`,El,ee,Dl,te,An="🧨 Diffusers库的稳健性离不开用户的问题反馈,感谢您的报错。",zl,le,Wn=`请注意:GitHub议题仅限处理与Diffusers库代码直接相关的技术问题、错误报告、功能请求或库设计反馈。<br/> | |
| 简言之,<strong>与Diffusers库代码(含文档)无关</strong>的内容应发布至<a href="https://discuss.huggingface.co/c/discussion-related-to-httpsgithubcomhuggingfacediffusers/63" rel="nofollow">论坛</a>或<a href="https://discord.gg/G7tWnz98XR" rel="nofollow">Discord</a>。`,Sl,ie,Xn="<strong>提交新议题时请遵循以下准则</strong>:",Yl,se,Fn='<li>确认是否已有类似议题(使用GitHub议题页的搜索栏)</li> <li>请勿在现有议题下追加新问题。若存在高度关联议题,应新建议题并添加相关链接</li> <li>确保使用英文提交。非英语用户可通过<a href="https://www.deepl.com/translator" rel="nofollow">DeepL</a>等免费工具翻译</li> <li>检查升级至最新Diffusers版本是否能解决问题。提交前请确认<code>python -c "import diffusers; print(diffusers.__version__)"</code>显示的版本号不低于最新版本</li> <li>记请记住,你在提交新issue时投入的精力越多,得到的回答质量就越高,Diffusers项目的整体issue质量也会越好。</li>',ql,ne,Qn="新issue通常包含以下内容:",Ol,fe,Kl,pe,En="错误报告应始终包含可复现的代码片段,并尽可能简洁明了。具体而言:",ei,ue,Dn='<li>尽量缩小问题范围,<strong>不要直接粘贴整个代码文件</strong></li> <li>规范代码格式</li> <li>除Diffusers依赖库外,不要包含其他外部库</li> <li><strong>务必</strong>提供环境信息:可在终端运行<code>diffusers-cli env</code>命令,然后将显示的信息复制到issue中</li> <li>详细说明问题。如果读者不清楚问题所在及其影响,就无法解决问题</li> <li><strong>确保</strong>读者能以最小成本复现问题。如果代码片段因缺少库或未定义变量而无法运行,读者将无法提供帮助。请确保提供的可复现代码尽可能精简,可直接复制到Python shell运行</li> <li>如需特定模型/数据集复现问题,请确保读者能获取这些资源。可将模型/数据集上传至<a href="https://huggingface.co" rel="nofollow">Hub</a>便于下载。尽量保持模型和数据集体积最小化,降低复现难度</li>',ti,oe,zn='更多信息请参阅<a href="#how-to-write-a-good-issue">如何撰写优质issue</a>章节。',li,me,Sn='提交错误报告请点击<a href="https://github.com/huggingface/diffusers/issues/new?assignees=&labels=bug&projects=&template=bug-report.yml" rel="nofollow">此处</a>。',ii,ae,si,re,Yn="优质的功能请求应包含以下要素:",ni,Te,qn="<li>首先说明动机:</li>",fi,we,On="<li>是否与库的使用痛点相关?若是,请解释原因,最好提供演示问题的代码片段</li> <li>是否因项目需求产生?我们很乐意了解详情!</li> <li>是否是你已实现且认为对社区有价值的功能?请说明它为你解决了什么问题</li>",pi,_,Kn="<li>用<strong>完整段落</strong>描述功能特性</li> <li>提供<strong>代码片段</strong>演示预期用法</li> <li>如涉及论文,请附上链接</li> <li>可补充任何有助于理解的辅助材料(示意图、截图等)</li>",ui,Me,ef='提交功能请求请点击<a href="https://github.com/huggingface/diffusers/issues/new?assignees=&labels=&template=feature_request.md&title=" rel="nofollow">此处</a>。',oi,Je,mi,de,tf=`关于库设计的反馈(无论正面还是负面)能极大帮助核心维护者打造更友好的库。要了解当前设计理念,请参阅<a href="https://huggingface.co/docs/diffusers/conceptual/philosophy" rel="nofollow">此文档</a>如果您认为某个设计选择与当前理念不符,请说明原因及改进建议。如果某个设计选择因过度遵循理念而限制了使用场景,也请解释原因并提出调整方案。<br/> | |
| 若某个设计对您特别实用,请同样留下备注——这对未来的设计决策极具参考价值。`,ai,ge,lf='您可通过<a href="https://github.com/huggingface/diffusers/issues/new?assignees=&labels=&template=feedback.md&title=" rel="nofollow">此链接</a>提交设计反馈。',ri,he,Ti,$e,sf="技术问题主要涉及库代码的实现逻辑或特定功能模块的作用。提问时请务必:",wi,Ue,nf="<li>附上相关代码链接</li> <li>详细说明难以理解的具体原因</li>",Mi,ce,ff='技术问题提交入口:<a href="https://github.com/huggingface/diffusers/issues/new?assignees=&labels=bug&template=bug-report.yml" rel="nofollow">点击此处</a>',Ji,be,di,Ce,pf="若diffusion模型社区发布了您希望集成到Diffusers库的新模型、pipeline或调度器,请提供以下信息:",gi,ye,uf="<li>简要说明并附论文或发布链接</li> <li>开源实现链接(如有)</li> <li>模型权重下载链接(如已公开)</li>",hi,xe,of="若您愿意参与开发,请告知我们以便指导。另请尝试通过GitHub账号标记原始组件作者。",$i,ve,mf='提案提交地址:<a href="https://github.com/huggingface/diffusers/issues/new?assignees=&labels=New+model%2Fpipeline%2Fscheduler&template=new-model-addition.yml" rel="nofollow">新建请求</a>',Ui,Ie,ci,He,af="回答GitHub问题可能需要Diffusers的技术知识,但我们鼓励所有人尝试参与——即使您对答案不完全正确。高质量回答的建议:",bi,_e,rf="<li>保持简洁精炼</li> <li>严格聚焦问题本身</li> <li>提供代码/论文等佐证材料</li> <li>优先用代码说话:若代码片段能解决问题,请提供完整可复现代码</li>",Ci,Le,Tf="许多问题可能存在离题、重复或无关情况。您可以通过以下方式协助维护者:",yi,je,wf='<li>引导提问者精确描述问题</li> <li>标记重复issue并附原链接</li> <li>推荐用户至<a href="https://discuss.huggingface.co/c/discussion-related-to-httpsgithubcomhuggingfacediffusers/63" rel="nofollow">论坛</a>或<a href="https://discord.gg/G7tWnz98XR" rel="nofollow">Discord</a></li>',xi,Ge,Mf="在确认提交的Bug报告正确且需要修改源代码后,请继续阅读以下章节内容。",vi,Ze,Jf='以下所有贡献都需要提交PR(拉取请求)。具体操作步骤详见<a href="#how-to-open-a-pr">如何提交PR</a>章节。',Ii,Ve,Hi,Pe,df='标有<a href="https://github.com/huggingface/diffusers/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22" rel="nofollow">Good first issue</a>标签的问题通常已说明解决方案建议,便于修复。若该问题尚未关闭且您想尝试解决,只需留言”我想尝试解决这个问题”。通常有三种情况:',_i,Be,gf="<li>a.) 问题描述已提出解决方案。若您认可该方案,可直接提交PR或草稿PR进行修复</li> <li>b.) 问题描述未提出解决方案。您可询问修复建议,Diffusers团队会尽快回复。若有成熟解决方案,也可直接提交PR</li> <li>c.) 已有PR但问题未关闭。若原PR停滞,可新开PR并关联原PR(开源社区常见现象)。若PR仍活跃,您可通过建议、审查或协作等方式帮助原作者</li>",Li,Re,ji,Ne,hf="优秀库<strong>必然</strong>拥有优秀文档!官方文档是新用户的首要接触点,因此文档贡献具有<strong>极高价值</strong>。贡献形式包括:",Gi,ke,$f="<li>修正拼写/语法错误</li> <li>修复文档字符串格式错误(如显示异常或链接失效)</li> <li>修正文档字符串中张量的形状/维度描述</li> <li>优化晦涩或错误的说明</li> <li>更新过时代码示例</li> <li>文档翻译</li>",Zi,Ae,Uf='<a href="https://huggingface.co/docs/diffusers/index" rel="nofollow">官方文档页面</a>所有内容均属可修改范围,对应<a href="https://github.com/huggingface/diffusers/tree/main/docs/source" rel="nofollow">文档源文件</a>可进行编辑。修改前请查阅<a href="https://github.com/huggingface/diffusers/tree/main/docs" rel="nofollow">验证说明</a>。',Vi,We,Pi,L,cf='<p>阅读<a href="../using-diffusers/custom_pipeline_overview#community-pipelines">社区流程</a>指南了解GitHub与Hugging Face Hub社区流程的区别。若想了解我们设立社区流程的原因,请查看GitHub Issue <a href="https://github.com/huggingface/diffusers/issues/841" rel="nofollow">#841</a>(简而言之,我们无法维护diffusion模型所有可能的推理使用方式,但也不希望限制社区构建这些流程)。</p>',Bi,Xe,bf="贡献社区流程是向社区分享创意与成果的绝佳方式。您可以在<code>DiffusionPipeline</code>基础上构建流程,任何人都能通过设置<code>custom_pipeline</code>参数加载使用。本节将指导您创建一个简单的”单步”流程——UNet仅执行单次前向传播并调用调度器一次。",Ri,Fe,Cf="<li><p>为社区流程创建one_step_unet.py文件。只要用户已安装相关包,该文件可包含任意所需包。确保仅有一个继承自<code>DiffusionPipeline</code>的流程类,用于从Hub加载模型权重和调度器配置。在<code>__init__</code>函数中添加UNet和调度器。</p> <p>同时添加<code>register_modules</code>函数,确保您的流程及其组件可通过<code>save_pretrained()</code>保存。</p></li>",Ni,Qe,ki,j,yf="<li>在前向传播中(建议定义为<code>__call__</code>),可添加任意功能。对于”单步”流程,创建随机图像并通过设置<code>timestep=1</code>调用UNet和调度器一次。</li>",Ai,Ee,Wi,De,xf="现在您可以通过传入UNet和调度器来运行流程,若流程结构相同也可加载预训练权重。",Xi,ze,Fi,Se,vf="您可以选择将pipeline作为GitHub社区pipeline或Hub社区pipeline进行分享。",Qi,G,Ei,Ye,Di,qe,If='Diffusers训练示例是位于<a href="https://github.com/huggingface/diffusers/tree/main/examples" rel="nofollow">examples</a>目录下的训练脚本集合。',zi,Oe,Hf="我们支持两种类型的训练示例:",Si,Ke,_f="<li>官方训练示例</li> <li>研究型训练示例</li>",Yi,et,Lf=`研究型训练示例位于<a href="https://github.com/huggingface/diffusers/tree/main/examples/research_projects" rel="nofollow">examples/research_projects</a>,而官方训练示例包含<a href="https://github.com/huggingface/diffusers/tree/main/examples" rel="nofollow">examples</a>目录下除<code>research_projects</code>和<code>community</code>外的所有文件夹。 | |
| 官方训练示例由Diffusers核心维护者维护,研究型训练示例则由社区维护。 | |
| 这与<a href="#6-contribute-a-community-pipeline">6. 贡献社区pipeline</a>中关于官方pipeline与社区pipeline的原因相同:核心维护者不可能维护diffusion模型的所有可能训练方法。 | |
| 如果Diffusers核心维护者和社区认为某种训练范式过于实验性或不够普及,相应训练代码应放入<code>research_projects</code>文件夹并由作者维护。`,qi,tt,jf="官方训练和研究型示例都包含一个目录,其中含有一个或多个训练脚本、<code>requirements.txt</code>文件和<code>README.md</code>文件。用户使用时需要先克隆代码库:",Oi,lt,Ki,it,Gf="并安装训练所需的所有额外依赖:",es,st,ts,nt,Zf='因此添加示例时,<code>requirements.txt</code>文件应定义训练示例所需的所有pip依赖项,安装完成后用户即可运行示例训练脚本。可参考<a href="https://github.com/huggingface/diffusers/blob/main/examples/dreambooth/requirements.txt" rel="nofollow">DreamBooth的requirements.txt文件</a>。',ls,ft,Vf="<li>运行示例所需的所有代码应集中在单个Python文件中</li> <li>用户应能通过命令行<code>python <your-example>.py --args</code>直接运行示例</li> <li><strong>示例</strong>应保持简洁,主要展示如何使用Diffusers进行训练。示例脚本的目的<strong>不是</strong>创建最先进的diffusion模型,而是复现已知训练方案,避免添加过多自定义逻辑。因此,这些示例也力求成为优质的教学材料。</li>",is,pt,Pf=`提交示例时,强烈建议参考现有示例(如<a href="https://github.com/huggingface/diffusers/blob/main/examples/dreambooth/train_dreambooth.py" rel="nofollow">dreambooth</a>)来了解规范格式。<br/> | |
| 我们强烈建议贡献者使用<a href="https://github.com/huggingface/accelerate" rel="nofollow">Accelerate库</a>,因其与Diffusers深度集成。<br/> | |
| 当示例脚本完成后,请确保添加详细的<code>README.md</code>说明使用方法,包括:`,ss,ut,Bf='<li>运行示例的具体命令(示例参见<a href="https://github.com/huggingface/diffusers/tree/main/examples/dreambooth#running-locally-with-pytorch" rel="nofollow">此处</a>)</li> <li>训练结果链接(日志/模型等),展示用户可预期的效果(示例参见<a href="https://api.wandb.ai/report/patrickvonplaten/xm6cd5q5" rel="nofollow">此处</a>)</li> <li>若添加非官方/研究性训练示例,<strong>必须注明</strong>维护者信息(含Git账号),格式参照<a href="https://github.com/huggingface/diffusers/tree/main/examples/research_projects/intel_opts#diffusers-examples-with-intel-optimizations" rel="nofollow">此处</a></li>',ns,ot,Rf='贡献官方训练示例时,还需在对应目录添加测试文件(如<a href="https://github.com/huggingface/diffusers/blob/main/examples/dreambooth/test_dreambooth.py" rel="nofollow">examples/dreambooth/test_dreambooth.py</a>),非官方示例无需此步骤。',fs,mt,ps,at,Nf=`标有<a href="https://github.com/huggingface/diffusers/issues?q=is%3Aopen+is%3Aissue+label%3A%22Good+second+issue%22" rel="nofollow">Good second issue</a>标签的问题通常比<a href="https://github.com/huggingface/diffusers/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22" rel="nofollow">Good first issues</a>更复杂。<br/> | |
| 这类问题的描述通常不会提供详细解决指引,需要贡献者对库有较深理解。<br/> | |
| 若您想解决此类问题,可直接提交PR并关联对应issue。若已有未合并的PR,请分析原因后提交改进版。需注意,Good second issue类PR的合并难度通常高于good first issues。在需要帮助的时候请不要犹豫,大胆的向核心维护者询问。`,us,rt,os,Tt,kf="管道(pipelines)、模型(models)和调度器(schedulers)是Diffusers库中最重要的组成部分。它们提供了对最先进diffusion技术的便捷访问,使得社区能够构建强大的生成式AI应用。",ms,wt,Af="通过添加新的模型、管道或调度器,您可能为依赖Diffusers的任何用户界面开启全新的强大用例,这对整个生成式AI生态系统具有巨大价值。",as,Mt,Wf="Diffusers针对这三类组件都有一些开放的功能请求——如果您还不确定要添加哪个具体组件,可以浏览以下链接:",rs,Jt,Xf='<li><a href="https://github.com/huggingface/diffusers/issues?q=is%3Aopen+is%3Aissue+label%3A%22New+pipeline%2Fmodel%22" rel="nofollow">模型或管道</a></li> <li><a href="https://github.com/huggingface/diffusers/issues?q=is%3Aopen+is%3Aissue+label%3A%22New+scheduler%22" rel="nofollow">调度器</a></li>',Ts,dt,Ff='在添加任何组件之前,强烈建议您阅读<a href="philosophy">设计哲学指南</a>,以更好地理解这三类组件的设计理念。请注意,如果添加的模型、调度器或管道与我们的设计理念存在严重分歧,我们将无法合并,因为这会导致API不一致。如果您从根本上不同意某个设计选择,请改为提交<a href="https://github.com/huggingface/diffusers/issues/new?assignees=&labels=&template=feedback.md&title=" rel="nofollow">反馈问题</a>,以便讨论是否应该更改库中的特定设计模式/选择,以及是否更新我们的设计哲学。保持库内的一致性对我们非常重要。',ws,gt,Qf="请确保在PR中添加原始代码库/论文的链接,并最好直接在PR中@原始作者,以便他们可以跟踪进展并在有疑问时提供帮助。",Ms,ht,Ef="如果您在PR过程中遇到不确定或卡住的情况,请随时留言请求初步审查或帮助。",Js,$t,ds,Ut,Df="在添加任何管道、模型或调度器代码时,理解<code># Copied from</code>机制是独特且重要的。您会在整个Diffusers代码库中看到这种机制,我们使用它的原因是为了保持代码库易于理解和维护。用<code># Copied from</code>机制标记代码会强制标记的代码与复制来源的代码完全相同。这使得每当您运行<code>make fix-copies</code>时,可以轻松更新并将更改传播到多个文件。",gs,ct,zf="例如,在下面的代码示例中,<code>StableDiffusionPipelineOutput</code>是原始代码,而<code>AltDiffusionPipelineOutput</code>使用<code># Copied from</code>机制来复制它。唯一的区别是将类前缀从<code>Stable</code>改为<code>Alt</code>。",hs,bt,$s,Ct,Sf='要了解更多信息,请阅读<a href="https://huggingface.co/blog/transformers-design-philosophy#4-machine-learning-models-are-static" rel="nofollow">~不要~重复自己*</a>博客文章的相应部分。',Us,yt,cs,xt,Yf="<strong>问题描述越清晰,被快速解决的可能性就越高。</strong>",bs,vt,qf='<li>确保使用了正确的issue模板。您可以选择<em>错误报告</em>、<em>功能请求</em>、<em>API设计反馈</em>、<em>新模型/流水线/调度器添加</em>、<em>论坛</em>或空白issue。在<a href="https://github.com/huggingface/diffusers/issues/new/choose" rel="nofollow">新建issue</a>时务必选择正确的模板。</li> <li><strong>精确描述</strong>:为issue起一个恰当的标题。尽量用最简练的语言描述问题。提交issue时越精确,理解问题和潜在解决方案所需的时间就越少。确保一个issue只针对一个问题,不要将多个问题放在同一个issue中。如果发现多个问题,请分别创建多个issue。如果是错误报告,请尽可能精确描述错误类型——不应只写”diffusers出错”。</li> <li><strong>可复现性</strong>:无法复现的代码片段 == 无法解决问题。如果遇到错误,维护人员必须能够<strong>复现</strong>它。确保包含一个可以复制粘贴到Python解释器中复现问题的代码片段。确保您的代码片段是可运行的,即没有缺少导入或图像链接等问题。issue应包含错误信息和可直接复制粘贴以复现相同错误的代码片段。如果issue涉及本地模型权重或无法被读者访问的本地数据,则问题无法解决。如果无法共享数据或模型,请尝试创建虚拟模型或虚拟数据。</li> <li><strong>最小化原则</strong>:通过尽可能简洁的描述帮助读者快速理解问题。删除所有与问题无关的代码/信息。如果发现错误,请创建最简单的代码示例来演示问题,不要一发现错误就把整个工作流程都转储到issue中。例如,如果在训练模型时某个阶段出现错误或训练过程中遇到问题时,应首先尝试理解训练代码的哪部分导致了错误,并用少量代码尝试复现。建议使用模拟数据替代完整数据集进行测试。</li> <li>添加引用链接。当提及特定命名、方法或模型时,请务必提供引用链接以便读者理解。若涉及具体PR或issue,请确保添加对应链接。不要假设读者了解你所指内容。issue中引用链接越丰富越好。</li> <li>规范格式。请确保规范格式化issue内容:Python代码使用代码语法块,错误信息使用标准代码语法。详见<a href="https://docs.github.com/en/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax" rel="nofollow">GitHub官方格式文档</a>。</li> <li>请将issue视为百科全书的精美词条,而非待解决的工单。每个规范撰写的issue不仅是向维护者有效传递问题的方式,更是帮助社区深入理解库特性的公共知识贡献。</li>',Cs,It,ys,Ht,Of='<li>保持风格统一。理解现有设计模式和语法规范,确保新增代码与代码库现有结构无缝衔接。显著偏离现有设计模式或用户界面的PR将不予合并。</li> <li>聚焦单一问题。每个PR应当只解决一个明确问题,避免”顺手修复其他问题”的陷阱。包含多个无关修改的PR会极大增加审查难度。</li> <li>如适用,建议添加代码片段演示新增功能的使用方法。</li> <li>PR标题应准确概括其核心贡献。</li> <li>若PR针对某个issue,请在描述中注明issue编号以建立关联(也让关注该issue的用户知晓有人正在处理);</li> <li>进行中的PR请在标题添加<code>[WIP]</code>前缀。这既能避免重复劳动,也可与待合并PR明确区分;</li> <li>文本表述与格式要求请参照<a href="#how-to-write-a-good-issue">优质issue编写规范</a>;</li> <li>确保现有测试用例全部通过;</li> <li>必须添加高覆盖率测试。未经充分测试的代码不予合并。</li>',xs,_t,Kf=`<li>若新增<code>@slow</code>测试,请使用<code>RUN_SLOW=1 python -m pytest tests/test_my_new_model.py</code>确保通过。 | |
| CircleCI不执行慢速测试,但GitHub Actions会每日夜间运行!</li>`,vs,Z,ep='<li>所有公开方法必须包含格式规范、兼容markdown的说明文档。可参考<a href="https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/latent_diffusion/pipeline_latent_diffusion.py" rel="nofollow"><code>pipeline_latent_diffusion.py</code></a></li> <li>由于代码库快速增长,必须确保不会添加明显增加仓库体积的文件(如图片、视频等非文本文件)。建议优先使用托管在hf.co的<code>dataset</code>(例如<a href="https://huggingface.co/hf-internal-testing" rel="nofollow"><code>hf-internal-testing</code></a>或<a href="https://huggingface.co/datasets/huggingface/documentation-images" rel="nofollow">huggingface/documentation-images</a>)存放这类文件。若为外部贡献,可将图片添加到PR中并请Hugging Face成员将其迁移至该数据集。</li>',Is,Lt,Hs,jt,tp="编写代码前,强烈建议先搜索现有PR或issue,确认没有重复工作。如有疑问,建议先创建issue获取反馈。",_s,Gt,lp='贡献至🧨 Diffusers需要基本的<code>git</code>技能。虽然<code>git</code>学习曲线较高,但其拥有最完善的手册。在终端输入<code>git --help</code>即可查阅,或参考书籍<a href="https://git-scm.com/book/en/v2" rel="nofollow">Pro Git</a>。',Ls,Zt,ip='请按以下步骤操作(<a href="https://github.com/huggingface/diffusers/blob/83bc6c94eaeb6f7704a2a428931cf2d9ad973ae9/setup.py#L270" rel="nofollow">支持的Python版本</a>):',js,c,hl,sp='<p>在<a href="https://github.com/huggingface/diffusers" rel="nofollow">仓库页面</a>点击”Fork”按钮创建代码副本至您的GitHub账户</p>',dn,Vt,$l,np="克隆fork到本地,并添加主仓库为远程源:",gn,Pt,hn,v,Ul,fp="创建新分支进行开发:",$n,Bt,Un,cl,pp="<strong>禁止</strong>直接在<code>main</code>分支上修改",cn,I,bl,up="在虚拟环境中运行以下命令配置开发环境:",bn,Rt,Cn,Cl,op="若已克隆仓库,可能需要先执行<code>git pull</code>获取最新代码",yn,yl,mp="<p>在您的分支上开发功能</p>",Gs,Nt,ap="开发过程中应确保测试通过。可运行受影响测试:",Zs,kt,Vs,At,rp="执行测试前请安装测试依赖:",Ps,Wt,Bs,Xt,Tp="也可运行完整测试套件(需高性能机器):",Rs,Ft,Ns,Qt,wp="🧨 Diffusers使用<code>black</code>和<code>isort</code>工具保持代码风格统一。修改后请执行自动化格式校正与代码验证,以下内容无法通过以下命令一次性自动化完成:",ks,Et,As,Dt,Mp="🧨 Diffusers 还使用 <code>ruff</code> 和一些自定义脚本来检查代码错误。虽然质量控制流程会在 CI 中运行,但您也可以通过以下命令手动执行相同的检查:",Ws,zt,Xs,St,Jp="当您对修改满意后,使用 <code>git add</code> 添加更改的文件,并通过 <code>git commit</code> 在本地记录这些更改:",Fs,Yt,Qs,qt,dp="定期将您的代码副本与原始仓库同步是一个好习惯。这样可以快速适应上游变更:",Es,Ot,Ds,Kt,gp="使用以下命令将更改推送到您的账户:",zs,el,Ss,V,hp="<li><p>确认无误后,请访问您 GitHub 账户中的派生仓库页面。点击「Pull request」将您的更改提交给项目维护者审核。</p></li> <li><p>如果维护者要求修改,这很正常——核心贡献者也会遇到这种情况!为了让所有人能在 Pull request 中看到变更,请在本地分支继续工作并将修改推送到您的派生仓库,这些变更会自动出现在 Pull request 中。</p></li>",Ys,tl,qs,ll,$p='我们提供了全面的测试套件来验证库行为和多个示例。库测试位于 <a href="https://github.com/huggingface/diffusers/tree/main/tests" rel="nofollow">tests 文件夹</a>。',Os,il,Up="我们推荐使用 <code>pytest</code> 和 <code>pytest-xdist</code>,因为它们速度更快。在仓库根目录下运行以下命令执行库测试:",Ks,sl,en,nl,cp="实际上,这就是 <code>make test</code> 的实现方式!",tn,fl,bp="您可以指定更小的测试范围来仅验证您正在开发的功能。",ln,pl,Cp="默认情况下会跳过耗时测试。设置 <code>RUN_SLOW</code> 环境变量为 <code>yes</code> 可运行这些测试。注意:这将下载数十 GB 的模型文件——请确保您有足够的磁盘空间、良好的网络连接或充足的耐心!",sn,ul,nn,ol,yp="我们也完全支持 <code>unittest</code>,运行方式如下:",fn,ml,pn,al,un,rl,xp="为避免向上游仓库发送引用通知(这会给相关 PR 添加注释并向开发者发送不必要的通知),在同步派生仓库的 main 分支时,请遵循以下步骤:",on,Tl,vp="<li>尽可能避免通过派生仓库的分支和 PR 来同步上游,而是直接合并到派生仓库的 main 分支</li> <li>如果必须使用 PR,请在检出分支后执行以下操作:</li>",mn,wl,an,Ml,rn,Jl,Ip='对于文档字符串,🧨 Diffusers 遵循 <a href="https://google.github.io/styleguide/pyguide.html" rel="nofollow">Google 风格指南</a>。',Tn,dl,wn,Hl,Mn;return J=new Pp({props:{containerStyle:"float: right; margin-left: 10px; display: inline-flex; position: relative; z-index: 10;"}}),x=new g({props:{title:"如何为Diffusers 🧨做贡献",local:"如何为diffusers-做贡献",headingTag:"h1"}}),A=new g({props:{title:"概述",local:"概述",headingTag:"h2"}}),D=new g({props:{title:"1. 在Diffusers讨论区或Discord提问与解答",local:"1-在diffusers讨论区或discord提问与解答",headingTag:"h3"}}),ee=new g({props:{title:"2. 在GitHub议题页提交新议题",local:"2-在github议题页提交新议题",headingTag:"h3"}}),fe=new g({props:{title:"2.1 可复现的最小化错误报告",local:"21-可复现的最小化错误报告",headingTag:"h4"}}),ae=new g({props:{title:"2.2 功能请求",local:"22-功能请求",headingTag:"h4"}}),Je=new g({props:{title:"2.3 设计反馈",local:"23-设计反馈",headingTag:"h4"}}),he=new g({props:{title:"2.4 技术问题",local:"24-技术问题",headingTag:"h4"}}),be=new g({props:{title:"2.5 新模型/调度器/pipeline提案",local:"25-新模型调度器pipeline提案",headingTag:"h4"}}),Ie=new g({props:{title:"3. 解答GitHub问题",local:"3-解答github问题",headingTag:"h3"}}),Ve=new g({props:{title:"4. 修复”Good first issue”类问题",local:"4-修复good-first-issue类问题",headingTag:"h3"}}),Re=new g({props:{title:"5. 文档贡献",local:"5-文档贡献",headingTag:"h3"}}),We=new g({props:{title:"6. 贡献社区流程",local:"6-贡献社区流程",headingTag:"h3"}}),Qe=new h({props:{code:"ZnJvbSUyMGRpZmZ1c2VycyUyMGltcG9ydCUyMERpZmZ1c2lvblBpcGVsaW5lJTBBaW1wb3J0JTIwdG9yY2glMEElMEFjbGFzcyUyMFVuZXRTY2hlZHVsZXJPbmVGb3J3YXJkUGlwZWxpbmUoRGlmZnVzaW9uUGlwZWxpbmUpJTNBJTBBJTIwJTIwJTIwJTIwZGVmJTIwX19pbml0X18oc2VsZiUyQyUyMHVuZXQlMkMlMjBzY2hlZHVsZXIpJTNBJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwc3VwZXIoKS5fX2luaXRfXygpJTBBJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwc2VsZi5yZWdpc3Rlcl9tb2R1bGVzKHVuZXQlM0R1bmV0JTJDJTIwc2NoZWR1bGVyJTNEc2NoZWR1bGVyKQ==",highlighted:`<span class="hljs-keyword">from</span> diffusers <span class="hljs-keyword">import</span> DiffusionPipeline | |
| <span class="hljs-keyword">import</span> torch | |
| <span class="hljs-keyword">class</span> <span class="hljs-title class_">UnetSchedulerOneForwardPipeline</span>(<span class="hljs-title class_ inherited__">DiffusionPipeline</span>): | |
| <span class="hljs-keyword">def</span> <span class="hljs-title function_">__init__</span>(<span class="hljs-params">self, unet, scheduler</span>): | |
| <span class="hljs-built_in">super</span>().__init__() | |
| self.register_modules(unet=unet, scheduler=scheduler)`,wrap:!1}}),Ee=new h({props:{code:"JTIwJTIwZnJvbSUyMGRpZmZ1c2VycyUyMGltcG9ydCUyMERpZmZ1c2lvblBpcGVsaW5lJTBBJTIwJTIwaW1wb3J0JTIwdG9yY2glMEElMEElMjAlMjBjbGFzcyUyMFVuZXRTY2hlZHVsZXJPbmVGb3J3YXJkUGlwZWxpbmUoRGlmZnVzaW9uUGlwZWxpbmUpJTNBJTBBJTIwJTIwJTIwJTIwJTIwJTIwZGVmJTIwX19pbml0X18oc2VsZiUyQyUyMHVuZXQlMkMlMjBzY2hlZHVsZXIpJTNBJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwc3VwZXIoKS5fX2luaXRfXygpJTBBJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwc2VsZi5yZWdpc3Rlcl9tb2R1bGVzKHVuZXQlM0R1bmV0JTJDJTIwc2NoZWR1bGVyJTNEc2NoZWR1bGVyKSUwQSUwQSUyMCUyMCUyMCUyMCUyMCUyMGRlZiUyMF9fY2FsbF9fKHNlbGYpJTNBJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwaW1hZ2UlMjAlM0QlMjB0b3JjaC5yYW5kbiglMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAoMSUyQyUyMHNlbGYudW5ldC5jb25maWcuaW5fY2hhbm5lbHMlMkMlMjBzZWxmLnVuZXQuY29uZmlnLnNhbXBsZV9zaXplJTJDJTIwc2VsZi51bmV0LmNvbmZpZy5zYW1wbGVfc2l6ZSklMkMlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjApJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwdGltZXN0ZXAlMjAlM0QlMjAxJTBBJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwbW9kZWxfb3V0cHV0JTIwJTNEJTIwc2VsZi51bmV0KGltYWdlJTJDJTIwdGltZXN0ZXApLnNhbXBsZSUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMHNjaGVkdWxlcl9vdXRwdXQlMjAlM0QlMjBzZWxmLnNjaGVkdWxlci5zdGVwKG1vZGVsX291dHB1dCUyQyUyMHRpbWVzdGVwJTJDJTIwaW1hZ2UpLnByZXZfc2FtcGxlJTBBJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwcmV0dXJuJTIwc2NoZWR1bGVyX291dHB1dA==",highlighted:` <span class="hljs-keyword">from</span> diffusers <span class="hljs-keyword">import</span> DiffusionPipeline | |
| <span class="hljs-keyword">import</span> torch | |
| <span class="hljs-keyword">class</span> <span class="hljs-title class_">UnetSchedulerOneForwardPipeline</span>(<span class="hljs-title class_ inherited__">DiffusionPipeline</span>): | |
| <span class="hljs-keyword">def</span> <span class="hljs-title function_">__init__</span>(<span class="hljs-params">self, unet, scheduler</span>): | |
| <span class="hljs-built_in">super</span>().__init__() | |
| self.register_modules(unet=unet, scheduler=scheduler) | |
| <span class="hljs-keyword">def</span> <span class="hljs-title function_">__call__</span>(<span class="hljs-params">self</span>): | |
| image = torch.randn( | |
| (<span class="hljs-number">1</span>, self.unet.config.in_channels, self.unet.config.sample_size, self.unet.config.sample_size), | |
| ) | |
| timestep = <span class="hljs-number">1</span> | |
| model_output = self.unet(image, timestep).sample | |
| scheduler_output = self.scheduler.step(model_output, timestep, image).prev_sample | |
| <span class="hljs-keyword">return</span> scheduler_output`,wrap:!1}}),ze=new h({props:{code:"ZnJvbSUyMGRpZmZ1c2VycyUyMGltcG9ydCUyMEREUE1TY2hlZHVsZXIlMkMlMjBVTmV0MkRNb2RlbCUwQSUwQXNjaGVkdWxlciUyMCUzRCUyMEREUE1TY2hlZHVsZXIoKSUwQXVuZXQlMjAlM0QlMjBVTmV0MkRNb2RlbCgpJTBBJTBBcGlwZWxpbmUlMjAlM0QlMjBVbmV0U2NoZWR1bGVyT25lRm9yd2FyZFBpcGVsaW5lKHVuZXQlM0R1bmV0JTJDJTIwc2NoZWR1bGVyJTNEc2NoZWR1bGVyKSUwQW91dHB1dCUyMCUzRCUyMHBpcGVsaW5lKCklMEElMjMlMjAlRTUlOEElQTAlRTglQkQlQkQlRTklQTIlODQlRTglQUUlQUQlRTclQkIlODMlRTYlOUQlODMlRTklODclOEQlMEFwaXBlbGluZSUyMCUzRCUyMFVuZXRTY2hlZHVsZXJPbmVGb3J3YXJkUGlwZWxpbmUuZnJvbV9wcmV0cmFpbmVkKCUyMmdvb2dsZSUyRmRkcG0tY2lmYXIxMC0zMiUyMiUyQyUyMHVzZV9zYWZldGVuc29ycyUzRFRydWUpJTBBb3V0cHV0JTIwJTNEJTIwcGlwZWxpbmUoKQ==",highlighted:`<span class="hljs-keyword">from</span> diffusers <span class="hljs-keyword">import</span> DDPMScheduler, UNet2DModel | |
| scheduler = DDPMScheduler() | |
| unet = UNet2DModel() | |
| pipeline = UnetSchedulerOneForwardPipeline(unet=unet, scheduler=scheduler) | |
| output = pipeline() | |
| <span class="hljs-comment"># 加载预训练权重</span> | |
| pipeline = UnetSchedulerOneForwardPipeline.from_pretrained(<span class="hljs-string">"google/ddpm-cifar10-32"</span>, use_safetensors=<span class="hljs-literal">True</span>) | |
| output = pipeline()`,wrap:!1}}),G=new Rp({props:{id:"pipeline类型",options:["GitHub pipeline","Hub pipeline"],$$slots:{default:[Ap]},$$scope:{ctx:H}}}),Ye=new g({props:{title:"7. 贡献训练示例",local:"7-贡献训练示例",headingTag:"h3"}}),lt=new h({props:{code:"Z2l0JTIwY2xvbmUlMjBodHRwcyUzQSUyRiUyRmdpdGh1Yi5jb20lMkZodWdnaW5nZmFjZSUyRmRpZmZ1c2Vycw==",highlighted:'git <span class="hljs-built_in">clone</span> https://github.com/huggingface/diffusers',wrap:!1}}),st=new h({props:{code:"Y2QlMjBkaWZmdXNlcnMlMEFwaXAlMjBpbnN0YWxsJTIwLXIlMjBleGFtcGxlcyUyRiUzQ3lvdXItZXhhbXBsZS1mb2xkZXIlM0UlMkZyZXF1aXJlbWVudHMudHh0",highlighted:`<span class="hljs-built_in">cd</span> diffusers | |
| pip install -r examples/<your-example-folder>/requirements.txt`,wrap:!1}}),mt=new g({props:{title:"8. 处理”Good second issue”类问题",local:"8-处理good-second-issue类问题",headingTag:"h3"}}),rt=new g({props:{title:"9. 添加管道、模型和调度器",local:"9-添加管道模型和调度器",headingTag:"h3"}}),$t=new g({props:{title:"复制机制(Copied from)",local:"复制机制copied-from",headingTag:"h4"}}),bt=new h({props:{code:"JTIzJTIwJUU0JUJCJThFJTIwZGlmZnVzZXJzLnBpcGVsaW5lcy5zdGFibGVfZGlmZnVzaW9uLnBpcGVsaW5lX291dHB1dC5TdGFibGVEaWZmdXNpb25QaXBlbGluZU91dHB1dCUyMCVFNSVBNCU4RCVFNSU4OCVCNiVFNSVCOSVCNiVFNSVCMCU4NiUyMFN0YWJsZSUyMCVFNiU5QiVCRiVFNiU4RCVBMiVFNCVCOCVCQSUyMEFsdCUwQWNsYXNzJTIwQWx0RGlmZnVzaW9uUGlwZWxpbmVPdXRwdXQoQmFzZU91dHB1dCklM0ElMEElMjAlMjAlMjAlMjAlMjIlMjIlMjIlMEElMjAlMjAlMjAlMjBPdXRwdXQlMjBjbGFzcyUyMGZvciUyMEFsdCUyMERpZmZ1c2lvbiUyMHBpcGVsaW5lcy4lMEElMEElMjAlMjAlMjAlMjBBcmdzJTNBJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwaW1hZ2VzJTIwKCU2MExpc3QlNUJQSUwuSW1hZ2UuSW1hZ2UlNUQlNjAlMjBvciUyMCU2MG5wLm5kYXJyYXklNjApJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwTGlzdCUyMG9mJTIwZGVub2lzZWQlMjBQSUwlMjBpbWFnZXMlMjBvZiUyMGxlbmd0aCUyMCU2MGJhdGNoX3NpemUlNjAlMjBvciUyME51bVB5JTIwYXJyYXklMjBvZiUyMHNoYXBlJTIwJTYwKGJhdGNoX3NpemUlMkMlMjBoZWlnaHQlMkMlMjB3aWR0aCUyQyUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMG51bV9jaGFubmVscyklNjAuJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwbnNmd19jb250ZW50X2RldGVjdGVkJTIwKCU2MExpc3QlNUJib29sJTVEJTYwKSUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMExpc3QlMjBpbmRpY2F0aW5nJTIwd2hldGhlciUyMHRoZSUyMGNvcnJlc3BvbmRpbmclMjBnZW5lcmF0ZWQlMjBpbWFnZSUyMGNvbnRhaW5zJTIwJTIybm90LXNhZmUtZm9yLXdvcmslMjIlMjAobnNmdyklMjBjb250ZW50JTIwb3IlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlNjBOb25lJTYwJTIwaWYlMjBzYWZldHklMjBjaGVja2luZyUyMGNvdWxkJTIwbm90JTIwYmUlMjBwZXJmb3JtZWQuJTBBJTIwJTIwJTIwJTIwJTIyJTIyJTIy",highlighted:'<span class="hljs-comment"># 从 diffusers.pipelines.stable_diffusion.pipeline_output.StableDiffusionPipelineOutput 复制并将 Stable 替换为 Alt</span>\n<span class="hljs-keyword">class</span> <span class="hljs-title class_">AltDiffusionPipelineOutput</span>(<span class="hljs-title class_ inherited__">BaseOutput</span>):\n <span class="hljs-string">"""\n Output class for Alt Diffusion pipelines.\n\n Args:\n images (`List[PIL.Image.Image]` or `np.ndarray`)\n List of denoised PIL images of length `batch_size` or NumPy array of shape `(batch_size, height, width,\n num_channels)`.\n nsfw_content_detected (`List[bool]`)\n List indicating whether the corresponding generated image contains "not-safe-for-work" (nsfw) content or\n `None` if safety checking could not be performed.\n """</span>',wrap:!1}}),yt=new g({props:{title:"如何撰写优质问题",local:"如何撰写优质问题",headingTag:"h2"}}),It=new g({props:{title:"优质PR编写规范",local:"优质pr编写规范",headingTag:"h2"}}),Lt=new g({props:{title:"提交PR流程",local:"提交pr流程",headingTag:"h2"}}),Pt=new h({props:{code:"JTI0JTIwZ2l0JTIwY2xvbmUlMjBnaXQlNDBnaXRodWIuY29tJTNBJTNDJUU2JTgyJUE4JUU3JTlBJTg0R2l0SHViJUU4JUI0JUE2JUU1JThGJUI3JTNFJTJGZGlmZnVzZXJzLmdpdCUwQSUyNCUyMGNkJTIwZGlmZnVzZXJzJTBBJTI0JTIwZ2l0JTIwcmVtb3RlJTIwYWRkJTIwdXBzdHJlYW0lMjBodHRwcyUzQSUyRiUyRmdpdGh1Yi5jb20lMkZodWdnaW5nZmFjZSUyRmRpZmZ1c2Vycy5naXQ=",highlighted:`$ git <span class="hljs-built_in">clone</span> git@github.com:<您的GitHub账号>/diffusers.git | |
| $ <span class="hljs-built_in">cd</span> diffusers | |
| $ git remote add upstream https://github.com/huggingface/diffusers.git`,wrap:!1}}),Bt=new h({props:{code:"JTI0JTIwZ2l0JTIwY2hlY2tvdXQlMjAtYiUyMCVFNiU4MiVBOCVFNyU5QSU4NCVFNSVCQyU4MCVFNSU4RiU5MSVFNSU4OCU4NiVFNiU5NCVBRiVFNSU5MCU4RCVFNyVBNyVCMA==",highlighted:"$ git checkout -b 您的开发分支名称",wrap:!1}}),Rt=new h({props:{code:"JTI0JTIwcGlwJTIwaW5zdGFsbCUyMC1lJTIwJTIyLiU1QmRldiU1RCUyMg==",highlighted:'$ pip install -e <span class="hljs-string">".[dev]"</span>',wrap:!1}}),kt=new h({props:{code:"JTI0JTIwcHl0ZXN0JTIwdGVzdHMlMkYlM0MlRTUlQkUlODUlRTYlQjUlOEIlRTYlOTYlODclRTQlQkIlQjYlM0UucHk=",highlighted:"$ pytest tests/<待测文件>.py",wrap:!1}}),Wt=new h({props:{code:"JTI0JTIwcGlwJTIwaW5zdGFsbCUyMC1lJTIwJTIyLiU1QnRlc3QlNUQlMjI=",highlighted:'$ pip install -e <span class="hljs-string">".[test]"</span>',wrap:!1}}),Ft=new h({props:{code:"JTI0JTIwbWFrZSUyMHRlc3Q=",highlighted:'$ make <span class="hljs-built_in">test</span>',wrap:!1}}),Et=new h({props:{code:"JTI0JTIwbWFrZSUyMHN0eWxl",highlighted:"$ make style",wrap:!1}}),zt=new h({props:{code:"JTI0JTIwbWFrZSUyMHF1YWxpdHk=",highlighted:"$ make quality",wrap:!1}}),Yt=new h({props:{code:"JTI0JTIwZ2l0JTIwYWRkJTIwbW9kaWZpZWRfZmlsZS5weSUwQSUyNCUyMGdpdCUyMGNvbW1pdCUyMC1tJTIwJTIyJUU1JTg1JUIzJUU0JUJBJThFJUU2JTgyJUE4JUU2JTg5JTgwJUU1JTgxJTlBJUU2JTlCJUI0JUU2JTk0JUI5JUU3JTlBJTg0JUU2JThGJThGJUU4JUJGJUIwJUU2JTgwJUE3JUU0JUJGJUExJUU2JTgxJUFGJUUzJTgwJTgyJTIy",highlighted:`$ git add modified_file.py | |
| $ git commit -m <span class="hljs-string">"关于您所做更改的描述性信息。"</span>`,wrap:!1}}),Ot=new h({props:{code:"JTI0JTIwZ2l0JTIwcHVsbCUyMHVwc3RyZWFtJTIwbWFpbg==",highlighted:"$ git pull upstream main",wrap:!1}}),el=new h({props:{code:"JTI0JTIwZ2l0JTIwcHVzaCUyMC11JTIwb3JpZ2luJTIwJUU2JUFEJUE0JUU1JUE0JTg0JUU2JTlCJUJGJUU2JThEJUEyJUU0JUI4JUJBJUU2JTgyJUE4JUU3JTlBJTg0JUU2JThGJThGJUU4JUJGJUIwJUU2JTgwJUE3JUU1JTg4JTg2JUU2JTk0JUFGJUU1JTkwJThEJUU3JUE3JUIw",highlighted:"$ git push -u origin 此处替换为您的描述性分支名称",wrap:!1}}),tl=new g({props:{title:"测试",local:"测试",headingTag:"h3"}}),sl=new h({props:{code:"JTI0JTIwcHl0aG9uJTIwLW0lMjBweXRlc3QlMjAtbiUyMGF1dG8lMjAtLWRpc3QlM0Rsb2FkZmlsZSUyMC1zJTIwLXYlMjAuJTJGdGVzdHMlMkY=",highlighted:"$ python -m pytest -n auto --dist=loadfile -s -v ./tests/",wrap:!1}}),ul=new h({props:{code:"JTI0JTIwUlVOX1NMT1clM0R5ZXMlMjBweXRob24lMjAtbSUyMHB5dGVzdCUyMC1uJTIwYXV0byUyMC0tZGlzdCUzRGxvYWRmaWxlJTIwLXMlMjAtdiUyMC4lMkZ0ZXN0cyUyRg==",highlighted:'$ RUN_SLOW=<span class="hljs-built_in">yes</span> python -m pytest -n auto --dist=loadfile -s -v ./tests/',wrap:!1}}),ml=new h({props:{code:"JTI0JTIwcHl0aG9uJTIwLW0lMjB1bml0dGVzdCUyMGRpc2NvdmVyJTIwLXMlMjB0ZXN0cyUyMC10JTIwLiUyMC12JTBBJTI0JTIwcHl0aG9uJTIwLW0lMjB1bml0dGVzdCUyMGRpc2NvdmVyJTIwLXMlMjBleGFtcGxlcyUyMC10JTIwZXhhbXBsZXMlMjAtdg==",highlighted:`$ python -m unittest discover -s tests -t . -v | |
| $ python -m unittest discover -s examples -t examples -v`,wrap:!1}}),al=new g({props:{title:"将派生仓库的 main 分支与上游(HuggingFace)main 分支同步",local:"将派生仓库的-main-分支与上游huggingfacemain-分支同步",headingTag:"h3"}}),wl=new h({props:{code:"JTI0JTIwZ2l0JTIwY2hlY2tvdXQlMjAtYiUyMCVFNiU4MiVBOCVFNyU5QSU4NCVFNSU5MCU4QyVFNiVBRCVBNSVFNSU4OCU4NiVFNiU5NCVBRiVFNSU5MCU4RCVFNyVBNyVCMCUwQSUyNCUyMGdpdCUyMHB1bGwlMjAtLXNxdWFzaCUyMC0tbm8tY29tbWl0JTIwdXBzdHJlYW0lMjBtYWluJTBBJTI0JTIwZ2l0JTIwY29tbWl0JTIwLW0lMjAnJUU2JThGJTkwJUU0JUJBJUE0JUU0JUJGJUExJUU2JTgxJUFGJUVGJUJDJTg4JUU0JUI4JThEJUU4JUE2JTgxJUU1JThDJTg1JUU1JTkwJUFCJTIwR2l0SHViJTIwJUU1JUJDJTk1JUU3JTk0JUE4JUVGJUJDJTg5JyUwQSUyNCUyMGdpdCUyMHB1c2glMjAtLXNldC11cHN0cmVhbSUyMG9yaWdpbiUyMCVFNiU4MiVBOCVFNyU5QSU4NCVFNSU4OCU4NiVFNiU5NCVBRiVFNSU5MCU4RCVFNyVBNyVCMA==",highlighted:`$ git checkout -b 您的同步分支名称 | |
| $ git pull --squash --no-commit upstream main | |
| $ git commit -m <span class="hljs-string">'提交信息(不要包含 GitHub 引用)'</span> | |
| $ git push --set-upstream origin 您的分支名称`,wrap:!1}}),Ml=new g({props:{title:"风格指南",local:"风格指南",headingTag:"h3"}}),dl=new Bp({props:{source:"https://github.com/huggingface/diffusers/blob/main/docs/source/zh/conceptual/contribution.md"}}),{c(){M=f("meta"),U=s(),d=f("p"),b=s(),o(J.$$.fragment),C=s(),o(x.$$.fragment),P=s(),B=f("p"),B.textContent=xn,_l=s(),R=f("p"),R.innerHTML=vn,Ll=s(),N=f("p"),N.innerHTML=In,jl=s(),k=f("p"),k.textContent=Hn,Gl=s(),o(A.$$.fragment),Zl=s(),W=f("p"),W.textContent=_n,Vl=s(),X=f("p"),X.textContent=Ln,Pl=s(),F=f("ul"),F.innerHTML=jn,Bl=s(),Q=f("p"),Q.innerHTML=Gn,Rl=s(),E=f("p"),E.innerHTML=Zn,Nl=s(),o(D.$$.fragment),kl=s(),z=f("p"),z.innerHTML=Vn,Al=s(),S=f("ul"),S.innerHTML=Pn,Wl=s(),Y=f("p"),Y.textContent=Bn,Xl=s(),q=f("p"),q.innerHTML=Rn,Fl=s(),O=f("p"),O.innerHTML=Nn,Ql=s(),K=f("p"),K.innerHTML=kn,El=s(),o(ee.$$.fragment),Dl=s(),te=f("p"),te.textContent=An,zl=s(),le=f("p"),le.innerHTML=Wn,Sl=s(),ie=f("p"),ie.innerHTML=Xn,Yl=s(),se=f("ul"),se.innerHTML=Fn,ql=s(),ne=f("p"),ne.textContent=Qn,Ol=s(),o(fe.$$.fragment),Kl=s(),pe=f("p"),pe.textContent=En,ei=s(),ue=f("ul"),ue.innerHTML=Dn,ti=s(),oe=f("p"),oe.innerHTML=zn,li=s(),me=f("p"),me.innerHTML=Sn,ii=s(),o(ae.$$.fragment),si=s(),re=f("p"),re.textContent=Yn,ni=s(),Te=f("ol"),Te.innerHTML=qn,fi=s(),we=f("ul"),we.innerHTML=On,pi=s(),_=f("ol"),_.innerHTML=Kn,ui=s(),Me=f("p"),Me.innerHTML=ef,oi=s(),o(Je.$$.fragment),mi=s(),de=f("p"),de.innerHTML=tf,ai=s(),ge=f("p"),ge.innerHTML=lf,ri=s(),o(he.$$.fragment),Ti=s(),$e=f("p"),$e.textContent=sf,wi=s(),Ue=f("ul"),Ue.innerHTML=nf,Mi=s(),ce=f("p"),ce.innerHTML=ff,Ji=s(),o(be.$$.fragment),di=s(),Ce=f("p"),Ce.textContent=pf,gi=s(),ye=f("ul"),ye.innerHTML=uf,hi=s(),xe=f("p"),xe.textContent=of,$i=s(),ve=f("p"),ve.innerHTML=mf,Ui=s(),o(Ie.$$.fragment),ci=s(),He=f("p"),He.textContent=af,bi=s(),_e=f("ul"),_e.innerHTML=rf,Ci=s(),Le=f("p"),Le.textContent=Tf,yi=s(),je=f("ul"),je.innerHTML=wf,xi=s(),Ge=f("p"),Ge.textContent=Mf,vi=s(),Ze=f("p"),Ze.innerHTML=Jf,Ii=s(),o(Ve.$$.fragment),Hi=s(),Pe=f("p"),Pe.innerHTML=df,_i=s(),Be=f("ul"),Be.innerHTML=gf,Li=s(),o(Re.$$.fragment),ji=s(),Ne=f("p"),Ne.innerHTML=hf,Gi=s(),ke=f("ul"),ke.innerHTML=$f,Zi=s(),Ae=f("p"),Ae.innerHTML=Uf,Vi=s(),o(We.$$.fragment),Pi=s(),L=f("blockquote"),L.innerHTML=cf,Bi=s(),Xe=f("p"),Xe.innerHTML=bf,Ri=s(),Fe=f("ol"),Fe.innerHTML=Cf,Ni=s(),o(Qe.$$.fragment),ki=s(),j=f("ol"),j.innerHTML=yf,Ai=s(),o(Ee.$$.fragment),Wi=s(),De=f("p"),De.textContent=xf,Xi=s(),o(ze.$$.fragment),Fi=s(),Se=f("p"),Se.textContent=vf,Qi=s(),o(G.$$.fragment),Ei=s(),o(Ye.$$.fragment),Di=s(),qe=f("p"),qe.innerHTML=If,zi=s(),Oe=f("p"),Oe.textContent=Hf,Si=s(),Ke=f("ul"),Ke.innerHTML=_f,Yi=s(),et=f("p"),et.innerHTML=Lf,qi=s(),tt=f("p"),tt.innerHTML=jf,Oi=s(),o(lt.$$.fragment),Ki=s(),it=f("p"),it.textContent=Gf,es=s(),o(st.$$.fragment),ts=s(),nt=f("p"),nt.innerHTML=Zf,ls=s(),ft=f("ul"),ft.innerHTML=Vf,is=s(),pt=f("p"),pt.innerHTML=Pf,ss=s(),ut=f("ul"),ut.innerHTML=Bf,ns=s(),ot=f("p"),ot.innerHTML=Rf,fs=s(),o(mt.$$.fragment),ps=s(),at=f("p"),at.innerHTML=Nf,us=s(),o(rt.$$.fragment),os=s(),Tt=f("p"),Tt.textContent=kf,ms=s(),wt=f("p"),wt.textContent=Af,as=s(),Mt=f("p"),Mt.textContent=Wf,rs=s(),Jt=f("ul"),Jt.innerHTML=Xf,Ts=s(),dt=f("p"),dt.innerHTML=Ff,ws=s(),gt=f("p"),gt.textContent=Qf,Ms=s(),ht=f("p"),ht.textContent=Ef,Js=s(),o($t.$$.fragment),ds=s(),Ut=f("p"),Ut.innerHTML=Df,gs=s(),ct=f("p"),ct.innerHTML=zf,hs=s(),o(bt.$$.fragment),$s=s(),Ct=f("p"),Ct.innerHTML=Sf,Us=s(),o(yt.$$.fragment),cs=s(),xt=f("p"),xt.innerHTML=Yf,bs=s(),vt=f("ol"),vt.innerHTML=qf,Cs=s(),o(It.$$.fragment),ys=s(),Ht=f("ol"),Ht.innerHTML=Of,xs=s(),_t=f("ul"),_t.innerHTML=Kf,vs=s(),Z=f("ol"),Z.innerHTML=ep,Is=s(),o(Lt.$$.fragment),Hs=s(),jt=f("p"),jt.textContent=tp,_s=s(),Gt=f("p"),Gt.innerHTML=lp,Ls=s(),Zt=f("p"),Zt.innerHTML=ip,js=s(),c=f("ol"),hl=f("li"),hl.innerHTML=sp,dn=s(),Vt=f("li"),$l=f("p"),$l.textContent=np,gn=s(),o(Pt.$$.fragment),hn=s(),v=f("li"),Ul=f("p"),Ul.textContent=fp,$n=s(),o(Bt.$$.fragment),Un=s(),cl=f("p"),cl.innerHTML=pp,cn=s(),I=f("li"),bl=f("p"),bl.textContent=up,bn=s(),o(Rt.$$.fragment),Cn=s(),Cl=f("p"),Cl.innerHTML=op,yn=s(),yl=f("li"),yl.innerHTML=mp,Gs=s(),Nt=f("p"),Nt.textContent=ap,Zs=s(),o(kt.$$.fragment),Vs=s(),At=f("p"),At.textContent=rp,Ps=s(),o(Wt.$$.fragment),Bs=s(),Xt=f("p"),Xt.textContent=Tp,Rs=s(),o(Ft.$$.fragment),Ns=s(),Qt=f("p"),Qt.innerHTML=wp,ks=s(),o(Et.$$.fragment),As=s(),Dt=f("p"),Dt.innerHTML=Mp,Ws=s(),o(zt.$$.fragment),Xs=s(),St=f("p"),St.innerHTML=Jp,Fs=s(),o(Yt.$$.fragment),Qs=s(),qt=f("p"),qt.textContent=dp,Es=s(),o(Ot.$$.fragment),Ds=s(),Kt=f("p"),Kt.textContent=gp,zs=s(),o(el.$$.fragment),Ss=s(),V=f("ol"),V.innerHTML=hp,Ys=s(),o(tl.$$.fragment),qs=s(),ll=f("p"),ll.innerHTML=$p,Os=s(),il=f("p"),il.innerHTML=Up,Ks=s(),o(sl.$$.fragment),en=s(),nl=f("p"),nl.innerHTML=cp,tn=s(),fl=f("p"),fl.textContent=bp,ln=s(),pl=f("p"),pl.innerHTML=Cp,sn=s(),o(ul.$$.fragment),nn=s(),ol=f("p"),ol.innerHTML=yp,fn=s(),o(ml.$$.fragment),pn=s(),o(al.$$.fragment),un=s(),rl=f("p"),rl.textContent=xp,on=s(),Tl=f("ol"),Tl.innerHTML=vp,mn=s(),o(wl.$$.fragment),an=s(),o(Ml.$$.fragment),rn=s(),Jl=f("p"),Jl.innerHTML=Ip,Tn=s(),o(dl.$$.fragment),wn=s(),Hl=f("p"),this.h()},l(e){const t=Vp("svelte-u9bgzb",document.head);M=p(t,"META",{name:!0,content:!0}),t.forEach(l),U=n(e),d=p(e,"P",{}),Il(d).forEach(l),b=n(e),m(J.$$.fragment,e),C=n(e),m(x.$$.fragment,e),P=n(e),B=p(e,"P",{"data-svelte-h":!0}),u(B)!=="svelte-1qn44q4"&&(B.textContent=xn),_l=n(e),R=p(e,"P",{"data-svelte-h":!0}),u(R)!=="svelte-xpok1k"&&(R.innerHTML=vn),Ll=n(e),N=p(e,"P",{"data-svelte-h":!0}),u(N)!=="svelte-7l4s9o"&&(N.innerHTML=In),jl=n(e),k=p(e,"P",{"data-svelte-h":!0}),u(k)!=="svelte-1n5851n"&&(k.textContent=Hn),Gl=n(e),m(A.$$.fragment,e),Zl=n(e),W=p(e,"P",{"data-svelte-h":!0}),u(W)!=="svelte-1wvc5ur"&&(W.textContent=_n),Vl=n(e),X=p(e,"P",{"data-svelte-h":!0}),u(X)!=="svelte-16182hn"&&(X.textContent=Ln),Pl=n(e),F=p(e,"UL",{"data-svelte-h":!0}),u(F)!=="svelte-5eac3r"&&(F.innerHTML=jn),Bl=n(e),Q=p(e,"P",{"data-svelte-h":!0}),u(Q)!=="svelte-1onykq6"&&(Q.innerHTML=Gn),Rl=n(e),E=p(e,"P",{"data-svelte-h":!0}),u(E)!=="svelte-11f9p20"&&(E.innerHTML=Zn),Nl=n(e),m(D.$$.fragment,e),kl=n(e),z=p(e,"P",{"data-svelte-h":!0}),u(z)!=="svelte-1usmksq"&&(z.innerHTML=Vn),Al=n(e),S=p(e,"UL",{"data-svelte-h":!0}),u(S)!=="svelte-1hr4s09"&&(S.innerHTML=Pn),Wl=n(e),Y=p(e,"P",{"data-svelte-h":!0}),u(Y)!=="svelte-36iqb6"&&(Y.textContent=Bn),Xl=n(e),q=p(e,"P",{"data-svelte-h":!0}),u(q)!=="svelte-480kqf"&&(q.innerHTML=Rn),Fl=n(e),O=p(e,"P",{"data-svelte-h":!0}),u(O)!=="svelte-1eif8kx"&&(O.innerHTML=Nn),Ql=n(e),K=p(e,"P",{"data-svelte-h":!0}),u(K)!=="svelte-142gyxy"&&(K.innerHTML=kn),El=n(e),m(ee.$$.fragment,e),Dl=n(e),te=p(e,"P",{"data-svelte-h":!0}),u(te)!=="svelte-13zxmq2"&&(te.textContent=An),zl=n(e),le=p(e,"P",{"data-svelte-h":!0}),u(le)!=="svelte-15g0idg"&&(le.innerHTML=Wn),Sl=n(e),ie=p(e,"P",{"data-svelte-h":!0}),u(ie)!=="svelte-1xijok8"&&(ie.innerHTML=Xn),Yl=n(e),se=p(e,"UL",{"data-svelte-h":!0}),u(se)!=="svelte-129r616"&&(se.innerHTML=Fn),ql=n(e),ne=p(e,"P",{"data-svelte-h":!0}),u(ne)!=="svelte-1cb6np7"&&(ne.textContent=Qn),Ol=n(e),m(fe.$$.fragment,e),Kl=n(e),pe=p(e,"P",{"data-svelte-h":!0}),u(pe)!=="svelte-1bsld36"&&(pe.textContent=En),ei=n(e),ue=p(e,"UL",{"data-svelte-h":!0}),u(ue)!=="svelte-1wrfgbf"&&(ue.innerHTML=Dn),ti=n(e),oe=p(e,"P",{"data-svelte-h":!0}),u(oe)!=="svelte-18lve1"&&(oe.innerHTML=zn),li=n(e),me=p(e,"P",{"data-svelte-h":!0}),u(me)!=="svelte-12b70x8"&&(me.innerHTML=Sn),ii=n(e),m(ae.$$.fragment,e),si=n(e),re=p(e,"P",{"data-svelte-h":!0}),u(re)!=="svelte-b10w78"&&(re.textContent=Yn),ni=n(e),Te=p(e,"OL",{"data-svelte-h":!0}),u(Te)!=="svelte-1xu51pt"&&(Te.innerHTML=qn),fi=n(e),we=p(e,"UL",{"data-svelte-h":!0}),u(we)!=="svelte-173awu3"&&(we.innerHTML=On),pi=n(e),_=p(e,"OL",{start:!0,"data-svelte-h":!0}),u(_)!=="svelte-jdhjs6"&&(_.innerHTML=Kn),ui=n(e),Me=p(e,"P",{"data-svelte-h":!0}),u(Me)!=="svelte-qt0ebo"&&(Me.innerHTML=ef),oi=n(e),m(Je.$$.fragment,e),mi=n(e),de=p(e,"P",{"data-svelte-h":!0}),u(de)!=="svelte-bswle1"&&(de.innerHTML=tf),ai=n(e),ge=p(e,"P",{"data-svelte-h":!0}),u(ge)!=="svelte-r62n5s"&&(ge.innerHTML=lf),ri=n(e),m(he.$$.fragment,e),Ti=n(e),$e=p(e,"P",{"data-svelte-h":!0}),u($e)!=="svelte-1cbux99"&&($e.textContent=sf),wi=n(e),Ue=p(e,"UL",{"data-svelte-h":!0}),u(Ue)!=="svelte-19z1nhp"&&(Ue.innerHTML=nf),Mi=n(e),ce=p(e,"P",{"data-svelte-h":!0}),u(ce)!=="svelte-1fz735q"&&(ce.innerHTML=ff),Ji=n(e),m(be.$$.fragment,e),di=n(e),Ce=p(e,"P",{"data-svelte-h":!0}),u(Ce)!=="svelte-tcjkhp"&&(Ce.textContent=pf),gi=n(e),ye=p(e,"UL",{"data-svelte-h":!0}),u(ye)!=="svelte-umqmdj"&&(ye.innerHTML=uf),hi=n(e),xe=p(e,"P",{"data-svelte-h":!0}),u(xe)!=="svelte-1u7b98c"&&(xe.textContent=of),$i=n(e),ve=p(e,"P",{"data-svelte-h":!0}),u(ve)!=="svelte-jscy0t"&&(ve.innerHTML=mf),Ui=n(e),m(Ie.$$.fragment,e),ci=n(e),He=p(e,"P",{"data-svelte-h":!0}),u(He)!=="svelte-42ae55"&&(He.textContent=af),bi=n(e),_e=p(e,"UL",{"data-svelte-h":!0}),u(_e)!=="svelte-1un155y"&&(_e.innerHTML=rf),Ci=n(e),Le=p(e,"P",{"data-svelte-h":!0}),u(Le)!=="svelte-1he2xcp"&&(Le.textContent=Tf),yi=n(e),je=p(e,"UL",{"data-svelte-h":!0}),u(je)!=="svelte-1frj604"&&(je.innerHTML=wf),xi=n(e),Ge=p(e,"P",{"data-svelte-h":!0}),u(Ge)!=="svelte-d2n0yn"&&(Ge.textContent=Mf),vi=n(e),Ze=p(e,"P",{"data-svelte-h":!0}),u(Ze)!=="svelte-a0wg0p"&&(Ze.innerHTML=Jf),Ii=n(e),m(Ve.$$.fragment,e),Hi=n(e),Pe=p(e,"P",{"data-svelte-h":!0}),u(Pe)!=="svelte-tqr4n7"&&(Pe.innerHTML=df),_i=n(e),Be=p(e,"UL",{"data-svelte-h":!0}),u(Be)!=="svelte-1qa7szj"&&(Be.innerHTML=gf),Li=n(e),m(Re.$$.fragment,e),ji=n(e),Ne=p(e,"P",{"data-svelte-h":!0}),u(Ne)!=="svelte-84vwwb"&&(Ne.innerHTML=hf),Gi=n(e),ke=p(e,"UL",{"data-svelte-h":!0}),u(ke)!=="svelte-1kj7pc4"&&(ke.innerHTML=$f),Zi=n(e),Ae=p(e,"P",{"data-svelte-h":!0}),u(Ae)!=="svelte-1lqmkwb"&&(Ae.innerHTML=Uf),Vi=n(e),m(We.$$.fragment,e),Pi=n(e),L=p(e,"BLOCKQUOTE",{class:!0,"data-svelte-h":!0}),u(L)!=="svelte-1en0qnb"&&(L.innerHTML=cf),Bi=n(e),Xe=p(e,"P",{"data-svelte-h":!0}),u(Xe)!=="svelte-1d90lxf"&&(Xe.innerHTML=bf),Ri=n(e),Fe=p(e,"OL",{"data-svelte-h":!0}),u(Fe)!=="svelte-1ilxxnd"&&(Fe.innerHTML=Cf),Ni=n(e),m(Qe.$$.fragment,e),ki=n(e),j=p(e,"OL",{start:!0,"data-svelte-h":!0}),u(j)!=="svelte-cww69"&&(j.innerHTML=yf),Ai=n(e),m(Ee.$$.fragment,e),Wi=n(e),De=p(e,"P",{"data-svelte-h":!0}),u(De)!=="svelte-qsk5t1"&&(De.textContent=xf),Xi=n(e),m(ze.$$.fragment,e),Fi=n(e),Se=p(e,"P",{"data-svelte-h":!0}),u(Se)!=="svelte-6z7qrw"&&(Se.textContent=vf),Qi=n(e),m(G.$$.fragment,e),Ei=n(e),m(Ye.$$.fragment,e),Di=n(e),qe=p(e,"P",{"data-svelte-h":!0}),u(qe)!=="svelte-1h3x9m3"&&(qe.innerHTML=If),zi=n(e),Oe=p(e,"P",{"data-svelte-h":!0}),u(Oe)!=="svelte-imrs1x"&&(Oe.textContent=Hf),Si=n(e),Ke=p(e,"UL",{"data-svelte-h":!0}),u(Ke)!=="svelte-1rjzlhy"&&(Ke.innerHTML=_f),Yi=n(e),et=p(e,"P",{"data-svelte-h":!0}),u(et)!=="svelte-19dwwdd"&&(et.innerHTML=Lf),qi=n(e),tt=p(e,"P",{"data-svelte-h":!0}),u(tt)!=="svelte-1qekzf7"&&(tt.innerHTML=jf),Oi=n(e),m(lt.$$.fragment,e),Ki=n(e),it=p(e,"P",{"data-svelte-h":!0}),u(it)!=="svelte-14cfyxb"&&(it.textContent=Gf),es=n(e),m(st.$$.fragment,e),ts=n(e),nt=p(e,"P",{"data-svelte-h":!0}),u(nt)!=="svelte-2sd496"&&(nt.innerHTML=Zf),ls=n(e),ft=p(e,"UL",{"data-svelte-h":!0}),u(ft)!=="svelte-1d6vkoo"&&(ft.innerHTML=Vf),is=n(e),pt=p(e,"P",{"data-svelte-h":!0}),u(pt)!=="svelte-18l6g0f"&&(pt.innerHTML=Pf),ss=n(e),ut=p(e,"UL",{"data-svelte-h":!0}),u(ut)!=="svelte-bkbzb0"&&(ut.innerHTML=Bf),ns=n(e),ot=p(e,"P",{"data-svelte-h":!0}),u(ot)!=="svelte-17bobdp"&&(ot.innerHTML=Rf),fs=n(e),m(mt.$$.fragment,e),ps=n(e),at=p(e,"P",{"data-svelte-h":!0}),u(at)!=="svelte-1mi8h3s"&&(at.innerHTML=Nf),us=n(e),m(rt.$$.fragment,e),os=n(e),Tt=p(e,"P",{"data-svelte-h":!0}),u(Tt)!=="svelte-1u2aq5i"&&(Tt.textContent=kf),ms=n(e),wt=p(e,"P",{"data-svelte-h":!0}),u(wt)!=="svelte-2kzt34"&&(wt.textContent=Af),as=n(e),Mt=p(e,"P",{"data-svelte-h":!0}),u(Mt)!=="svelte-34bmxg"&&(Mt.textContent=Wf),rs=n(e),Jt=p(e,"UL",{"data-svelte-h":!0}),u(Jt)!=="svelte-1qrt9h4"&&(Jt.innerHTML=Xf),Ts=n(e),dt=p(e,"P",{"data-svelte-h":!0}),u(dt)!=="svelte-1sy2gbg"&&(dt.innerHTML=Ff),ws=n(e),gt=p(e,"P",{"data-svelte-h":!0}),u(gt)!=="svelte-yzsivt"&&(gt.textContent=Qf),Ms=n(e),ht=p(e,"P",{"data-svelte-h":!0}),u(ht)!=="svelte-5fonfe"&&(ht.textContent=Ef),Js=n(e),m($t.$$.fragment,e),ds=n(e),Ut=p(e,"P",{"data-svelte-h":!0}),u(Ut)!=="svelte-1omyspz"&&(Ut.innerHTML=Df),gs=n(e),ct=p(e,"P",{"data-svelte-h":!0}),u(ct)!=="svelte-4papp9"&&(ct.innerHTML=zf),hs=n(e),m(bt.$$.fragment,e),$s=n(e),Ct=p(e,"P",{"data-svelte-h":!0}),u(Ct)!=="svelte-ys1xsf"&&(Ct.innerHTML=Sf),Us=n(e),m(yt.$$.fragment,e),cs=n(e),xt=p(e,"P",{"data-svelte-h":!0}),u(xt)!=="svelte-32t3jk"&&(xt.innerHTML=Yf),bs=n(e),vt=p(e,"OL",{"data-svelte-h":!0}),u(vt)!=="svelte-1qpba7e"&&(vt.innerHTML=qf),Cs=n(e),m(It.$$.fragment,e),ys=n(e),Ht=p(e,"OL",{"data-svelte-h":!0}),u(Ht)!=="svelte-2jqclh"&&(Ht.innerHTML=Of),xs=n(e),_t=p(e,"UL",{"data-svelte-h":!0}),u(_t)!=="svelte-93l93c"&&(_t.innerHTML=Kf),vs=n(e),Z=p(e,"OL",{start:!0,"data-svelte-h":!0}),u(Z)!=="svelte-vs6upj"&&(Z.innerHTML=ep),Is=n(e),m(Lt.$$.fragment,e),Hs=n(e),jt=p(e,"P",{"data-svelte-h":!0}),u(jt)!=="svelte-tao8tn"&&(jt.textContent=tp),_s=n(e),Gt=p(e,"P",{"data-svelte-h":!0}),u(Gt)!=="svelte-twmkg5"&&(Gt.innerHTML=lp),Ls=n(e),Zt=p(e,"P",{"data-svelte-h":!0}),u(Zt)!=="svelte-nwyxnn"&&(Zt.innerHTML=ip),js=n(e),c=p(e,"OL",{});var y=Il(c);hl=p(y,"LI",{"data-svelte-h":!0}),u(hl)!=="svelte-ul650h"&&(hl.innerHTML=sp),dn=n(y),Vt=p(y,"LI",{});var Jn=Il(Vt);$l=p(Jn,"P",{"data-svelte-h":!0}),u($l)!=="svelte-huhm2"&&($l.textContent=np),gn=n(Jn),m(Pt.$$.fragment,Jn),Jn.forEach(l),hn=n(y),v=p(y,"LI",{});var xl=Il(v);Ul=p(xl,"P",{"data-svelte-h":!0}),u(Ul)!=="svelte-pqojzq"&&(Ul.textContent=fp),$n=n(xl),m(Bt.$$.fragment,xl),Un=n(xl),cl=p(xl,"P",{"data-svelte-h":!0}),u(cl)!=="svelte-10mupoj"&&(cl.innerHTML=pp),xl.forEach(l),cn=n(y),I=p(y,"LI",{});var vl=Il(I);bl=p(vl,"P",{"data-svelte-h":!0}),u(bl)!=="svelte-18hh8wb"&&(bl.textContent=up),bn=n(vl),m(Rt.$$.fragment,vl),Cn=n(vl),Cl=p(vl,"P",{"data-svelte-h":!0}),u(Cl)!=="svelte-xrp2o7"&&(Cl.innerHTML=op),vl.forEach(l),yn=n(y),yl=p(y,"LI",{"data-svelte-h":!0}),u(yl)!=="svelte-lxtfyr"&&(yl.innerHTML=mp),y.forEach(l),Gs=n(e),Nt=p(e,"P",{"data-svelte-h":!0}),u(Nt)!=="svelte-1mrk96m"&&(Nt.textContent=ap),Zs=n(e),m(kt.$$.fragment,e),Vs=n(e),At=p(e,"P",{"data-svelte-h":!0}),u(At)!=="svelte-g3ivl8"&&(At.textContent=rp),Ps=n(e),m(Wt.$$.fragment,e),Bs=n(e),Xt=p(e,"P",{"data-svelte-h":!0}),u(Xt)!=="svelte-173ydxc"&&(Xt.textContent=Tp),Rs=n(e),m(Ft.$$.fragment,e),Ns=n(e),Qt=p(e,"P",{"data-svelte-h":!0}),u(Qt)!=="svelte-1cyk3wx"&&(Qt.innerHTML=wp),ks=n(e),m(Et.$$.fragment,e),As=n(e),Dt=p(e,"P",{"data-svelte-h":!0}),u(Dt)!=="svelte-16mq3ns"&&(Dt.innerHTML=Mp),Ws=n(e),m(zt.$$.fragment,e),Xs=n(e),St=p(e,"P",{"data-svelte-h":!0}),u(St)!=="svelte-vortfw"&&(St.innerHTML=Jp),Fs=n(e),m(Yt.$$.fragment,e),Qs=n(e),qt=p(e,"P",{"data-svelte-h":!0}),u(qt)!=="svelte-t2ekcs"&&(qt.textContent=dp),Es=n(e),m(Ot.$$.fragment,e),Ds=n(e),Kt=p(e,"P",{"data-svelte-h":!0}),u(Kt)!=="svelte-kvo6v3"&&(Kt.textContent=gp),zs=n(e),m(el.$$.fragment,e),Ss=n(e),V=p(e,"OL",{start:!0,"data-svelte-h":!0}),u(V)!=="svelte-15s5zf8"&&(V.innerHTML=hp),Ys=n(e),m(tl.$$.fragment,e),qs=n(e),ll=p(e,"P",{"data-svelte-h":!0}),u(ll)!=="svelte-1r3uyr2"&&(ll.innerHTML=$p),Os=n(e),il=p(e,"P",{"data-svelte-h":!0}),u(il)!=="svelte-2dfaki"&&(il.innerHTML=Up),Ks=n(e),m(sl.$$.fragment,e),en=n(e),nl=p(e,"P",{"data-svelte-h":!0}),u(nl)!=="svelte-fo1ll0"&&(nl.innerHTML=cp),tn=n(e),fl=p(e,"P",{"data-svelte-h":!0}),u(fl)!=="svelte-bopoxk"&&(fl.textContent=bp),ln=n(e),pl=p(e,"P",{"data-svelte-h":!0}),u(pl)!=="svelte-y21ima"&&(pl.innerHTML=Cp),sn=n(e),m(ul.$$.fragment,e),nn=n(e),ol=p(e,"P",{"data-svelte-h":!0}),u(ol)!=="svelte-vuyb8y"&&(ol.innerHTML=yp),fn=n(e),m(ml.$$.fragment,e),pn=n(e),m(al.$$.fragment,e),un=n(e),rl=p(e,"P",{"data-svelte-h":!0}),u(rl)!=="svelte-lo3h0i"&&(rl.textContent=xp),on=n(e),Tl=p(e,"OL",{"data-svelte-h":!0}),u(Tl)!=="svelte-17jnyfc"&&(Tl.innerHTML=vp),mn=n(e),m(wl.$$.fragment,e),an=n(e),m(Ml.$$.fragment,e),rn=n(e),Jl=p(e,"P",{"data-svelte-h":!0}),u(Jl)!=="svelte-1f6y4bw"&&(Jl.innerHTML=Ip),Tn=n(e),m(dl.$$.fragment,e),wn=n(e),Hl=p(e,"P",{}),Il(Hl).forEach(l),this.h()},h(){gl(M,"name","hf:doc:metadata"),gl(M,"content",Xp),gl(_,"start","2"),gl(L,"class","tip"),gl(j,"start","2"),gl(Z,"start","10"),gl(V,"start","6")},m(e,t){$(document.head,M),i(e,U,t),i(e,d,t),i(e,b,t),a(J,e,t),i(e,C,t),a(x,e,t),i(e,P,t),i(e,B,t),i(e,_l,t),i(e,R,t),i(e,Ll,t),i(e,N,t),i(e,jl,t),i(e,k,t),i(e,Gl,t),a(A,e,t),i(e,Zl,t),i(e,W,t),i(e,Vl,t),i(e,X,t),i(e,Pl,t),i(e,F,t),i(e,Bl,t),i(e,Q,t),i(e,Rl,t),i(e,E,t),i(e,Nl,t),a(D,e,t),i(e,kl,t),i(e,z,t),i(e,Al,t),i(e,S,t),i(e,Wl,t),i(e,Y,t),i(e,Xl,t),i(e,q,t),i(e,Fl,t),i(e,O,t),i(e,Ql,t),i(e,K,t),i(e,El,t),a(ee,e,t),i(e,Dl,t),i(e,te,t),i(e,zl,t),i(e,le,t),i(e,Sl,t),i(e,ie,t),i(e,Yl,t),i(e,se,t),i(e,ql,t),i(e,ne,t),i(e,Ol,t),a(fe,e,t),i(e,Kl,t),i(e,pe,t),i(e,ei,t),i(e,ue,t),i(e,ti,t),i(e,oe,t),i(e,li,t),i(e,me,t),i(e,ii,t),a(ae,e,t),i(e,si,t),i(e,re,t),i(e,ni,t),i(e,Te,t),i(e,fi,t),i(e,we,t),i(e,pi,t),i(e,_,t),i(e,ui,t),i(e,Me,t),i(e,oi,t),a(Je,e,t),i(e,mi,t),i(e,de,t),i(e,ai,t),i(e,ge,t),i(e,ri,t),a(he,e,t),i(e,Ti,t),i(e,$e,t),i(e,wi,t),i(e,Ue,t),i(e,Mi,t),i(e,ce,t),i(e,Ji,t),a(be,e,t),i(e,di,t),i(e,Ce,t),i(e,gi,t),i(e,ye,t),i(e,hi,t),i(e,xe,t),i(e,$i,t),i(e,ve,t),i(e,Ui,t),a(Ie,e,t),i(e,ci,t),i(e,He,t),i(e,bi,t),i(e,_e,t),i(e,Ci,t),i(e,Le,t),i(e,yi,t),i(e,je,t),i(e,xi,t),i(e,Ge,t),i(e,vi,t),i(e,Ze,t),i(e,Ii,t),a(Ve,e,t),i(e,Hi,t),i(e,Pe,t),i(e,_i,t),i(e,Be,t),i(e,Li,t),a(Re,e,t),i(e,ji,t),i(e,Ne,t),i(e,Gi,t),i(e,ke,t),i(e,Zi,t),i(e,Ae,t),i(e,Vi,t),a(We,e,t),i(e,Pi,t),i(e,L,t),i(e,Bi,t),i(e,Xe,t),i(e,Ri,t),i(e,Fe,t),i(e,Ni,t),a(Qe,e,t),i(e,ki,t),i(e,j,t),i(e,Ai,t),a(Ee,e,t),i(e,Wi,t),i(e,De,t),i(e,Xi,t),a(ze,e,t),i(e,Fi,t),i(e,Se,t),i(e,Qi,t),a(G,e,t),i(e,Ei,t),a(Ye,e,t),i(e,Di,t),i(e,qe,t),i(e,zi,t),i(e,Oe,t),i(e,Si,t),i(e,Ke,t),i(e,Yi,t),i(e,et,t),i(e,qi,t),i(e,tt,t),i(e,Oi,t),a(lt,e,t),i(e,Ki,t),i(e,it,t),i(e,es,t),a(st,e,t),i(e,ts,t),i(e,nt,t),i(e,ls,t),i(e,ft,t),i(e,is,t),i(e,pt,t),i(e,ss,t),i(e,ut,t),i(e,ns,t),i(e,ot,t),i(e,fs,t),a(mt,e,t),i(e,ps,t),i(e,at,t),i(e,us,t),a(rt,e,t),i(e,os,t),i(e,Tt,t),i(e,ms,t),i(e,wt,t),i(e,as,t),i(e,Mt,t),i(e,rs,t),i(e,Jt,t),i(e,Ts,t),i(e,dt,t),i(e,ws,t),i(e,gt,t),i(e,Ms,t),i(e,ht,t),i(e,Js,t),a($t,e,t),i(e,ds,t),i(e,Ut,t),i(e,gs,t),i(e,ct,t),i(e,hs,t),a(bt,e,t),i(e,$s,t),i(e,Ct,t),i(e,Us,t),a(yt,e,t),i(e,cs,t),i(e,xt,t),i(e,bs,t),i(e,vt,t),i(e,Cs,t),a(It,e,t),i(e,ys,t),i(e,Ht,t),i(e,xs,t),i(e,_t,t),i(e,vs,t),i(e,Z,t),i(e,Is,t),a(Lt,e,t),i(e,Hs,t),i(e,jt,t),i(e,_s,t),i(e,Gt,t),i(e,Ls,t),i(e,Zt,t),i(e,js,t),i(e,c,t),$(c,hl),$(c,dn),$(c,Vt),$(Vt,$l),$(Vt,gn),a(Pt,Vt,null),$(c,hn),$(c,v),$(v,Ul),$(v,$n),a(Bt,v,null),$(v,Un),$(v,cl),$(c,cn),$(c,I),$(I,bl),$(I,bn),a(Rt,I,null),$(I,Cn),$(I,Cl),$(c,yn),$(c,yl),i(e,Gs,t),i(e,Nt,t),i(e,Zs,t),a(kt,e,t),i(e,Vs,t),i(e,At,t),i(e,Ps,t),a(Wt,e,t),i(e,Bs,t),i(e,Xt,t),i(e,Rs,t),a(Ft,e,t),i(e,Ns,t),i(e,Qt,t),i(e,ks,t),a(Et,e,t),i(e,As,t),i(e,Dt,t),i(e,Ws,t),a(zt,e,t),i(e,Xs,t),i(e,St,t),i(e,Fs,t),a(Yt,e,t),i(e,Qs,t),i(e,qt,t),i(e,Es,t),a(Ot,e,t),i(e,Ds,t),i(e,Kt,t),i(e,zs,t),a(el,e,t),i(e,Ss,t),i(e,V,t),i(e,Ys,t),a(tl,e,t),i(e,qs,t),i(e,ll,t),i(e,Os,t),i(e,il,t),i(e,Ks,t),a(sl,e,t),i(e,en,t),i(e,nl,t),i(e,tn,t),i(e,fl,t),i(e,ln,t),i(e,pl,t),i(e,sn,t),a(ul,e,t),i(e,nn,t),i(e,ol,t),i(e,fn,t),a(ml,e,t),i(e,pn,t),a(al,e,t),i(e,un,t),i(e,rl,t),i(e,on,t),i(e,Tl,t),i(e,mn,t),a(wl,e,t),i(e,an,t),a(Ml,e,t),i(e,rn,t),i(e,Jl,t),i(e,Tn,t),a(dl,e,t),i(e,wn,t),i(e,Hl,t),Mn=!0},p(e,[t]){const y={};t&2&&(y.$$scope={dirty:t,ctx:e}),G.$set(y)},i(e){Mn||(r(J.$$.fragment,e),r(x.$$.fragment,e),r(A.$$.fragment,e),r(D.$$.fragment,e),r(ee.$$.fragment,e),r(fe.$$.fragment,e),r(ae.$$.fragment,e),r(Je.$$.fragment,e),r(he.$$.fragment,e),r(be.$$.fragment,e),r(Ie.$$.fragment,e),r(Ve.$$.fragment,e),r(Re.$$.fragment,e),r(We.$$.fragment,e),r(Qe.$$.fragment,e),r(Ee.$$.fragment,e),r(ze.$$.fragment,e),r(G.$$.fragment,e),r(Ye.$$.fragment,e),r(lt.$$.fragment,e),r(st.$$.fragment,e),r(mt.$$.fragment,e),r(rt.$$.fragment,e),r($t.$$.fragment,e),r(bt.$$.fragment,e),r(yt.$$.fragment,e),r(It.$$.fragment,e),r(Lt.$$.fragment,e),r(Pt.$$.fragment,e),r(Bt.$$.fragment,e),r(Rt.$$.fragment,e),r(kt.$$.fragment,e),r(Wt.$$.fragment,e),r(Ft.$$.fragment,e),r(Et.$$.fragment,e),r(zt.$$.fragment,e),r(Yt.$$.fragment,e),r(Ot.$$.fragment,e),r(el.$$.fragment,e),r(tl.$$.fragment,e),r(sl.$$.fragment,e),r(ul.$$.fragment,e),r(ml.$$.fragment,e),r(al.$$.fragment,e),r(wl.$$.fragment,e),r(Ml.$$.fragment,e),r(dl.$$.fragment,e),Mn=!0)},o(e){T(J.$$.fragment,e),T(x.$$.fragment,e),T(A.$$.fragment,e),T(D.$$.fragment,e),T(ee.$$.fragment,e),T(fe.$$.fragment,e),T(ae.$$.fragment,e),T(Je.$$.fragment,e),T(he.$$.fragment,e),T(be.$$.fragment,e),T(Ie.$$.fragment,e),T(Ve.$$.fragment,e),T(Re.$$.fragment,e),T(We.$$.fragment,e),T(Qe.$$.fragment,e),T(Ee.$$.fragment,e),T(ze.$$.fragment,e),T(G.$$.fragment,e),T(Ye.$$.fragment,e),T(lt.$$.fragment,e),T(st.$$.fragment,e),T(mt.$$.fragment,e),T(rt.$$.fragment,e),T($t.$$.fragment,e),T(bt.$$.fragment,e),T(yt.$$.fragment,e),T(It.$$.fragment,e),T(Lt.$$.fragment,e),T(Pt.$$.fragment,e),T(Bt.$$.fragment,e),T(Rt.$$.fragment,e),T(kt.$$.fragment,e),T(Wt.$$.fragment,e),T(Ft.$$.fragment,e),T(Et.$$.fragment,e),T(zt.$$.fragment,e),T(Yt.$$.fragment,e),T(Ot.$$.fragment,e),T(el.$$.fragment,e),T(tl.$$.fragment,e),T(sl.$$.fragment,e),T(ul.$$.fragment,e),T(ml.$$.fragment,e),T(al.$$.fragment,e),T(wl.$$.fragment,e),T(Ml.$$.fragment,e),T(dl.$$.fragment,e),Mn=!1},d(e){e&&(l(U),l(d),l(b),l(C),l(P),l(B),l(_l),l(R),l(Ll),l(N),l(jl),l(k),l(Gl),l(Zl),l(W),l(Vl),l(X),l(Pl),l(F),l(Bl),l(Q),l(Rl),l(E),l(Nl),l(kl),l(z),l(Al),l(S),l(Wl),l(Y),l(Xl),l(q),l(Fl),l(O),l(Ql),l(K),l(El),l(Dl),l(te),l(zl),l(le),l(Sl),l(ie),l(Yl),l(se),l(ql),l(ne),l(Ol),l(Kl),l(pe),l(ei),l(ue),l(ti),l(oe),l(li),l(me),l(ii),l(si),l(re),l(ni),l(Te),l(fi),l(we),l(pi),l(_),l(ui),l(Me),l(oi),l(mi),l(de),l(ai),l(ge),l(ri),l(Ti),l($e),l(wi),l(Ue),l(Mi),l(ce),l(Ji),l(di),l(Ce),l(gi),l(ye),l(hi),l(xe),l($i),l(ve),l(Ui),l(ci),l(He),l(bi),l(_e),l(Ci),l(Le),l(yi),l(je),l(xi),l(Ge),l(vi),l(Ze),l(Ii),l(Hi),l(Pe),l(_i),l(Be),l(Li),l(ji),l(Ne),l(Gi),l(ke),l(Zi),l(Ae),l(Vi),l(Pi),l(L),l(Bi),l(Xe),l(Ri),l(Fe),l(Ni),l(ki),l(j),l(Ai),l(Wi),l(De),l(Xi),l(Fi),l(Se),l(Qi),l(Ei),l(Di),l(qe),l(zi),l(Oe),l(Si),l(Ke),l(Yi),l(et),l(qi),l(tt),l(Oi),l(Ki),l(it),l(es),l(ts),l(nt),l(ls),l(ft),l(is),l(pt),l(ss),l(ut),l(ns),l(ot),l(fs),l(ps),l(at),l(us),l(os),l(Tt),l(ms),l(wt),l(as),l(Mt),l(rs),l(Jt),l(Ts),l(dt),l(ws),l(gt),l(Ms),l(ht),l(Js),l(ds),l(Ut),l(gs),l(ct),l(hs),l($s),l(Ct),l(Us),l(cs),l(xt),l(bs),l(vt),l(Cs),l(ys),l(Ht),l(xs),l(_t),l(vs),l(Z),l(Is),l(Hs),l(jt),l(_s),l(Gt),l(Ls),l(Zt),l(js),l(c),l(Gs),l(Nt),l(Zs),l(Vs),l(At),l(Ps),l(Bs),l(Xt),l(Rs),l(Ns),l(Qt),l(ks),l(As),l(Dt),l(Ws),l(Xs),l(St),l(Fs),l(Qs),l(qt),l(Es),l(Ds),l(Kt),l(zs),l(Ss),l(V),l(Ys),l(qs),l(ll),l(Os),l(il),l(Ks),l(en),l(nl),l(tn),l(fl),l(ln),l(pl),l(sn),l(nn),l(ol),l(fn),l(pn),l(un),l(rl),l(on),l(Tl),l(mn),l(an),l(rn),l(Jl),l(Tn),l(wn),l(Hl)),l(M),w(J,e),w(x,e),w(A,e),w(D,e),w(ee,e),w(fe,e),w(ae,e),w(Je,e),w(he,e),w(be,e),w(Ie,e),w(Ve,e),w(Re,e),w(We,e),w(Qe,e),w(Ee,e),w(ze,e),w(G,e),w(Ye,e),w(lt,e),w(st,e),w(mt,e),w(rt,e),w($t,e),w(bt,e),w(yt,e),w(It,e),w(Lt,e),w(Pt),w(Bt),w(Rt),w(kt,e),w(Wt,e),w(Ft,e),w(Et,e),w(zt,e),w(Yt,e),w(Ot,e),w(el,e),w(tl,e),w(sl,e),w(ul,e),w(ml,e),w(al,e),w(wl,e),w(Ml,e),w(dl,e)}}}const Xp='{"title":"如何为Diffusers 🧨做贡献","local":"如何为diffusers-做贡献","sections":[{"title":"概述","local":"概述","sections":[{"title":"1. 在Diffusers讨论区或Discord提问与解答","local":"1-在diffusers讨论区或discord提问与解答","sections":[],"depth":3},{"title":"2. 在GitHub议题页提交新议题","local":"2-在github议题页提交新议题","sections":[{"title":"2.1 可复现的最小化错误报告","local":"21-可复现的最小化错误报告","sections":[],"depth":4},{"title":"2.2 功能请求","local":"22-功能请求","sections":[],"depth":4},{"title":"2.3 设计反馈","local":"23-设计反馈","sections":[],"depth":4},{"title":"2.4 技术问题","local":"24-技术问题","sections":[],"depth":4},{"title":"2.5 新模型/调度器/pipeline提案","local":"25-新模型调度器pipeline提案","sections":[],"depth":4}],"depth":3},{"title":"3. 解答GitHub问题","local":"3-解答github问题","sections":[],"depth":3},{"title":"4. 修复”Good first issue”类问题","local":"4-修复good-first-issue类问题","sections":[],"depth":3},{"title":"5. 文档贡献","local":"5-文档贡献","sections":[],"depth":3},{"title":"6. 贡献社区流程","local":"6-贡献社区流程","sections":[],"depth":3},{"title":"7. 贡献训练示例","local":"7-贡献训练示例","sections":[],"depth":3},{"title":"8. 处理”Good second issue”类问题","local":"8-处理good-second-issue类问题","sections":[],"depth":3},{"title":"9. 添加管道、模型和调度器","local":"9-添加管道模型和调度器","sections":[{"title":"复制机制(Copied from)","local":"复制机制copied-from","sections":[],"depth":4}],"depth":3}],"depth":2},{"title":"如何撰写优质问题","local":"如何撰写优质问题","sections":[],"depth":2},{"title":"优质PR编写规范","local":"优质pr编写规范","sections":[],"depth":2},{"title":"提交PR流程","local":"提交pr流程","sections":[{"title":"测试","local":"测试","sections":[],"depth":3},{"title":"将派生仓库的 main 分支与上游(HuggingFace)main 分支同步","local":"将派生仓库的-main-分支与上游huggingfacemain-分支同步","sections":[],"depth":3},{"title":"风格指南","local":"风格指南","sections":[],"depth":3}],"depth":2}],"depth":1}';function Fp(H){return jp(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class Yp extends Gp{constructor(M){super(),Zp(this,M,Fp,Wp,Lp,{})}}export{Yp as component}; | |
Xet Storage Details
- Size:
- 75.6 kB
- Xet hash:
- f9247d3947f5bbb6bea448f11224294495507c528b502de33dd4941e82ba52f3
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.