└── dist ├── assets ├── icon.65fd68ba.webp ├── 404.html.7a24a487.js ├── task.html.256f458b.js ├── tageditor.html.173f1b6a.js ├── 404.html.686caba0.js ├── tensorboard.html.9c3b4542.js ├── about.html.5b0c0de9.js ├── task.html.4e4c8633.js ├── index.html.b97ec799.js ├── index.html.ec4ace46.js ├── params.html.c8cc13ef.js ├── tageditor.html.66da263e.js ├── tagger.html.66f12b92.js ├── sd3.html.eaeb05e1.js ├── basic.html.48955584.js ├── flux.html.6fefc131.js ├── sdxl.html.6ab37b06.js ├── tensorboard.html.4a2799a9.js ├── master.html.54eb6415.js ├── index.html.838bbc6c.js ├── back-to-top.8efcbe56.svg ├── settings.html.06993f96.js ├── settings.html.07aaabcc.js ├── sdxl.html.33fa069c.js ├── master.html.404f21be.js ├── index.html.911dc78d.js ├── tools.html.6c8bfc09.js ├── 404.47057000.js ├── flux.html.f22f5932.js ├── sd3.html.1a4bf31e.js ├── basic.html.eb26832d.js ├── index.html.4896b94d.js ├── about.html.b4807002.js ├── tagger.html.0daaef4e.js ├── tools.html.c0a4659a.js └── params.html.dea583bc.js ├── 404.html ├── tageditor.html ├── tensorboard.html ├── task.html ├── lora ├── index.html ├── master.html ├── sdxl.html ├── flux.html ├── sd3.html ├── basic.html ├── tools.html └── params.html ├── tagger.html ├── other ├── about.html └── settings.html └── dreambooth └── index.html /dist/assets/icon.65fd68ba.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hanamizuki-ai/lora-gui-dist/HEAD/dist/assets/icon.65fd68ba.webp -------------------------------------------------------------------------------- /dist/assets/404.html.7a24a487.js: -------------------------------------------------------------------------------- 1 | import{_ as e,o as _,c}from"./app.547295de.js";const r={};function t(o,a){return _(),c("div")}var s=e(r,[["render",t],["__file","404.html.vue"]]);export{s as default}; 2 | -------------------------------------------------------------------------------- /dist/assets/task.html.256f458b.js: -------------------------------------------------------------------------------- 1 | import{_ as e,o as t,c}from"./app.547295de.js";const r={};function _(a,o){return t(),c("div")}var n=e(r,[["render",_],["__file","task.html.vue"]]);export{n as default}; 2 | -------------------------------------------------------------------------------- /dist/assets/tageditor.html.173f1b6a.js: -------------------------------------------------------------------------------- 1 | import{_ as e,o as t,c as r}from"./app.547295de.js";const c={};function o(_,a){return t(),r("div")}var s=e(c,[["render",o],["__file","tageditor.html.vue"]]);export{s as default}; 2 | -------------------------------------------------------------------------------- /dist/assets/404.html.686caba0.js: -------------------------------------------------------------------------------- 1 | const t=JSON.parse('{"key":"v-3706649a","path":"/404.html","title":"","lang":"en-US","frontmatter":{"layout":"404"},"excerpt":"","headers":[],"filePathRelative":null}');export{t as data}; 2 | -------------------------------------------------------------------------------- /dist/assets/tensorboard.html.9c3b4542.js: -------------------------------------------------------------------------------- 1 | import{_ as e,o as r,c as o}from"./app.547295de.js";const t={};function c(_,a){return r(),o("div")}var s=e(t,[["render",c],["__file","tensorboard.html.vue"]]);export{s as default}; 2 | -------------------------------------------------------------------------------- /dist/assets/about.html.5b0c0de9.js: -------------------------------------------------------------------------------- 1 | const t=JSON.parse('{"key":"v-b5471278","path":"/other/about.html","title":"","lang":"en-US","frontmatter":{},"excerpt":"","headers":[],"filePathRelative":"other/about.md"}');export{t as data}; 2 | -------------------------------------------------------------------------------- /dist/assets/task.html.4e4c8633.js: -------------------------------------------------------------------------------- 1 | const t=JSON.parse('{"key":"v-06850b9b","path":"/task.html","title":"","lang":"en-US","frontmatter":{"type":"task"},"excerpt":"","headers":[],"filePathRelative":"task.md"}');export{t as data}; 2 | -------------------------------------------------------------------------------- /dist/assets/index.html.b97ec799.js: -------------------------------------------------------------------------------- 1 | const e=JSON.parse('{"key":"v-14e91824","path":"/lora/","title":"LoRA \u8BAD\u7EC3","lang":"en-US","frontmatter":{},"excerpt":"","headers":[],"filePathRelative":"lora/index.md"}');export{e as data}; 2 | -------------------------------------------------------------------------------- /dist/assets/index.html.ec4ace46.js: -------------------------------------------------------------------------------- 1 | const e=JSON.parse('{"key":"v-8daa1a0e","path":"/","title":"SD-Trainer","lang":"en-US","frontmatter":{"type":"dashboard"},"excerpt":"","headers":[],"filePathRelative":"index.md"}');export{e as data}; 2 | -------------------------------------------------------------------------------- /dist/assets/params.html.c8cc13ef.js: -------------------------------------------------------------------------------- 1 | const a=JSON.parse('{"key":"v-0f9e746f","path":"/lora/params.html","title":"\u8BAD\u7EC3\u53C2\u6570\u8C03\u8282","lang":"en-US","frontmatter":{},"excerpt":"","headers":[],"filePathRelative":"lora/params.md"}');export{a as data}; 2 | -------------------------------------------------------------------------------- /dist/assets/tageditor.html.66da263e.js: -------------------------------------------------------------------------------- 1 | const t=JSON.parse('{"key":"v-6983ba2a","path":"/tageditor.html","title":"","lang":"en-US","frontmatter":{"type":"iframe","subtype":"tageditor"},"excerpt":"","headers":[],"filePathRelative":"tageditor.md"}');export{t as data}; 2 | -------------------------------------------------------------------------------- /dist/assets/tagger.html.66f12b92.js: -------------------------------------------------------------------------------- 1 | const e=JSON.parse('{"key":"v-51615306","path":"/tagger.html","title":"Tagger \u6807\u6CE8\u5DE5\u5177","lang":"en-US","frontmatter":{"type":"tagger"},"excerpt":"","headers":[],"filePathRelative":"tagger.md"}');export{e as data}; 2 | -------------------------------------------------------------------------------- /dist/assets/sd3.html.eaeb05e1.js: -------------------------------------------------------------------------------- 1 | const e=JSON.parse('{"key":"v-0dc76a3b","path":"/lora/sd3.html","title":"SD3 \u8BAD\u7EC3 \u4E13\u5BB6\u6A21\u5F0F","lang":"en-US","frontmatter":{"example":true,"trainType":"sd3-lora"},"excerpt":"","headers":[],"filePathRelative":"lora/sd3.md"}');export{e as data}; 2 | -------------------------------------------------------------------------------- /dist/assets/basic.html.48955584.js: -------------------------------------------------------------------------------- 1 | const e=JSON.parse('{"key":"v-3e43d6e2","path":"/lora/basic.html","title":"LoRA \u8BAD\u7EC3 \u65B0\u624B\u6A21\u5F0F","lang":"en-US","frontmatter":{"example":true,"trainType":"lora-basic"},"excerpt":"","headers":[],"filePathRelative":"lora/basic.md"}');export{e as data}; 2 | -------------------------------------------------------------------------------- /dist/assets/flux.html.6fefc131.js: -------------------------------------------------------------------------------- 1 | const e=JSON.parse('{"key":"v-fdbe4e28","path":"/lora/flux.html","title":"Flux LoRA \u8BAD\u7EC3 \u4E13\u5BB6\u6A21\u5F0F","lang":"en-US","frontmatter":{"example":true,"trainType":"flux-lora"},"excerpt":"","headers":[],"filePathRelative":"lora/flux.md"}');export{e as data}; 2 | -------------------------------------------------------------------------------- /dist/assets/sdxl.html.6ab37b06.js: -------------------------------------------------------------------------------- 1 | const e=JSON.parse('{"key":"v-53c99f50","path":"/lora/sdxl.html","title":"SDXL LoRA \u8BAD\u7EC3 \u4E13\u5BB6\u6A21\u5F0F","lang":"en-US","frontmatter":{"example":true,"trainType":"sdxl-lora"},"excerpt":"","headers":[],"filePathRelative":"lora/sdxl.md"}');export{e as data}; 2 | -------------------------------------------------------------------------------- /dist/assets/tensorboard.html.4a2799a9.js: -------------------------------------------------------------------------------- 1 | const e=JSON.parse('{"key":"v-13efe3c5","path":"/tensorboard.html","title":"","lang":"en-US","frontmatter":{"type":"iframe","subtype":"tensorboard","iframe":"http://127.0.0.1:6006"},"excerpt":"","headers":[],"filePathRelative":"tensorboard.md"}');export{e as data}; 2 | -------------------------------------------------------------------------------- /dist/assets/master.html.54eb6415.js: -------------------------------------------------------------------------------- 1 | const e=JSON.parse('{"key":"v-1bf725da","path":"/lora/master.html","title":"LoRA \u8BAD\u7EC3 \u4E13\u5BB6\u6A21\u5F0F","lang":"en-US","frontmatter":{"example":true,"trainType":"lora-master"},"excerpt":"","headers":[],"filePathRelative":"lora/master.md"}');export{e as data}; 2 | -------------------------------------------------------------------------------- /dist/assets/index.html.838bbc6c.js: -------------------------------------------------------------------------------- 1 | const e=JSON.parse('{"key":"v-33a23463","path":"/dreambooth/","title":"Dreambooth \u8BAD\u7EC3 \u4E13\u5BB6\u6A21\u5F0F","lang":"en-US","frontmatter":{"example":true,"trainType":"dreambooth"},"excerpt":"","headers":[],"filePathRelative":"dreambooth/index.md"}');export{e as data}; 2 | -------------------------------------------------------------------------------- /dist/assets/back-to-top.8efcbe56.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /dist/assets/settings.html.06993f96.js: -------------------------------------------------------------------------------- 1 | const e=JSON.parse(`{"key":"v-72e1da3e","path":"/other/settings.html","title":"\u8BAD\u7EC3 UI \u8BBE\u7F6E","lang":"en-US","frontmatter":{"type":"settings","code":"Schema.intersect([\\n Schema.object({\\n tensorboard_url: Schema.string().role('folder').description(\\"tensorboard \u5730\u5740\\")\\n }).description(\\"\u8BAD\u7EC3 UI \u8BBE\u7F6E\\"),\\n]);\\n"},"excerpt":"","headers":[],"filePathRelative":"other/settings.md"}`);export{e as data}; 2 | -------------------------------------------------------------------------------- /dist/assets/settings.html.07aaabcc.js: -------------------------------------------------------------------------------- 1 | import{_ as t,o as s,c as a,a as e,b as c}from"./app.547295de.js";const n={},o=e("h1",{id:"\u8BAD\u7EC3-ui-\u8BBE\u7F6E",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#\u8BAD\u7EC3-ui-\u8BBE\u7F6E","aria-hidden":"true"},"#"),c(" \u8BAD\u7EC3 UI \u8BBE\u7F6E")],-1),r=e("p",null,"\u4E0D\u61C2\u7684\u4E0D\u8981\u78B0\u8FD9\u4E2A",-1),_=[o,r];function i(d,l){return s(),a("div",null,_)}var u=t(n,[["render",i],["__file","settings.html.vue"]]);export{u as default}; 2 | -------------------------------------------------------------------------------- /dist/assets/sdxl.html.33fa069c.js: -------------------------------------------------------------------------------- 1 | import{_ as a,o,c as s,a as e,b as t}from"./app.547295de.js";const r={},c=e("h1",{id:"sdxl-lora-\u8BAD\u7EC3-\u4E13\u5BB6\u6A21\u5F0F",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#sdxl-lora-\u8BAD\u7EC3-\u4E13\u5BB6\u6A21\u5F0F","aria-hidden":"true"},"#"),t(" SDXL LoRA \u8BAD\u7EC3 \u4E13\u5BB6\u6A21\u5F0F")],-1),d=e("p",null,"SDXL \u6A21\u578B LoRA \u8BAD\u7EC3",-1),l=[c,d];function _(n,i){return o(),s("div",null,l)}var x=a(r,[["render",_],["__file","sdxl.html.vue"]]);export{x as default}; 2 | -------------------------------------------------------------------------------- /dist/assets/master.html.404f21be.js: -------------------------------------------------------------------------------- 1 | import{_ as a,o as t,c as r,a as e,b as o}from"./app.547295de.js";const s={},c=e("h1",{id:"lora-\u8BAD\u7EC3-\u4E13\u5BB6\u6A21\u5F0F",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#lora-\u8BAD\u7EC3-\u4E13\u5BB6\u6A21\u5F0F","aria-hidden":"true"},"#"),o(" LoRA \u8BAD\u7EC3 \u4E13\u5BB6\u6A21\u5F0F")],-1),_=e("p",null,"\u4F60\u6240\u70ED\u7231\u7684 \u5C31\u662F\u4F60\u7684\u53C2\u6570",-1),n=[c,_];function d(l,i){return t(),r("div",null,n)}var f=a(s,[["render",d],["__file","master.html.vue"]]);export{f as default}; 2 | -------------------------------------------------------------------------------- /dist/assets/index.html.911dc78d.js: -------------------------------------------------------------------------------- 1 | import{_ as t,o as a,c as o,a as e,b as r}from"./app.547295de.js";const c={},n=e("h1",{id:"dreambooth-\u8BAD\u7EC3-\u4E13\u5BB6\u6A21\u5F0F",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#dreambooth-\u8BAD\u7EC3-\u4E13\u5BB6\u6A21\u5F0F","aria-hidden":"true"},"#"),r(" Dreambooth \u8BAD\u7EC3 \u4E13\u5BB6\u6A21\u5F0F")],-1),s=e("p",null,"\u4F60\u6240\u70ED\u7231\u7684 \u5C31\u662F\u4F60\u7684\u53C2\u6570",-1),d=[n,s];function _(h,i){return a(),o("div",null,d)}var m=t(c,[["render",_],["__file","index.html.vue"]]);export{m as default}; 2 | -------------------------------------------------------------------------------- /dist/assets/tools.html.6c8bfc09.js: -------------------------------------------------------------------------------- 1 | import{_ as l,o as t,c as r,a as e,b as o}from"./app.547295de.js";const a={},s=e("h1",{id:"lora-\u76F8\u5173\u5DE5\u5177",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#lora-\u76F8\u5173\u5DE5\u5177","aria-hidden":"true"},"#"),o(" LoRA \u76F8\u5173\u5DE5\u5177")],-1),_=e("ul",null,[e("li",null,[e("code",null,"networks/extract_lora_from_models"),o(" \u4F7F\u7528 SVD \u4ECE\u4E24\u4E2A\u6A21\u578B\u4E2D\u8FD1\u4F3C\u63D0\u53D6 LoRA")]),e("li",null,[e("code",null,"networks/extract_lora_from_dylora.py"),o(" \u4ECE DyLoRA \u4E2D\u63D0\u53D6 LoRA")])],-1),c=[s,_];function n(d,i){return t(),r("div",null,c)}var h=l(a,[["render",n],["__file","tools.html.vue"]]);export{h as default}; 2 | -------------------------------------------------------------------------------- /dist/assets/404.47057000.js: -------------------------------------------------------------------------------- 1 | import{_ as i,f as d,u as p,g as f,r as v,o as k,c as g,a as e,t as c,d as L,w as x,b as B,h as l}from"./app.547295de.js";const N={class:"theme-container"},T={class:"page"},b={class:"theme-default-content"},C=e("h1",null,"404",-1),M=d({__name:"404",setup(R){var a,s,n;const _=p(),o=f(),t=(a=o.value.notFound)!=null?a:["Not Found"],r=()=>t[Math.floor(Math.random()*t.length)],u=(s=o.value.home)!=null?s:_.value,m=(n=o.value.backToHome)!=null?n:"Back to home";return(V,w)=>{const h=v("RouterLink");return k(),g("div",N,[e("main",T,[e("div",b,[C,e("blockquote",null,c(r()),1),L(h,{to:l(u)},{default:x(()=>[B(c(l(m)),1)]),_:1},8,["to"])])])])}}});var F=i(M,[["__file","404.vue"]]);export{F as default}; 2 | -------------------------------------------------------------------------------- /dist/assets/flux.html.f22f5932.js: -------------------------------------------------------------------------------- 1 | import{_ as o,o as t,c as a,a as e,b as l}from"./app.547295de.js";const r={},s=e("h1",{id:"flux-lora-\u8BAD\u7EC3-\u4E13\u5BB6\u6A21\u5F0F",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#flux-lora-\u8BAD\u7EC3-\u4E13\u5BB6\u6A21\u5F0F","aria-hidden":"true"},"#"),l(" Flux LoRA \u8BAD\u7EC3 \u4E13\u5BB6\u6A21\u5F0F")],-1),c=e("p",null,"Flux.1 \u6A21\u578B LoRA \u8BAD\u7EC3 \u4E13\u5BB6\u6A21\u5F0F",-1),_=e("p",null,"\u522B\u95EE\u4E3A\u4EC0\u4E48\u65B0\u624B\u6A21\u5F0F\u4E0D\u884C\uFF0C\u95EE\u5C31\u662F\u4F60\u90FD\u7528 FLUX \u4E86\u8FD8\u60F3\u5F53\u65B0\u624B\uFF1F",-1),n=[s,c,_];function d(u,i){return t(),a("div",null,n)}var h=o(r,[["render",d],["__file","flux.html.vue"]]);export{h as default}; 2 | -------------------------------------------------------------------------------- /dist/assets/sd3.html.1a4bf31e.js: -------------------------------------------------------------------------------- 1 | import{_ as s,o as t,c as o,a as e,b as a}from"./app.547295de.js";const _={},c=e("h1",{id:"sd3-\u8BAD\u7EC3-\u4E13\u5BB6\u6A21\u5F0F",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#sd3-\u8BAD\u7EC3-\u4E13\u5BB6\u6A21\u5F0F","aria-hidden":"true"},"#"),a(" SD3 \u8BAD\u7EC3 \u4E13\u5BB6\u6A21\u5F0F")],-1),n=e("p",null,"SD3 \u6A21\u578B LoRA \u8BAD\u7EC3 \u4E13\u5BB6\u6A21\u5F0F",-1),d=e("p",null,"\u652F\u6301 SD3.5 \u6A21\u578B\u7684 LoRA \u8BAD\u7EC3",-1),r=e("p",null,"\u522B\u95EE\u4E3A\u4EC0\u4E48\u65B0\u624B\u6A21\u5F0F\u4E0D\u884C\uFF0C\u95EE\u5C31\u662F\u4F60\u90FD\u7528 SD3 \u4E86\u8FD8\u60F3\u5F53\u65B0\u624B\uFF1F",-1),l=[c,n,d,r];function i(h,u){return t(),o("div",null,l)}var p=s(_,[["render",i],["__file","sd3.html.vue"]]);export{p as default}; 2 | -------------------------------------------------------------------------------- /dist/assets/basic.html.eb26832d.js: -------------------------------------------------------------------------------- 1 | import{_ as o,o as t,c as s,a as e,b as a}from"./app.547295de.js";const c={},r=e("h1",{id:"lora-\u8BAD\u7EC3-\u65B0\u624B\u6A21\u5F0F",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#lora-\u8BAD\u7EC3-\u65B0\u624B\u6A21\u5F0F","aria-hidden":"true"},"#"),a(" LoRA \u8BAD\u7EC3 \u65B0\u624B\u6A21\u5F0F")],-1),l=e("p",null,"\u9ED8\u8BA4\u8BBE\u7F6E\u4E3A\u4F60\u51C6\u5907\u597D\u4E86\u6240\u6709\u9700\u8981\u7684\u53C2\u6570\uFF0C\u53EA\u9700\u8981\u4F60\u4FEE\u6539\u5E95\u6A21\u8DEF\u5F84\u3001\u8BAD\u7EC3\u96C6\u8DEF\u5F84\u3001\u8BAD\u7EC3\u8F6E\u6570\u5373\u53EF\u4E00\u952E\u8BAD\u7EC3\u6A21\u578B\u3002",-1),n=e("p",null,[a("\u8BAD\u7EC3 SDXL \u6A21\u578B\u7684 LoRA \u8BF7\u524D\u5F80\u4E13\u5BB6\u6A21\u5F0F\uFF0C\u8BAD\u7EC3\u79CD\u7C7B\u9009\u62E9 "),e("code",null,"sdxl-lora")],-1),_=[r,l,n];function d(i,h){return t(),s("div",null,_)}var f=o(c,[["render",d],["__file","basic.html.vue"]]);export{f as default}; 2 | -------------------------------------------------------------------------------- /dist/assets/index.html.4896b94d.js: -------------------------------------------------------------------------------- 1 | import{_ as t,o,c as n,a as e,b as s}from"./app.547295de.js";const a={},l=e("h1",{id:"lora-\u8BAD\u7EC3",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#lora-\u8BAD\u7EC3","aria-hidden":"true"},"#"),s(" LoRA \u8BAD\u7EC3")],-1),c=e("p",null,"\u672C LoRA \u8BAD\u7EC3\u754C\u9762\u5206\u4E3A\u4E24\u79CD\u6A21\u5F0F\u3002",-1),i=e("ul",null,[e("li",null,"\u9488\u5BF9\u65B0\u624B\u7684\u7B80\u6613\u8BAD\u7EC3\u53EA\u6709\u90E8\u5206\u53EF\u8C03\u8282\u53C2\u6570"),e("li",null,"\u9488\u5BF9\u6709\u4E00\u5B9A\u7ECF\u9A8C\u7684\u7528\u6237\u7684\u4E13\u5BB6\u6A21\u5F0F\uFF0C\u5F00\u653E\u5168\u90E8\u7684\u9AD8\u7EA7\u53C2\u6570")],-1),r=e("div",{class:"custom-container tip"},[e("p",{class:"custom-container-title"},"TIP"),e("p",null,"\u5982\u679C\u4F60\u662F\u65B0\u624B\uFF0C\u5EFA\u8BAE\u4F7F\u7528\u65B0\u624B\u6A21\u5F0F\uFF0C\u4E0D\u8981\u901E\u5F3A\u4F7F\u7528\u4E13\u5BB6\u6A21\u5F0F\uFF0C\u5426\u5219\u53EF\u80FD\u4F1A\u51FA\u73B0\u610F\u60F3\u4E0D\u5230\u7684\u95EE\u9898\u3002")],-1),_=[l,c,i,r];function d(u,h){return o(),n("div",null,_)}var m=t(a,[["render",d],["__file","index.html.vue"]]);export{m as default}; 2 | -------------------------------------------------------------------------------- /dist/assets/about.html.b4807002.js: -------------------------------------------------------------------------------- 1 | import{_ as n,r as o,o as s,c,a as e,b as r,d as a}from"./app.547295de.js";const h={},i=e("h2",{id:"\u5173\u4E8E",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#\u5173\u4E8E","aria-hidden":"true"},"#"),r(" \u5173\u4E8E")],-1),d={href:"https://github.com/shigma/schemastery",target:"_blank",rel:"noopener noreferrer"},l=e("h3",{id:"\u53CD\u9988",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#\u53CD\u9988","aria-hidden":"true"},"#"),r(" \u53CD\u9988")],-1),_={href:"https://github.com/Akegarasu/lora-scripts/issues",target:"_blank",rel:"noopener noreferrer"},u=e("h3",{id:"\u8054\u7CFB\u65B9\u5F0F",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#\u8054\u7CFB\u65B9\u5F0F","aria-hidden":"true"},"#"),r(" \u8054\u7CFB\u65B9\u5F0F")],-1),p=e("p",null,"\u90AE\u7BB1\uFF1Awork@anzu.link",-1),f={href:"https://discord.gg/Uu3syD9PnR",target:"_blank",rel:"noopener noreferrer"};function m(b,k){const t=o("ExternalLinkIcon");return s(),c("div",null,[i,e("p",null,[r("\u7531 "),e("a",d,[r("schemastery"),a(t)]),r(" \u5F3A\u529B\u9A71\u52A8")]),l,e("p",null,[r("\u8BF7\u524D\u5F80 Github \u63D0\u4EA4 "),e("a",_,[r("issue"),a(t)])]),u,p,e("p",null,[e("a",f,[r("discord \u9891\u9053"),a(t)])])])}var x=n(h,[["render",m],["__file","about.html.vue"]]);export{x as default}; 2 | -------------------------------------------------------------------------------- /dist/assets/tagger.html.0daaef4e.js: -------------------------------------------------------------------------------- 1 | import{_ as e,o as a,c as r,e as t}from"./app.547295de.js";const g={},c=t('

Tagger \u6807\u6CE8\u5DE5\u5177

\u540E\u7AEF\u57FA\u4E8E wd14-tagger \u5F00\u53D1\u3002

\uFF08\u5982\u679C\u4F60\u81EA\u884C\u90E8\u7F72\uFF0C\u6216\u6709\u826F\u597D\u7684\u7F51\u7EDC\u8BBF\u95EE\u73AF\u5883\uFF0C\u8BF7\u5FFD\u7565\u8FD9\u884C\uFF09\u8BAD\u7EC3\u5305\u5185\u81EA\u5E26\u9ED8\u8BA4\u79BB\u7EBF\u6A21\u578B SmilingWolf/wd-v1-4-convnextv2-tagger-v2 \u5982\u679C\u4F60\u9009\u62E9\u4E86\u5176\u4ED6\u6A21\u578B\uFF0C\u53EF\u80FD\u9700\u8981\u989D\u5916\u8FDE\u63A5\u5230 Huggingface \u8FDB\u884C\u4E0B\u8F7D\u3002

\u5DF2\u66F4\u65B0 v3 \u7684 Tagger \u6A21\u578B\u3002

\u5DF2\u66F4\u65B0 large \u7CFB\u5217\u7684 Tagger \u6A21\u578B\u3002

\u5DF2\u66F4\u65B0 CL \u7CFB\u5217\u7684 Tagger \u6A21\u578B\u3002

\u63A8\u8350\u53C2\u6570

\u9608\u503C\u5927\u4E8E 0.35

',8),n=[c];function d(o,i){return a(),r("div",null,n)}var s=e(g,[["render",d],["__file","tagger.html.vue"]]);export{s as default}; 2 | -------------------------------------------------------------------------------- /dist/assets/tools.html.c0a4659a.js: -------------------------------------------------------------------------------- 1 | const e=JSON.parse(`{"key":"v-4441a302","path":"/lora/tools.html","title":"LoRA \u76F8\u5173\u5DE5\u5177","lang":"en-US","frontmatter":{"type":"tools","code":"Schema.intersect([\\n Schema.intersect([\\n Schema.object({\\n script_name: Schema.union([\\n \\"networks/extract_lora_from_models.py\\",\\n \\"networks/extract_lora_from_dylora.py\\",\\n ]).description(\\"\u811A\u672C\u540D\u79F0\\"),\\n }).description(\\"\u53C2\u6570\u8BBE\u7F6E\\"),\\n\\n Schema.union([\\n Schema.object({\\n script_name: Schema.const('networks/extract_lora_from_models.py').required(),\\n v2: Schema.boolean().description(\\"\u5E95\u6A21\u4E3A sd2.0 \u4EE5\u540E\u7684\u7248\u672C\u9700\u8981\u542F\u7528\\"),\\n model_org: Schema.string().role('textarea').description(\\"\u5E95\u6A21\u8DEF\u5F84\\"),\\n model_tuned: Schema.string().role('textarea').description(\\"\u5FAE\u8C03\u540E\u7684\u6A21\u578B\u8DEF\u5F84\\"),\\n save_to: Schema.string().description(\\"\u4FDD\u5B58\u540D\u79F0\\"),\\n dim: Schema.number().min(8).step(8).default(32).description(\\"LoRA \u7F51\u7EDC\u7EF4\u5EA6\\"),\\n conv_dim: Schema.number().min(1).step(1).description(\\"LoRA Conv2d-3x3 \u7F51\u7EDC\u7EF4\u5EA6 \u9ED8\u8BA4\u4E0D\u4F7F\u7528\\"),\\n save_precision: Schema.union([\\"fp16\\", \\"float\\",\\"bf16\\"]).default(\\"fp16\\").description(\\"\u6A21\u578B\u4FDD\u5B58\u7CBE\u5EA6\\"),\\n }),\\n Schema.object({\\n script_name: Schema.const('networks/extract_lora_from_dylora.py').required(),\\n model: Schema.string().role('textarea').description(\\"DyLoRA \u6A21\u578B\u8DEF\u5F84\\"),\\n unit: Schema.number().description(\\"rank \u5206\u5272\u5927\u5C0F\\"),\\n save_to: Schema.string().description(\\"\u4FDD\u5B58\u540D\u79F0\\"),\\n }),\\n Schema.object({}),\\n ]),\\n ])\\n]);\\n"},"excerpt":"","headers":[],"filePathRelative":"lora/tools.md"}`);export{e as data}; 2 | -------------------------------------------------------------------------------- /dist/404.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 18 | 25 | SD 训练 UI 26 | 27 | 28 | 29 | 30 |

404

How did we get here?
Take me home
31 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /dist/tageditor.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 18 | 25 | SD 训练 UI 26 | 27 | 28 | 29 | 30 |
31 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /dist/tensorboard.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 18 | 25 | SD 训练 UI 26 | 27 | 28 | 29 | 30 |
31 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /dist/task.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 18 | 25 | SD 训练 UI 26 | 27 | 28 | 29 | 30 |
31 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /dist/lora/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 18 | 25 | LoRA 训练 | SD 训练 UI 26 | 27 | 28 | 29 | 30 |

LoRA 训练

本 LoRA 训练界面分为两种模式。

  • 针对新手的简易训练只有部分可调节参数
  • 针对有一定经验的用户的专家模式,开放全部的高级参数

TIP

如果你是新手,建议使用新手模式,不要逞强使用专家模式,否则可能会出现意想不到的问题。

31 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /dist/tagger.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 18 | 25 | Tagger 标注工具 | SD 训练 UI 26 | 27 | 28 | 29 | 30 |

Tagger 标注工具

后端基于 wd14-tagger 开发。

(如果你自行部署,或有良好的网络访问环境,请忽略这行)训练包内自带默认离线模型 SmilingWolf/wd-v1-4-convnextv2-tagger-v2 如果你选择了其他模型,可能需要额外连接到 Huggingface 进行下载。

已更新 v3 的 Tagger 模型。

已更新 large 系列的 Tagger 模型。

已更新 CL 系列的 Tagger 模型。

推荐参数

阈值大于 0.35

31 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /dist/other/about.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 18 | 25 | SD 训练 UI 26 | 27 | 28 | 29 | 30 |

关于

schemasteryopen in new window 强力驱动

反馈

请前往 Github 提交 issueopen in new window

联系方式

邮箱:work@anzu.link

discord 频道open in new window

31 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /dist/other/settings.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 18 | 25 | 训练 UI 设置 | SD 训练 UI 26 | 27 | 28 | 29 | 30 |

训练 UI 设置

tensorboard_url

tensorboard 地址

31 |

训练 UI 设置

不懂的不要碰这个

Output
{ }
32 | 33 | 34 | 35 | -------------------------------------------------------------------------------- /dist/lora/master.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 18 | 25 | LoRA 训练 专家模式 | SD 训练 UI 26 | 27 | 28 | 29 | 30 |

LoRA 训练 专家模式

你所热爱的 就是你的参数

参数预览
Loading...
Output
31 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /dist/lora/sdxl.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 18 | 25 | SDXL LoRA 训练 专家模式 | SD 训练 UI 26 | 27 | 28 | 29 | 30 |

SDXL LoRA 训练 专家模式

SDXL 模型 LoRA 训练

参数预览
Loading...
Output
31 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /dist/dreambooth/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 18 | 25 | Dreambooth 训练 专家模式 | SD 训练 UI 26 | 27 | 28 | 29 | 30 |

Dreambooth 训练 专家模式

你所热爱的 就是你的参数

参数预览
Loading...
Output
31 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /dist/lora/flux.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 18 | 25 | Flux LoRA 训练 专家模式 | SD 训练 UI 26 | 27 | 28 | 29 | 30 |

Flux LoRA 训练 专家模式

Flux.1 模型 LoRA 训练 专家模式

别问为什么新手模式不行,问就是你都用 FLUX 了还想当新手?

参数预览
Loading...
Output
31 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /dist/lora/sd3.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 18 | 25 | SD3 训练 专家模式 | SD 训练 UI 26 | 27 | 28 | 29 | 30 |

SD3 训练 专家模式

SD3 模型 LoRA 训练 专家模式

支持 SD3.5 模型的 LoRA 训练

别问为什么新手模式不行,问就是你都用 SD3 了还想当新手?

参数预览
Loading...
Output
31 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /dist/lora/basic.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 18 | 25 | LoRA 训练 新手模式 | SD 训练 UI 26 | 27 | 28 | 29 | 30 |

LoRA 训练 新手模式

默认设置为你准备好了所有需要的参数,只需要你修改底模路径、训练集路径、训练轮数即可一键训练模型。

训练 SDXL 模型的 LoRA 请前往专家模式,训练种类选择 sdxl-lora

参数预览
Loading...
Output
31 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /dist/lora/tools.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 18 | 25 | LoRA 相关工具 | SD 训练 UI 26 | 27 | 28 | 29 | 30 |

参数设置

script_name

脚本名称

31 |

LoRA 相关工具

  • networks/extract_lora_from_models 使用 SVD 从两个模型中近似提取 LoRA
  • networks/extract_lora_from_dylora.py 从 DyLoRA 中提取 LoRA
参数预览
{ }
32 | 33 | 34 | 35 | -------------------------------------------------------------------------------- /dist/lora/params.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 18 | 25 | 训练参数调节 | SD 训练 UI 26 | 27 | 28 | 29 | 30 |

训练参数调节

设置训练用模型、数据集

底模选择

底模,尽量选祖宗级别的模型练出来的LoRA会更通用。如果在融合模型上训练可能会仅仅在你训练的底模上生成图片拥有不错的效果 但是失去了通用性。可以自己抉择

什么是祖宗级别的模型?

sd1.5 2.0、novelai 原版泄露模型。也就是非融合模型。融合模型比如 anything 系列融合了一大堆,orangemix系列融合了 anything 和 basil 更灵车了等等。在他们上面训练的会迁移性更差一些。

训练分辨率

训练时的分辨率 宽,高,可以是非正方形,但必须为64的整数倍。建议使用大于 512x512 且小于 1024x1024 的值,长宽比根据训练集的占比决定,一般来说方形的可以照顾到各种不同的分辨率。如果多数为长图可以使用512x768这种分辨率,如果宽图居多则可以使用768x512等。

ARB 桶

默认开启 ARB 桶,以允许使用非固定宽高比的图像来训练(简单来说就是不需要手动剪裁了)。ARB 桶在一定程度上会增加训练时间。 ARB桶分辨率必须大于训练分辨率

学习率与优化器设置

学习率设置

UNet和TE的学习率通常是不同的,因为学习难度不同,通常UNet的学习率会比TE高 。

如图所示,我们希望UNet和TE都处于一个恰好的位置(绿色部分),但是这个值我们不知道。

如果UNet训练不足,那么生成的图会不像,UNet训练过度会导致面部扭曲或者产生大量色块。TE训练不足会让出图对Prompt的服从度低,TE训练过度则会生成多余的物品。

总学习步数 = (图片数量 * 重复次数 * epoch)/ 批次大小

以UNet学习率为1e-4为例,一般来说图片较少的时候训练人物需要至少1000步,训练画风则需要至少2500步,训练概念则需要至少3000步。这里只是最低的步数,图片多则需要更多步数。学习率更大可以适当减少步数,但并非线性关系,使用两倍的学习率需要使用比之前步数的一半更多的步数。

决定学习率和步数的最好方法是先训练,再测试。一般比较好的初始值为UNet使用1e-4,TE使用5e-5

学习率调整策略(lr_scheduler)

推荐使用余弦退火cosine。如果开启预热,预热步数应该占总步数的5%-10%。

如果使用带重启的余弦退火cosine_with_restarts,重启次数不应该超过4次。

批次大小 (batch_size)

Batch size 越大梯度越稳定,也可以使用更大的学习率来加速收敛,但是占用显存也更大。

一般而言 2 倍的 batch_size 可以使用两倍的 UNet 学习率,但是TE学习率不能提高太多。

优化器

这里只介绍最常用的三种:

  • AdamW8bit:启用的int8优化的AdamW优化器,默认选项。
  • Lion:Google Brain发表的新优化器,各方面表现优于AdamW,同时占用显存更小,可能需要更大的batch size以保持梯度更新稳定。
  • D-Adaptation:FB发表的自适应学习率的优化器,调参简单,无需手动控制学习率,但是占用显存巨大(通常需要大于8G)。使用时设置学习率为1即可,同时学习率调整策略使用constant。需要添加"--optimizer_args decouple=True"来分离UNet和TE的学习率。(这些设置训练UI都会帮你自动处理)

网络设置

网络结构(LoRA/LoCon/LoHa/DyLoRA)

不同网络结构对应不同的矩阵低秩分解方法。LoRA 是老祖宗,只控制模型中的线性层和1x1卷积层,后续的不同网络结构都是在 LoRA 的基础上进行改进。

LyCORIS 对其进行改进,添加了其他几种算法:

  • LoCon 加入了对卷积层 (Conv) 的控制
  • LoHa(哈达玛积)和 LoKr(克罗内克积)
  • IA3

理论上来说 LyCORIS 会比 LoRA 拥有更加强的微调效果,但是也更加容易过拟合。

需要注意的是,不同的网络结构一般需要对应不同的 dim 以及学习率。

网络大小

网络大小应该根据实际的训练集图片数量和使用的网络结构决定

network_dim

上表中值为我自己的角色训练推荐值,训练画风和概念需要适当增加 Linear 部分大小。推荐值并非对各个不同的数据集都是最优的,需要自己实验得出最优。Conv 的大小最好不要超过8。

网络Alpha(network_alpha)

alpha在训练期间缩放网络的权重,alpha越小学习越慢,关系可以认为是负线性相关的。

一般设置为dim/2或者dim/4。如果选择1,则需要提高学习率或者使用D-Adapation优化器。

高级设置

Caption 相关

caption dropout

网上关于这几个caption dropout的说明少之又少,甚至作者在文档里面也没有包含这些参数,只能在代码注释里面找到说明。但是caption dropout在某些情况下对模型性能有提升,所以拿出来讲一下。

caption_dropout_rate:丢弃全部标签的概率,对一个图片概率不使用caption或class token

caption_dropout_every_n_epochs:每N个epoch丢弃全部标签。

caption_tag_dropout_rate:按逗号分隔的标签来随机丢弃tag的概率。如果使用DB+标签的训练方法训练画风,推荐使用这个参数,能够有效防止tag过拟合,一般选择0.2-0.5之间的值训练人物则无需开启

token 热身

两个token热身相关的参数。

token_warmup_min:最小学习的token数量,token_warmup_step: 在多少步后达到最大token数量。

token_warmup可以理解为另一种形式的caption dropout,但是如果不随机打乱token,则只会学习前面N个token。本人并未实测过启用这两个参数的效果,有兴趣可以自行实验。

噪声相关

噪声偏移(noise_offset)

在训练过程中加入全局的噪声,改善图片的亮度变化范围(能生成更黑或者更白的图片)。

如果需要开启,推荐设置值为0.1同时需要增加学习步数作为网络收敛更慢的补偿

多分辨率/金字塔噪声 multires_noise_iterations、multires_noise_discount

多分辨率/金字塔噪声相关参数。iteration设置在6-8,再高提升不大。discount设置在0.3-0.8之间,更小的值需要更多步数。

其他一堆参数

  • CLIP_SKIP CLIP模型使用倒数第N层的输出,需要与底模使用的值保持一致,如果是基于NAI的二次元模型,应当使用2。如果是SD1.5等真实模型应当使用1。生成时也应该使用同样的值。

  • Min-SNR-γ 发表于 ICCV2023 上的一种加速扩散模型收敛的方法 Efficient Diffusion Training via Min-SNR Weighting Strategyopen in new window。不同样本批次的学习难度不同导致梯度方向不一致所以收敛慢,于是引入根据信噪比调整学习率比重。 设置在5左右的值是实验效果比较好的。

  • 数据增强相关 数据增强是在训练时实时对图片做变换的方法,可用于防止过拟合,能用的一共有四种: color_aug, flip_aug, face_crop_aug_range, random_crop。 其中只有翻转(flip_aug)能和cache latent兼容,因为latent可以直接翻转。 四种都不推荐使用,因为裁剪图片的两种cropping方法都会导致tag对应不上。color_aug无法启用cache latent导致训练慢,得不偿失。翻转的flip_aug在图像不对称的情况下表现差,会导致无法正确生成人物不对称的特征(刘海、发饰等)。

  • max_grad_norm 限制模型更新梯度的大小,改善数值稳定性。梯度的范数超过这个值将会被缩放到这个大小,一般来说无需设置

  • gradient_accumulation_steps 梯度累积步数,用于在小显存上模拟大batch size的效果。如果显存足够使用4以上的batch size就没必要启用

  • log_with、wandb_api_key 选择logger类型,可选tensorboard或者wandb。使用wandb需要指定api key。

  • prior_loss_weight DB训练当中先验部分的权重,控制正则化图像的强度,论文中使用的是1的值,如无特殊情况无需更改

  • debug_dataset 不训练模型,仅输出训练集元数据和训练参数信息,可以用来检查各项设置是否正确。

  • vae_batch_size cache lantent的时候VAE编码器的batch size,和训练效果无关。一般来说使用2-4可以加速一点cache latent的过程。因为VAE编码器本身参数量比较小,实测在Linux机器上8G的显卡也能开启4。Windows下系统占用显存较多,显存小于10G不建议开启。

TIP

文档尚未完结~!

by 秋葉open in new window & Impossib1e嗨open in new window

感谢 Impossib1e嗨 贡献的大量文档

31 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /dist/assets/params.html.dea583bc.js: -------------------------------------------------------------------------------- 1 | import{_ as o,r as i,o as s,c as h,a,b as e,d as r,e as n}from"./app.547295de.js";const d={},p=n('

\u8BAD\u7EC3\u53C2\u6570\u8C03\u8282

\u8BBE\u7F6E\u8BAD\u7EC3\u7528\u6A21\u578B\u3001\u6570\u636E\u96C6

\u5E95\u6A21\u9009\u62E9

\u5E95\u6A21\uFF0C\u5C3D\u91CF\u9009\u7956\u5B97\u7EA7\u522B\u7684\u6A21\u578B\u7EC3\u51FA\u6765\u7684LoRA\u4F1A\u66F4\u901A\u7528\u3002\u5982\u679C\u5728\u878D\u5408\u6A21\u578B\u4E0A\u8BAD\u7EC3\u53EF\u80FD\u4F1A\u4EC5\u4EC5\u5728\u4F60\u8BAD\u7EC3\u7684\u5E95\u6A21\u4E0A\u751F\u6210\u56FE\u7247\u62E5\u6709\u4E0D\u9519\u7684\u6548\u679C \u4F46\u662F\u5931\u53BB\u4E86\u901A\u7528\u6027\u3002\u53EF\u4EE5\u81EA\u5DF1\u6289\u62E9

\u4EC0\u4E48\u662F\u7956\u5B97\u7EA7\u522B\u7684\u6A21\u578B\uFF1F

sd1.5 2.0\u3001novelai \u539F\u7248\u6CC4\u9732\u6A21\u578B\u3002\u4E5F\u5C31\u662F\u975E\u878D\u5408\u6A21\u578B\u3002\u878D\u5408\u6A21\u578B\u6BD4\u5982 anything \u7CFB\u5217\u878D\u5408\u4E86\u4E00\u5927\u5806\uFF0Corangemix\u7CFB\u5217\u878D\u5408\u4E86 anything \u548C basil \u66F4\u7075\u8F66\u4E86\u7B49\u7B49\u3002\u5728\u4ED6\u4EEC\u4E0A\u9762\u8BAD\u7EC3\u7684\u4F1A\u8FC1\u79FB\u6027\u66F4\u5DEE\u4E00\u4E9B\u3002

\u8BAD\u7EC3\u5206\u8FA8\u7387

\u8BAD\u7EC3\u65F6\u7684\u5206\u8FA8\u7387 \u5BBD,\u9AD8\uFF0C\u53EF\u4EE5\u662F\u975E\u6B63\u65B9\u5F62\uFF0C\u4F46\u5FC5\u987B\u4E3A64\u7684\u6574\u6570\u500D\u3002\u5EFA\u8BAE\u4F7F\u7528\u5927\u4E8E 512x512 \u4E14\u5C0F\u4E8E 1024x1024 \u7684\u503C\uFF0C\u957F\u5BBD\u6BD4\u6839\u636E\u8BAD\u7EC3\u96C6\u7684\u5360\u6BD4\u51B3\u5B9A\uFF0C\u4E00\u822C\u6765\u8BF4\u65B9\u5F62\u7684\u53EF\u4EE5\u7167\u987E\u5230\u5404\u79CD\u4E0D\u540C\u7684\u5206\u8FA8\u7387\u3002\u5982\u679C\u591A\u6570\u4E3A\u957F\u56FE\u53EF\u4EE5\u4F7F\u7528512x768\u8FD9\u79CD\u5206\u8FA8\u7387\uFF0C\u5982\u679C\u5BBD\u56FE\u5C45\u591A\u5219\u53EF\u4EE5\u4F7F\u7528768x512\u7B49\u3002

ARB \u6876

\u9ED8\u8BA4\u5F00\u542F ARB \u6876\uFF0C\u4EE5\u5141\u8BB8\u4F7F\u7528\u975E\u56FA\u5B9A\u5BBD\u9AD8\u6BD4\u7684\u56FE\u50CF\u6765\u8BAD\u7EC3\uFF08\u7B80\u5355\u6765\u8BF4\u5C31\u662F\u4E0D\u9700\u8981\u624B\u52A8\u526A\u88C1\u4E86\uFF09\u3002ARB \u6876\u5728\u4E00\u5B9A\u7A0B\u5EA6\u4E0A\u4F1A\u589E\u52A0\u8BAD\u7EC3\u65F6\u95F4\u3002 ARB\u6876\u5206\u8FA8\u7387\u5FC5\u987B\u5927\u4E8E\u8BAD\u7EC3\u5206\u8FA8\u7387

\u5B66\u4E60\u7387\u4E0E\u4F18\u5316\u5668\u8BBE\u7F6E

\u5B66\u4E60\u7387\u8BBE\u7F6E

UNet\u548CTE\u7684\u5B66\u4E60\u7387\u901A\u5E38\u662F\u4E0D\u540C\u7684\uFF0C\u56E0\u4E3A\u5B66\u4E60\u96BE\u5EA6\u4E0D\u540C\uFF0C\u901A\u5E38UNet\u7684\u5B66\u4E60\u7387\u4F1A\u6BD4TE\u9AD8 \u3002

\u5982\u56FE\u6240\u793A\uFF0C\u6211\u4EEC\u5E0C\u671BUNet\u548CTE\u90FD\u5904\u4E8E\u4E00\u4E2A\u6070\u597D\u7684\u4F4D\u7F6E\uFF08\u7EFF\u8272\u90E8\u5206\uFF09\uFF0C\u4F46\u662F\u8FD9\u4E2A\u503C\u6211\u4EEC\u4E0D\u77E5\u9053\u3002

\u5982\u679CUNet\u8BAD\u7EC3\u4E0D\u8DB3\uFF0C\u90A3\u4E48\u751F\u6210\u7684\u56FE\u4F1A\u4E0D\u50CF\uFF0CUNet\u8BAD\u7EC3\u8FC7\u5EA6\u4F1A\u5BFC\u81F4\u9762\u90E8\u626D\u66F2\u6216\u8005\u4EA7\u751F\u5927\u91CF\u8272\u5757\u3002TE\u8BAD\u7EC3\u4E0D\u8DB3\u4F1A\u8BA9\u51FA\u56FE\u5BF9Prompt\u7684\u670D\u4ECE\u5EA6\u4F4E\uFF0CTE\u8BAD\u7EC3\u8FC7\u5EA6\u5219\u4F1A\u751F\u6210\u591A\u4F59\u7684\u7269\u54C1\u3002

\u603B\u5B66\u4E60\u6B65\u6570 = \uFF08\u56FE\u7247\u6570\u91CF * \u91CD\u590D\u6B21\u6570 * epoch\uFF09/ \u6279\u6B21\u5927\u5C0F

\u4EE5UNet\u5B66\u4E60\u7387\u4E3A1e-4\u4E3A\u4F8B\uFF0C\u4E00\u822C\u6765\u8BF4\u56FE\u7247\u8F83\u5C11\u7684\u65F6\u5019\u8BAD\u7EC3\u4EBA\u7269\u9700\u8981\u81F3\u5C111000\u6B65\uFF0C\u8BAD\u7EC3\u753B\u98CE\u5219\u9700\u8981\u81F3\u5C112500\u6B65\uFF0C\u8BAD\u7EC3\u6982\u5FF5\u5219\u9700\u8981\u81F3\u5C113000\u6B65\u3002\u8FD9\u91CC\u53EA\u662F\u6700\u4F4E\u7684\u6B65\u6570\uFF0C\u56FE\u7247\u591A\u5219\u9700\u8981\u66F4\u591A\u6B65\u6570\u3002\u5B66\u4E60\u7387\u66F4\u5927\u53EF\u4EE5\u9002\u5F53\u51CF\u5C11\u6B65\u6570\uFF0C\u4F46\u5E76\u975E\u7EBF\u6027\u5173\u7CFB\uFF0C\u4F7F\u7528\u4E24\u500D\u7684\u5B66\u4E60\u7387\u9700\u8981\u4F7F\u7528\u6BD4\u4E4B\u524D\u6B65\u6570\u7684\u4E00\u534A\u66F4\u591A\u7684\u6B65\u6570\u3002

\u51B3\u5B9A\u5B66\u4E60\u7387\u548C\u6B65\u6570\u7684\u6700\u597D\u65B9\u6CD5\u662F\u5148\u8BAD\u7EC3\uFF0C\u518D\u6D4B\u8BD5\u3002\u4E00\u822C\u6BD4\u8F83\u597D\u7684\u521D\u59CB\u503C\u4E3AUNet\u4F7F\u75281e-4\uFF0CTE\u4F7F\u75285e-5

\u5B66\u4E60\u7387\u8C03\u6574\u7B56\u7565\uFF08lr_scheduler\uFF09

\u63A8\u8350\u4F7F\u7528\u4F59\u5F26\u9000\u706Bcosine\u3002\u5982\u679C\u5F00\u542F\u9884\u70ED\uFF0C\u9884\u70ED\u6B65\u6570\u5E94\u8BE5\u5360\u603B\u6B65\u6570\u76845%-10%\u3002

\u5982\u679C\u4F7F\u7528\u5E26\u91CD\u542F\u7684\u4F59\u5F26\u9000\u706Bcosine_with_restarts\uFF0C\u91CD\u542F\u6B21\u6570\u4E0D\u5E94\u8BE5\u8D85\u8FC74\u6B21\u3002

\u6279\u6B21\u5927\u5C0F \uFF08batch_size\uFF09

Batch size \u8D8A\u5927\u68AF\u5EA6\u8D8A\u7A33\u5B9A\uFF0C\u4E5F\u53EF\u4EE5\u4F7F\u7528\u66F4\u5927\u7684\u5B66\u4E60\u7387\u6765\u52A0\u901F\u6536\u655B\uFF0C\u4F46\u662F\u5360\u7528\u663E\u5B58\u4E5F\u66F4\u5927\u3002

\u4E00\u822C\u800C\u8A00 2 \u500D\u7684 batch_size \u53EF\u4EE5\u4F7F\u7528\u4E24\u500D\u7684 UNet \u5B66\u4E60\u7387\uFF0C\u4F46\u662FTE\u5B66\u4E60\u7387\u4E0D\u80FD\u63D0\u9AD8\u592A\u591A\u3002

\u4F18\u5316\u5668

\u8FD9\u91CC\u53EA\u4ECB\u7ECD\u6700\u5E38\u7528\u7684\u4E09\u79CD:

\u7F51\u7EDC\u8BBE\u7F6E

\u7F51\u7EDC\u7ED3\u6784\uFF08LoRA/LoCon/LoHa/DyLoRA\uFF09

\u4E0D\u540C\u7F51\u7EDC\u7ED3\u6784\u5BF9\u5E94\u4E0D\u540C\u7684\u77E9\u9635\u4F4E\u79E9\u5206\u89E3\u65B9\u6CD5\u3002LoRA \u662F\u8001\u7956\u5B97\uFF0C\u53EA\u63A7\u5236\u6A21\u578B\u4E2D\u7684\u7EBF\u6027\u5C42\u548C1x1\u5377\u79EF\u5C42\uFF0C\u540E\u7EED\u7684\u4E0D\u540C\u7F51\u7EDC\u7ED3\u6784\u90FD\u662F\u5728 LoRA \u7684\u57FA\u7840\u4E0A\u8FDB\u884C\u6539\u8FDB\u3002

LyCORIS \u5BF9\u5176\u8FDB\u884C\u6539\u8FDB\uFF0C\u6DFB\u52A0\u4E86\u5176\u4ED6\u51E0\u79CD\u7B97\u6CD5\uFF1A

\u7406\u8BBA\u4E0A\u6765\u8BF4 LyCORIS \u4F1A\u6BD4 LoRA \u62E5\u6709\u66F4\u52A0\u5F3A\u7684\u5FAE\u8C03\u6548\u679C\uFF0C\u4F46\u662F\u4E5F\u66F4\u52A0\u5BB9\u6613\u8FC7\u62DF\u5408\u3002

\u9700\u8981\u6CE8\u610F\u7684\u662F\uFF0C\u4E0D\u540C\u7684\u7F51\u7EDC\u7ED3\u6784\u4E00\u822C\u9700\u8981\u5BF9\u5E94\u4E0D\u540C\u7684 dim \u4EE5\u53CA\u5B66\u4E60\u7387\u3002

\u7F51\u7EDC\u5927\u5C0F

\u7F51\u7EDC\u5927\u5C0F\u5E94\u8BE5\u6839\u636E\u5B9E\u9645\u7684\u8BAD\u7EC3\u96C6\u56FE\u7247\u6570\u91CF\u548C\u4F7F\u7528\u7684\u7F51\u7EDC\u7ED3\u6784\u51B3\u5B9A

network_dim

\u4E0A\u8868\u4E2D\u503C\u4E3A\u6211\u81EA\u5DF1\u7684\u89D2\u8272\u8BAD\u7EC3\u63A8\u8350\u503C\uFF0C\u8BAD\u7EC3\u753B\u98CE\u548C\u6982\u5FF5\u9700\u8981\u9002\u5F53\u589E\u52A0 Linear \u90E8\u5206\u5927\u5C0F\u3002\u63A8\u8350\u503C\u5E76\u975E\u5BF9\u5404\u4E2A\u4E0D\u540C\u7684\u6570\u636E\u96C6\u90FD\u662F\u6700\u4F18\u7684\uFF0C\u9700\u8981\u81EA\u5DF1\u5B9E\u9A8C\u5F97\u51FA\u6700\u4F18\u3002Conv \u7684\u5927\u5C0F\u6700\u597D\u4E0D\u8981\u8D85\u8FC78\u3002

\u7F51\u7EDCAlpha\uFF08network_alpha\uFF09

alpha\u5728\u8BAD\u7EC3\u671F\u95F4\u7F29\u653E\u7F51\u7EDC\u7684\u6743\u91CD\uFF0Calpha\u8D8A\u5C0F\u5B66\u4E60\u8D8A\u6162\uFF0C\u5173\u7CFB\u53EF\u4EE5\u8BA4\u4E3A\u662F\u8D1F\u7EBF\u6027\u76F8\u5173\u7684\u3002

\u4E00\u822C\u8BBE\u7F6E\u4E3Adim/2\u6216\u8005dim/4\u3002\u5982\u679C\u9009\u62E91\uFF0C\u5219\u9700\u8981\u63D0\u9AD8\u5B66\u4E60\u7387\u6216\u8005\u4F7F\u7528D-Adapation\u4F18\u5316\u5668\u3002

\u9AD8\u7EA7\u8BBE\u7F6E

Caption \u76F8\u5173

caption dropout

\u7F51\u4E0A\u5173\u4E8E\u8FD9\u51E0\u4E2Acaption dropout\u7684\u8BF4\u660E\u5C11\u4E4B\u53C8\u5C11\uFF0C\u751A\u81F3\u4F5C\u8005\u5728\u6587\u6863\u91CC\u9762\u4E5F\u6CA1\u6709\u5305\u542B\u8FD9\u4E9B\u53C2\u6570\uFF0C\u53EA\u80FD\u5728\u4EE3\u7801\u6CE8\u91CA\u91CC\u9762\u627E\u5230\u8BF4\u660E\u3002\u4F46\u662Fcaption dropout\u5728\u67D0\u4E9B\u60C5\u51B5\u4E0B\u5BF9\u6A21\u578B\u6027\u80FD\u6709\u63D0\u5347\uFF0C\u6240\u4EE5\u62FF\u51FA\u6765\u8BB2\u4E00\u4E0B\u3002

caption_dropout_rate\uFF1A\u4E22\u5F03\u5168\u90E8\u6807\u7B7E\u7684\u6982\u7387\uFF0C\u5BF9\u4E00\u4E2A\u56FE\u7247\u6982\u7387\u4E0D\u4F7F\u7528caption\u6216class token

caption_dropout_every_n_epochs\uFF1A\u6BCFN\u4E2Aepoch\u4E22\u5F03\u5168\u90E8\u6807\u7B7E\u3002

caption_tag_dropout_rate\uFF1A\u6309\u9017\u53F7\u5206\u9694\u7684\u6807\u7B7E\u6765\u968F\u673A\u4E22\u5F03tag\u7684\u6982\u7387\u3002\u5982\u679C\u4F7F\u7528DB+\u6807\u7B7E\u7684\u8BAD\u7EC3\u65B9\u6CD5\u8BAD\u7EC3\u753B\u98CE\uFF0C\u63A8\u8350\u4F7F\u7528\u8FD9\u4E2A\u53C2\u6570\uFF0C\u80FD\u591F\u6709\u6548\u9632\u6B62tag\u8FC7\u62DF\u5408\uFF0C\u4E00\u822C\u9009\u62E90.2-0.5\u4E4B\u95F4\u7684\u503C\u3002\u8BAD\u7EC3\u4EBA\u7269\u5219\u65E0\u9700\u5F00\u542F\u3002

token \u70ED\u8EAB

\u4E24\u4E2Atoken\u70ED\u8EAB\u76F8\u5173\u7684\u53C2\u6570\u3002

token_warmup_min\uFF1A\u6700\u5C0F\u5B66\u4E60\u7684token\u6570\u91CF\uFF0Ctoken_warmup_step\uFF1A \u5728\u591A\u5C11\u6B65\u540E\u8FBE\u5230\u6700\u5927token\u6570\u91CF\u3002

token_warmup\u53EF\u4EE5\u7406\u89E3\u4E3A\u53E6\u4E00\u79CD\u5F62\u5F0F\u7684caption dropout\uFF0C\u4F46\u662F\u5982\u679C\u4E0D\u968F\u673A\u6253\u4E71token\uFF0C\u5219\u53EA\u4F1A\u5B66\u4E60\u524D\u9762N\u4E2Atoken\u3002\u672C\u4EBA\u5E76\u672A\u5B9E\u6D4B\u8FC7\u542F\u7528\u8FD9\u4E24\u4E2A\u53C2\u6570\u7684\u6548\u679C\uFF0C\u6709\u5174\u8DA3\u53EF\u4EE5\u81EA\u884C\u5B9E\u9A8C\u3002

\u566A\u58F0\u76F8\u5173

\u566A\u58F0\u504F\u79FB\uFF08noise_offset\uFF09

\u5728\u8BAD\u7EC3\u8FC7\u7A0B\u4E2D\u52A0\u5165\u5168\u5C40\u7684\u566A\u58F0\uFF0C\u6539\u5584\u56FE\u7247\u7684\u4EAE\u5EA6\u53D8\u5316\u8303\u56F4\uFF08\u80FD\u751F\u6210\u66F4\u9ED1\u6216\u8005\u66F4\u767D\u7684\u56FE\u7247\uFF09\u3002

\u5982\u679C\u9700\u8981\u5F00\u542F\uFF0C\u63A8\u8350\u8BBE\u7F6E\u503C\u4E3A0.1\uFF0C\u540C\u65F6\u9700\u8981\u589E\u52A0\u5B66\u4E60\u6B65\u6570\u4F5C\u4E3A\u7F51\u7EDC\u6536\u655B\u66F4\u6162\u7684\u8865\u507F\u3002

\u591A\u5206\u8FA8\u7387/\u91D1\u5B57\u5854\u566A\u58F0 multires_noise_iterations\u3001multires_noise_discount

\u591A\u5206\u8FA8\u7387/\u91D1\u5B57\u5854\u566A\u58F0\u76F8\u5173\u53C2\u6570\u3002iteration\u8BBE\u7F6E\u57286-8\uFF0C\u518D\u9AD8\u63D0\u5347\u4E0D\u5927\u3002discount\u8BBE\u7F6E\u57280.3-0.8\u4E4B\u95F4\uFF0C\u66F4\u5C0F\u7684\u503C\u9700\u8981\u66F4\u591A\u6B65\u6570\u3002

\u5176\u4ED6\u4E00\u5806\u53C2\u6570

',59),c=a("li",null,[a("p",null,[a("strong",null,"CLIP_SKIP"),e(" CLIP\u6A21\u578B\u4F7F\u7528\u5012\u6570\u7B2CN\u5C42\u7684\u8F93\u51FA\uFF0C\u9700\u8981\u4E0E\u5E95\u6A21\u4F7F\u7528\u7684\u503C\u4FDD\u6301\u4E00\u81F4\uFF0C\u5982\u679C\u662F\u57FA\u4E8ENAI\u7684\u4E8C\u6B21\u5143\u6A21\u578B\uFF0C\u5E94\u5F53\u4F7F\u75282\u3002\u5982\u679C\u662FSD1.5\u7B49\u771F\u5B9E\u6A21\u578B\u5E94\u5F53\u4F7F\u75281\u3002\u751F\u6210\u65F6\u4E5F\u5E94\u8BE5\u4F7F\u7528\u540C\u6837\u7684\u503C\u3002")])],-1),l=a("strong",null,"Min-SNR-\u03B3",-1),g={href:"https://arxiv.org/abs/2303.09556",target:"_blank",rel:"noopener noreferrer"},_=a("strong",null,"\u8BBE\u7F6E\u57285\u5DE6\u53F3\u7684\u503C",-1),u=n("
  • \u6570\u636E\u589E\u5F3A\u76F8\u5173 \u6570\u636E\u589E\u5F3A\u662F\u5728\u8BAD\u7EC3\u65F6\u5B9E\u65F6\u5BF9\u56FE\u7247\u505A\u53D8\u6362\u7684\u65B9\u6CD5\uFF0C\u53EF\u7528\u4E8E\u9632\u6B62\u8FC7\u62DF\u5408\uFF0C\u80FD\u7528\u7684\u4E00\u5171\u6709\u56DB\u79CD: color_aug, flip_aug, face_crop_aug_range, random_crop\u3002 \u5176\u4E2D\u53EA\u6709\u7FFB\u8F6C\uFF08flip_aug\uFF09\u80FD\u548Ccache latent\u517C\u5BB9\uFF0C\u56E0\u4E3Alatent\u53EF\u4EE5\u76F4\u63A5\u7FFB\u8F6C\u3002 \u56DB\u79CD\u90FD\u4E0D\u63A8\u8350\u4F7F\u7528\uFF0C\u56E0\u4E3A\u88C1\u526A\u56FE\u7247\u7684\u4E24\u79CDcropping\u65B9\u6CD5\u90FD\u4F1A\u5BFC\u81F4tag\u5BF9\u5E94\u4E0D\u4E0A\u3002color_aug\u65E0\u6CD5\u542F\u7528cache latent\u5BFC\u81F4\u8BAD\u7EC3\u6162\uFF0C\u5F97\u4E0D\u507F\u5931\u3002\u7FFB\u8F6C\u7684flip_aug\u5728\u56FE\u50CF\u4E0D\u5BF9\u79F0\u7684\u60C5\u51B5\u4E0B\u8868\u73B0\u5DEE\uFF0C\u4F1A\u5BFC\u81F4\u65E0\u6CD5\u6B63\u786E\u751F\u6210\u4EBA\u7269\u4E0D\u5BF9\u79F0\u7684\u7279\u5F81\uFF08\u5218\u6D77\u3001\u53D1\u9970\u7B49\uFF09\u3002

  • max_grad_norm \u9650\u5236\u6A21\u578B\u66F4\u65B0\u68AF\u5EA6\u7684\u5927\u5C0F\uFF0C\u6539\u5584\u6570\u503C\u7A33\u5B9A\u6027\u3002\u68AF\u5EA6\u7684\u8303\u6570\u8D85\u8FC7\u8FD9\u4E2A\u503C\u5C06\u4F1A\u88AB\u7F29\u653E\u5230\u8FD9\u4E2A\u5927\u5C0F\uFF0C\u4E00\u822C\u6765\u8BF4\u65E0\u9700\u8BBE\u7F6E\u3002

  • gradient_accumulation_steps \u68AF\u5EA6\u7D2F\u79EF\u6B65\u6570\uFF0C\u7528\u4E8E\u5728\u5C0F\u663E\u5B58\u4E0A\u6A21\u62DF\u5927batch size\u7684\u6548\u679C\u3002\u5982\u679C\u663E\u5B58\u8DB3\u591F\u4F7F\u75284\u4EE5\u4E0A\u7684batch size\u5C31\u6CA1\u5FC5\u8981\u542F\u7528\u3002

  • log_with\u3001wandb_api_key \u9009\u62E9logger\u7C7B\u578B\uFF0C\u53EF\u9009tensorboard\u6216\u8005wandb\u3002\u4F7F\u7528wandb\u9700\u8981\u6307\u5B9Aapi key\u3002

  • prior_loss_weight DB\u8BAD\u7EC3\u5F53\u4E2D\u5148\u9A8C\u90E8\u5206\u7684\u6743\u91CD\uFF0C\u63A7\u5236\u6B63\u5219\u5316\u56FE\u50CF\u7684\u5F3A\u5EA6\uFF0C\u8BBA\u6587\u4E2D\u4F7F\u7528\u7684\u662F1\u7684\u503C\uFF0C\u5982\u65E0\u7279\u6B8A\u60C5\u51B5\u65E0\u9700\u66F4\u6539\u3002

  • debug_dataset \u4E0D\u8BAD\u7EC3\u6A21\u578B\uFF0C\u4EC5\u8F93\u51FA\u8BAD\u7EC3\u96C6\u5143\u6570\u636E\u548C\u8BAD\u7EC3\u53C2\u6570\u4FE1\u606F\uFF0C\u53EF\u4EE5\u7528\u6765\u68C0\u67E5\u5404\u9879\u8BBE\u7F6E\u662F\u5426\u6B63\u786E\u3002

  • vae_batch_size cache lantent\u7684\u65F6\u5019VAE\u7F16\u7801\u5668\u7684batch size\uFF0C\u548C\u8BAD\u7EC3\u6548\u679C\u65E0\u5173\u3002\u4E00\u822C\u6765\u8BF4\u4F7F\u75282-4\u53EF\u4EE5\u52A0\u901F\u4E00\u70B9cache latent\u7684\u8FC7\u7A0B\u3002\u56E0\u4E3AVAE\u7F16\u7801\u5668\u672C\u8EAB\u53C2\u6570\u91CF\u6BD4\u8F83\u5C0F\uFF0C\u5B9E\u6D4B\u5728Linux\u673A\u5668\u4E0A8G\u7684\u663E\u5361\u4E5F\u80FD\u5F00\u542F4\u3002Windows\u4E0B\u7CFB\u7EDF\u5360\u7528\u663E\u5B58\u8F83\u591A\uFF0C\u663E\u5B58\u5C0F\u4E8E10G\u4E0D\u5EFA\u8BAE\u5F00\u542F\u3002

  • ",7),b={class:"custom-container tip"},f=a("p",{class:"custom-container-title"},"TIP",-1),m=a("p",null,"\u6587\u6863\u5C1A\u672A\u5B8C\u7ED3~!",-1),x={href:"https://space.bilibili.com/12566101",target:"_blank",rel:"noopener noreferrer"},k={href:"https://space.bilibili.com/1713054",target:"_blank",rel:"noopener noreferrer"},A=a("p",null,"\u611F\u8C22 Impossib1e\u55E8 \u8D21\u732E\u7684\u5927\u91CF\u6587\u6863",-1);function L(N,w){const t=i("ExternalLinkIcon");return s(),h("div",null,[p,a("ul",null,[c,a("li",null,[a("p",null,[l,e(" \u53D1\u8868\u4E8E ICCV2023 \u4E0A\u7684\u4E00\u79CD\u52A0\u901F\u6269\u6563\u6A21\u578B\u6536\u655B\u7684\u65B9\u6CD5 "),a("a",g,[e("Efficient Diffusion Training via Min-SNR Weighting Strategy"),r(t)]),e("\u3002\u4E0D\u540C\u6837\u672C\u6279\u6B21\u7684\u5B66\u4E60\u96BE\u5EA6\u4E0D\u540C\u5BFC\u81F4\u68AF\u5EA6\u65B9\u5411\u4E0D\u4E00\u81F4\u6240\u4EE5\u6536\u655B\u6162\uFF0C\u4E8E\u662F\u5F15\u5165\u6839\u636E\u4FE1\u566A\u6BD4\u8C03\u6574\u5B66\u4E60\u7387\u6BD4\u91CD\u3002 "),_,e("\u662F\u5B9E\u9A8C\u6548\u679C\u6BD4\u8F83\u597D\u7684\u3002")])]),u]),a("div",b,[f,m,a("p",null,[e("by "),a("a",x,[e("\u79CB\u8449"),r(t)]),e(" & "),a("a",k,[e("Impossib1e\u55E8"),r(t)])]),A])])}var I=o(d,[["render",L],["__file","params.html.vue"]]);export{I as default}; 2 | --------------------------------------------------------------------------------