1+ @using OnnxStack .StableDiffusion .Config ;
2+ @using OnnxStack .StableDiffusion .Enums ;
3+ @model SchedulerOptions
4+ @{
5+ var ValidSizes = new List <int > { 64 , 128 , 192 , 256 , 320 , 384 , 448 , 512 , 576 , 640 , 704 , 768 , 832 , 896 , 960 , 1024 };
6+ }
7+
8+ @* Scheduler Parameters *@
9+ <form id =" SchedulerParameters" class =" h-100" autocomplete =" off" >
10+
11+ <div class =" d-flex flex-column flex-grow-1 pt-3" >
12+ <ul class =" nav nav-tabs" id =" tab-settings" role =" tablist" >
13+ <li class =" nav-item" role =" presentation" >
14+ <button class =" nav-link active" id =" options-tab" data-bs-toggle =" tab" data-bs-target =" #options" type =" button" role =" tab" aria-controls =" options" aria-selected =" true" >
15+ Options
16+ </button >
17+ </li >
18+ <li class =" nav-item" role =" presentation" >
19+ <button class =" nav-link" id =" advanced-tab" data-bs-toggle =" tab" data-bs-target =" #advanced" type =" button" role =" tab" aria-controls =" advanced" aria-selected =" false" >
20+ Advanced
21+ </button >
22+ </li >
23+ </ul >
24+ <div class =" tab-content" id =" tab-settings-content" >
25+
26+ @* Basic Options *@
27+ <div class =" tab-pane fade show active" id =" options" role =" tabpanel" aria-labelledby =" options-tab" >
28+
29+ <div class =" d-flex flex-column w-100 gap-2 p-1" >
30+ <div class =" d-flex flex-row gap-2" >
31+
32+ <div class =" w-100" >
33+ <small >Seed <i >(0 = Random)</i ></small >
34+ @Html.TextBoxFor( m => m.Seed, new { @class = " form-control form-control-sm" } )
35+ </div >
36+ <div class =" w-50" >
37+ <small >Width</small >
38+ @Html.DropDownListFor( m => m.Width, new SelectList(ValidSizes), new { @class = " form-control form-select-sm" } )
39+ </div >
40+ <div class =" w-50" >
41+ <small >Height</small >
42+ @Html.DropDownListFor( m => m.Height, new SelectList(ValidSizes), new { @class = " form-control form-select-sm" } )
43+ </div >
44+
45+ </div >
46+
47+ <div class =" d-flex flex-row gap-2" >
48+ <div class =" d-flex flex-column mb-2 w-100" >
49+ <small >Steps</small >
50+ <div class =" d-flex flex-row slider-container" >
51+ @Html.TextBoxFor(m => m.InferenceSteps, new { @type = " range" , @class = " slider" , min = " 4" , max = " 100" , step = " 1" } )
52+ <label >0</label >
53+ </div >
54+ </div >
55+ <div class =" d-flex flex-column mb-2 w-100" >
56+ <small >Guidance</small >
57+ <div class =" d-flex flex-row slider-container" >
58+ @Html.TextBoxFor(m => m.GuidanceScale, new { @type = " range" , @class = " slider" , min = " 0" , max = " 40" , step = " 0.1" } )
59+ <label >0</label >
60+ </div >
61+ </div >
62+ </div >
63+
64+
65+ <div class =" image2image-control" >
66+ <div class =" d-flex flex-row gap-2" >
67+ <div class =" d-flex flex-column mb-2 w-100" >
68+ <small >Initial Noise</small >
69+ <div class =" d-flex flex-row slider-container" >
70+ @Html.TextBoxFor(m => m.InitialNoiseLevel, new { @type = " range" , @class = " slider" , min = " -1" , max = " 1" , step = " 0.1" } )
71+ <label >0</label >
72+ </div >
73+ </div >
74+ <div class =" d-flex flex-column mb-2 w-100" >
75+ <small >Strength</small >
76+ <div class =" d-flex flex-row slider-container" >
77+ @Html.TextBoxFor(m => m.Strength, new { @type = " range" , @class = " slider" , min = " 0" , max = " 1" , step = " 0.01" } )
78+ <label >0</label >
79+ </div >
80+ </div >
81+ </div >
82+ </div >
83+
84+
85+
86+ </div >
87+ </div >
88+
89+ @* Advanced Options *@
90+ <div class =" tab-pane fade" id =" advanced" role =" tabpanel" aria-labelledby =" advanced-tab" >
91+ <div class =" d-flex flex-column w-100 gap-2 p-1" >
92+
93+ <div class =" d-flex flex-row align-items-center gap-2" >
94+ <div class =" w-100" >
95+ <small >TrainTimesteps</small >
96+ @Html.TextBoxFor( m => m.TrainTimesteps, new { @class = " form-control form-control-sm" } )
97+ </div >
98+
99+ <div class =" w-100" >
100+ <small >Timestep Spacing</small >
101+ @Html.DropDownListFor( m => m.TimestepSpacing, Html.GetEnumSelectList<TimestepSpacingType >(), new { @class = " form-control form-select-sm" } )
102+ </div >
103+ <div class =" w-100" >
104+ <small >StepsOffset</small >
105+ @Html.TextBoxFor( m => m.StepsOffset, new { @class = " form-control form-control-sm" } )
106+ </div >
107+ <div class =" w-100" >
108+ <div class =" d-flex flex-row align-items-center mt-3" >
109+ <input type =" checkbox" asp-for =" @Model.UseKarrasSigmas" />
110+ <small class =" ms-1" >Karras Sigmas</small >
111+ </div >
112+ </div >
113+
114+ </div >
115+
116+ <div class =" d-flex flex-row align-items-center gap-2" >
117+ <div class =" w-100" >
118+ <small >BetaSchedule</small >
119+ @Html.DropDownListFor( m => m.BetaSchedule, Html.GetEnumSelectList<BetaScheduleType >(), new { @class = " form-control form-select-sm" } )
120+ </div >
121+ <div class =" w-100" >
122+ <small >BetaStart</small >
123+ @Html.TextBoxFor( m => m.BetaStart, new { @class = " form-control form-control-sm" } )
124+ </div >
125+ <div class =" w-100" >
126+ <small >BetaEnd</small >
127+ @Html.TextBoxFor( m => m.BetaEnd, new { @class = " form-control form-control-sm" } )
128+ </div >
129+ <div class =" w-100" >
130+ <small >MaximumBeta</small >
131+ @Html.TextBoxFor( m => m.MaximumBeta, new { @class = " form-control form-control-sm" } )
132+ </div >
133+ </div >
134+
135+ <div class =" d-flex flex-row align-items-center gap-2" >
136+
137+ <div class =" w-100" >
138+ <small >Variance</small >
139+ @Html.DropDownListFor( m => m.VarianceType, Html.GetEnumSelectList<VarianceType >(), new { @class = " form-control form-select-sm" } )
140+ </div >
141+ <div class =" w-100" >
142+ <small >Prediction</small >
143+ @Html.DropDownListFor( m => m.PredictionType, Html.GetEnumSelectList<PredictionType >(), new { @class = " form-control form-select-sm" } )
144+ </div >
145+ <div class =" w-100" >
146+ <small >AlphaTransform</small >
147+ @Html.DropDownListFor( m => m.AlphaTransformType, Html.GetEnumSelectList<AlphaTransformType >(), new { @class = " form-control form-select-sm" } )
148+ </div >
149+ <div class =" w-100" >
150+ <div class =" d-flex flex-row align-items-center mt-3" >
151+ <input type =" checkbox" asp-for =" @Model.Thresholding" />
152+ <small class =" ms-1" >Thresholding</small >
153+ </div >
154+ </div >
155+ </div >
156+
157+ <div class =" d-flex flex-row align-items-center gap-2" >
158+ <div class =" w-100" >
159+ <small >ClipSampleRange</small >
160+ <input type =" text" asp-for =" @Model.ClipSampleRange" class =" form-control form-control-sm" />
161+ </div >
162+ <div class =" w-100" >
163+ <div class =" d-flex flex-row align-items-center mt-3" >
164+ <input type =" checkbox" asp-for =" @Model.ClipSample" />
165+ <small class =" ms-1" >ClipSample</small >
166+ </div >
167+ </div >
168+ <div class =" w-100" >
169+ </div >
170+ <div class =" w-100" >
171+ </div >
172+ </div >
173+ </div >
174+ </div >
175+ </div >
176+
177+ </div >
178+
179+ </form >
0 commit comments