Spaces:
Running
Running
Commit
·
bdf084e
1
Parent(s):
41a8716
Wan 1.3B 1080p
Browse files- docs/gradio/Progress.md +115 -0
- vms/config.py +120 -42
- vms/ui/app_ui.py +1 -1
- vms/ui/models/tabs/training_tab.py +1 -2
- vms/ui/project/services/training.py +5 -3
- vms/ui/project/tabs/train_tab.py +1 -1
docs/gradio/Progress.md
ADDED
@@ -0,0 +1,115 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
Progress
|
2 |
+
========
|
3 |
+
|
4 |
+
gradio.Progress(···)
|
5 |
+
|
6 |
+
### Description[](#description)
|
7 |
+
|
8 |
+
The Progress class provides a custom progress tracker that is used in a function signature. To attach a Progress tracker to a function, simply add a parameter right after the input parameters that has a default value set to a `gradio.Progress()` instance. The Progress tracker can then be updated in the function by calling the Progress object or using the `tqdm` method on an Iterable.
|
9 |
+
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
10 |
+
|
11 |
+
### Example Usage[](#example-usage)
|
12 |
+
|
13 |
+
import gradio as gr
|
14 |
+
import time
|
15 |
+
def my_function(x, progress=gr.Progress()):
|
16 |
+
progress(0, desc="Starting...")
|
17 |
+
time.sleep(1)
|
18 |
+
for i in progress.tqdm(range(100)):
|
19 |
+
time.sleep(0.1)
|
20 |
+
return x
|
21 |
+
gr.Interface(my_function, gr.Textbox(), gr.Textbox()).queue().launch()
|
22 |
+
|
23 |
+
### Initialization[](#initialization)
|
24 |
+
|
25 |
+
Parameters ▼
|
26 |
+
|
27 |
+
[🔗](#param-progress-track-tqdm)
|
28 |
+
|
29 |
+
track_tqdm: bool
|
30 |
+
|
31 |
+
default `= False`
|
32 |
+
|
33 |
+
If True, the Progress object will track any tqdm.tqdm iterations with the tqdm library in the function.
|
34 |
+
|
35 |
+
### Methods[](#methods)
|
36 |
+
|
37 |
+
### \_\_call\_\_ [%20Copyright%202022%20Fonticons,%20Inc.%20--%3e%3cpath%20d='M172.5%20131.1C228.1%2075.51%20320.5%2075.51%20376.1%20131.1C426.1%20181.1%20433.5%20260.8%20392.4%20318.3L391.3%20319.9C381%20334.2%20361%20337.6%20346.7%20327.3C332.3%20317%20328.9%20297%20339.2%20282.7L340.3%20281.1C363.2%20249%20359.6%20205.1%20331.7%20177.2C300.3%20145.8%20249.2%20145.8%20217.7%20177.2L105.5%20289.5C73.99%20320.1%2073.99%20372%20105.5%20403.5C133.3%20431.4%20177.3%20435%20209.3%20412.1L210.9%20410.1C225.3%20400.7%20245.3%20404%20255.5%20418.4C265.8%20432.8%20262.5%20452.8%20248.1%20463.1L246.5%20464.2C188.1%20505.3%20110.2%20498.7%2060.21%20448.8C3.741%20392.3%203.741%20300.7%2060.21%20244.3L172.5%20131.1zM467.5%20380C411%20436.5%20319.5%20436.5%20263%20380C213%20330%20206.5%20251.2%20247.6%20193.7L248.7%20192.1C258.1%20177.8%20278.1%20174.4%20293.3%20184.7C307.7%20194.1%20311.1%20214.1%20300.8%20229.3L299.7%20230.9C276.8%20262.1%20280.4%20306.9%20308.3%20334.8C339.7%20366.2%20390.8%20366.2%20422.3%20334.8L534.5%20222.5C566%20191%20566%20139.1%20534.5%20108.5C506.7%2080.63%20462.7%2076.99%20430.7%2099.9L429.1%20101C414.7%20111.3%20394.7%20107.1%20384.5%2093.58C374.2%2079.2%20377.5%2059.21%20391.9%2048.94L393.5%2047.82C451%206.731%20529.8%2013.25%20579.8%2063.24C636.3%20119.7%20636.3%20211.3%20579.8%20267.7L467.5%20380z'/%3e%3c/svg%3e)](#progress-__call__)
|
38 |
+
|
39 |
+
gradio.Progress.__call__(progress, ···)
|
40 |
+
|
41 |
+
#### Description [%20Copyright%202022%20Fonticons,%20Inc.%20--%3e%3cpath%20d='M172.5%20131.1C228.1%2075.51%20320.5%2075.51%20376.1%20131.1C426.1%20181.1%20433.5%20260.8%20392.4%20318.3L391.3%20319.9C381%20334.2%20361%20337.6%20346.7%20327.3C332.3%20317%20328.9%20297%20339.2%20282.7L340.3%20281.1C363.2%20249%20359.6%20205.1%20331.7%20177.2C300.3%20145.8%20249.2%20145.8%20217.7%20177.2L105.5%20289.5C73.99%20320.1%2073.99%20372%20105.5%20403.5C133.3%20431.4%20177.3%20435%20209.3%20412.1L210.9%20410.1C225.3%20400.7%20245.3%20404%20255.5%20418.4C265.8%20432.8%20262.5%20452.8%20248.1%20463.1L246.5%20464.2C188.1%20505.3%20110.2%20498.7%2060.21%20448.8C3.741%20392.3%203.741%20300.7%2060.21%20244.3L172.5%20131.1zM467.5%20380C411%20436.5%20319.5%20436.5%20263%20380C213%20330%20206.5%20251.2%20247.6%20193.7L248.7%20192.1C258.1%20177.8%20278.1%20174.4%20293.3%20184.7C307.7%20194.1%20311.1%20214.1%20300.8%20229.3L299.7%20230.9C276.8%20262.1%20280.4%20306.9%20308.3%20334.8C339.7%20366.2%20390.8%20366.2%20422.3%20334.8L534.5%20222.5C566%20191%20566%20139.1%20534.5%20108.5C506.7%2080.63%20462.7%2076.99%20430.7%2099.9L429.1%20101C414.7%20111.3%20394.7%20107.1%20384.5%2093.58C374.2%2079.2%20377.5%2059.21%20391.9%2048.94L393.5%2047.82C451%206.731%20529.8%2013.25%20579.8%2063.24C636.3%20119.7%20636.3%20211.3%20579.8%20267.7L467.5%20380z'/%3e%3c/svg%3e)](#__call__-description)
|
42 |
+
|
43 |
+
Updates progress tracker with progress and message text.
|
44 |
+
|
45 |
+
Parameters ▼
|
46 |
+
|
47 |
+
[🔗](#param-__call__-progress)
|
48 |
+
|
49 |
+
progress: float | tuple[int, int | None] | None
|
50 |
+
|
51 |
+
If float, should be between 0 and 1 representing completion. If Tuple, first number represents steps completed, and second value represents total steps or None if unknown. If None, hides progress bar.
|
52 |
+
|
53 |
+
[🔗](#param-__call__-desc)
|
54 |
+
|
55 |
+
desc: str | None
|
56 |
+
|
57 |
+
default `= None`
|
58 |
+
|
59 |
+
description to display.
|
60 |
+
|
61 |
+
[🔗](#param-__call__-total)
|
62 |
+
|
63 |
+
total: int | float | None
|
64 |
+
|
65 |
+
default `= None`
|
66 |
+
|
67 |
+
estimated total number of steps.
|
68 |
+
|
69 |
+
[🔗](#param-__call__-unit)
|
70 |
+
|
71 |
+
unit: str
|
72 |
+
|
73 |
+
default `= "steps"`
|
74 |
+
|
75 |
+
unit of iterations.
|
76 |
+
|
77 |
+
### tqdm [%20Copyright%202022%20Fonticons,%20Inc.%20--%3e%3cpath%20d='M172.5%20131.1C228.1%2075.51%20320.5%2075.51%20376.1%20131.1C426.1%20181.1%20433.5%20260.8%20392.4%20318.3L391.3%20319.9C381%20334.2%20361%20337.6%20346.7%20327.3C332.3%20317%20328.9%20297%20339.2%20282.7L340.3%20281.1C363.2%20249%20359.6%20205.1%20331.7%20177.2C300.3%20145.8%20249.2%20145.8%20217.7%20177.2L105.5%20289.5C73.99%20320.1%2073.99%20372%20105.5%20403.5C133.3%20431.4%20177.3%20435%20209.3%20412.1L210.9%20410.1C225.3%20400.7%20245.3%20404%20255.5%20418.4C265.8%20432.8%20262.5%20452.8%20248.1%20463.1L246.5%20464.2C188.1%20505.3%20110.2%20498.7%2060.21%20448.8C3.741%20392.3%203.741%20300.7%2060.21%20244.3L172.5%20131.1zM467.5%20380C411%20436.5%20319.5%20436.5%20263%20380C213%20330%20206.5%20251.2%20247.6%20193.7L248.7%20192.1C258.1%20177.8%20278.1%20174.4%20293.3%20184.7C307.7%20194.1%20311.1%20214.1%20300.8%20229.3L299.7%20230.9C276.8%20262.1%20280.4%20306.9%20308.3%20334.8C339.7%20366.2%20390.8%20366.2%20422.3%20334.8L534.5%20222.5C566%20191%20566%20139.1%20534.5%20108.5C506.7%2080.63%20462.7%2076.99%20430.7%2099.9L429.1%20101C414.7%20111.3%20394.7%20107.1%20384.5%2093.58C374.2%2079.2%20377.5%2059.21%20391.9%2048.94L393.5%2047.82C451%206.731%20529.8%2013.25%20579.8%2063.24C636.3%20119.7%20636.3%20211.3%20579.8%20267.7L467.5%20380z'/%3e%3c/svg%3e)](#progress-tqdm)
|
78 |
+
|
79 |
+
gradio.Progress.tqdm(iterable, ···)
|
80 |
+
|
81 |
+
#### Description [%20Copyright%202022%20Fonticons,%20Inc.%20--%3e%3cpath%20d='M172.5%20131.1C228.1%2075.51%20320.5%2075.51%20376.1%20131.1C426.1%20181.1%20433.5%20260.8%20392.4%20318.3L391.3%20319.9C381%20334.2%20361%20337.6%20346.7%20327.3C332.3%20317%20328.9%20297%20339.2%20282.7L340.3%20281.1C363.2%20249%20359.6%20205.1%20331.7%20177.2C300.3%20145.8%20249.2%20145.8%20217.7%20177.2L105.5%20289.5C73.99%20320.1%2073.99%20372%20105.5%20403.5C133.3%20431.4%20177.3%20435%20209.3%20412.1L210.9%20410.1C225.3%20400.7%20245.3%20404%20255.5%20418.4C265.8%20432.8%20262.5%20452.8%20248.1%20463.1L246.5%20464.2C188.1%20505.3%20110.2%20498.7%2060.21%20448.8C3.741%20392.3%203.741%20300.7%2060.21%20244.3L172.5%20131.1zM467.5%20380C411%20436.5%20319.5%20436.5%20263%20380C213%20330%20206.5%20251.2%20247.6%20193.7L248.7%20192.1C258.1%20177.8%20278.1%20174.4%20293.3%20184.7C307.7%20194.1%20311.1%20214.1%20300.8%20229.3L299.7%20230.9C276.8%20262.1%20280.4%20306.9%20308.3%20334.8C339.7%20366.2%20390.8%20366.2%20422.3%20334.8L534.5%20222.5C566%20191%20566%20139.1%20534.5%20108.5C506.7%2080.63%20462.7%2076.99%20430.7%2099.9L429.1%20101C414.7%20111.3%20394.7%20107.1%20384.5%2093.58C374.2%2079.2%20377.5%2059.21%20391.9%2048.94L393.5%2047.82C451%206.731%20529.8%2013.25%20579.8%2063.24C636.3%20119.7%20636.3%20211.3%20579.8%20267.7L467.5%20380z'/%3e%3c/svg%3e)](#tqdm-description)
|
82 |
+
|
83 |
+
Attaches progress tracker to iterable, like tqdm.
|
84 |
+
|
85 |
+
Parameters ▼
|
86 |
+
|
87 |
+
[🔗](#param-tqdm-iterable)
|
88 |
+
|
89 |
+
iterable: Iterable | None
|
90 |
+
|
91 |
+
iterable to attach progress tracker to.
|
92 |
+
|
93 |
+
[🔗](#param-tqdm-desc)
|
94 |
+
|
95 |
+
desc: str | None
|
96 |
+
|
97 |
+
default `= None`
|
98 |
+
|
99 |
+
description to display.
|
100 |
+
|
101 |
+
[🔗](#param-tqdm-total)
|
102 |
+
|
103 |
+
total: int | float | None
|
104 |
+
|
105 |
+
default `= None`
|
106 |
+
|
107 |
+
estimated total number of steps.
|
108 |
+
|
109 |
+
[🔗](#param-tqdm-unit)
|
110 |
+
|
111 |
+
unit: str
|
112 |
+
|
113 |
+
default `= "steps"`
|
114 |
+
|
115 |
+
unit of iterations.
|
vms/config.py
CHANGED
@@ -318,17 +318,17 @@ SD_16_9_H = 576 # 8*72
|
|
318 |
SD_9_16_W = 576 # 8*72
|
319 |
SD_9_16_H = 1024 # 8*128
|
320 |
|
321 |
-
#
|
322 |
-
|
323 |
-
|
324 |
-
|
325 |
-
|
326 |
-
|
327 |
-
#
|
328 |
-
|
329 |
-
|
330 |
-
|
331 |
-
|
332 |
|
333 |
# QHD (2K)
|
334 |
QHD_16_9_W = 2160 # 8*270
|
@@ -383,6 +383,11 @@ NB_FRAMES_353 = 8 * 44 + 1 # 352 + 1
|
|
383 |
NB_FRAMES_369 = 8 * 46 + 1 # 368 + 1
|
384 |
NB_FRAMES_385 = 8 * 48 + 1 # 384 + 1
|
385 |
NB_FRAMES_401 = 8 * 50 + 1 # 400 + 1
|
|
|
|
|
|
|
|
|
|
|
386 |
|
387 |
# ------ HOW BUCKETS WORK:----------
|
388 |
# Basically, to train or fine-tune a video model with Finetrainers, we need to specify all the possible accepted videos lengths AND size combinations (buckets), in the form: (BUCKET_CONFIGURATION_1, BUCKET_CONFIGURATION_2, ..., BUCKET_CONFIGURATION_N)
|
@@ -424,39 +429,111 @@ SD_TRAINING_BUCKETS = [
|
|
424 |
(NB_FRAMES_257, SD_16_9_H, SD_16_9_W), # 256 + 1
|
425 |
(NB_FRAMES_265, SD_16_9_H, SD_16_9_W), # 264 + 1
|
426 |
(NB_FRAMES_273, SD_16_9_H, SD_16_9_W), # 272 + 1
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
427 |
]
|
428 |
|
429 |
# For 1280x720 images and videos (from 1 frame up to 272)
|
430 |
-
|
431 |
-
(NB_FRAMES_1,
|
432 |
-
(NB_FRAMES_9,
|
433 |
-
(NB_FRAMES_17,
|
434 |
-
(NB_FRAMES_33,
|
435 |
-
(NB_FRAMES_49,
|
436 |
-
(NB_FRAMES_65,
|
437 |
-
(NB_FRAMES_73,
|
438 |
-
(NB_FRAMES_81,
|
439 |
-
(NB_FRAMES_89,
|
440 |
-
(NB_FRAMES_97,
|
441 |
-
(NB_FRAMES_105,
|
442 |
-
(NB_FRAMES_113,
|
443 |
-
(NB_FRAMES_121,
|
444 |
-
(NB_FRAMES_129,
|
445 |
-
(NB_FRAMES_137,
|
446 |
-
(NB_FRAMES_145,
|
447 |
-
(NB_FRAMES_161,
|
448 |
-
(NB_FRAMES_177,
|
449 |
-
(NB_FRAMES_193,
|
450 |
-
(NB_FRAMES_201,
|
451 |
-
(NB_FRAMES_209,
|
452 |
-
(NB_FRAMES_217,
|
453 |
-
(NB_FRAMES_225,
|
454 |
-
(NB_FRAMES_233,
|
455 |
-
(NB_FRAMES_241,
|
456 |
-
(NB_FRAMES_249,
|
457 |
-
(NB_FRAMES_257,
|
458 |
-
(NB_FRAMES_265,
|
459 |
-
(NB_FRAMES_273,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
460 |
]
|
461 |
|
462 |
|
@@ -466,7 +543,8 @@ MD_TRAINING_BUCKETS = [
|
|
466 |
# Resolution buckets for different models
|
467 |
RESOLUTION_OPTIONS = {
|
468 |
"SD (1024x576)": "SD_TRAINING_BUCKETS",
|
469 |
-
"HD (1280x720)": "
|
|
|
470 |
}
|
471 |
|
472 |
# Default parameters for Hunyuan Video
|
|
|
318 |
SD_9_16_W = 576 # 8*72
|
319 |
SD_9_16_H = 1024 # 8*128
|
320 |
|
321 |
+
# HD (720p)
|
322 |
+
HD_16_9_W = 1280 # 8*160
|
323 |
+
HD_16_9_H = 720 # 8*90
|
324 |
+
HD_9_16_W = 720 # 8*90
|
325 |
+
HD_9_16_H = 1280 # 8*160
|
326 |
+
|
327 |
+
# FHD (1080p)
|
328 |
+
FHD_16_9_W = 1920 # 8*240
|
329 |
+
FHD_16_9_H = 1080 # 8*135
|
330 |
+
FHD_9_16_W = 1080 # 8*135
|
331 |
+
FHD_9_16_H = 1920 # 8*240
|
332 |
|
333 |
# QHD (2K)
|
334 |
QHD_16_9_W = 2160 # 8*270
|
|
|
383 |
NB_FRAMES_369 = 8 * 46 + 1 # 368 + 1
|
384 |
NB_FRAMES_385 = 8 * 48 + 1 # 384 + 1
|
385 |
NB_FRAMES_401 = 8 * 50 + 1 # 400 + 1
|
386 |
+
NB_FRAMES_417 = 8 * 52 + 1 # 416 + 1
|
387 |
+
NB_FRAMES_433 = 8 * 54 + 1 # 432 + 1
|
388 |
+
NB_FRAMES_449 = 8 * 56 + 1 # 448 + 1
|
389 |
+
NB_FRAMES_465 = 8 * 58 + 1 # 464 + 1
|
390 |
+
NB_FRAMES_481 = 8 * 60 + 1 # 480 + 1
|
391 |
|
392 |
# ------ HOW BUCKETS WORK:----------
|
393 |
# Basically, to train or fine-tune a video model with Finetrainers, we need to specify all the possible accepted videos lengths AND size combinations (buckets), in the form: (BUCKET_CONFIGURATION_1, BUCKET_CONFIGURATION_2, ..., BUCKET_CONFIGURATION_N)
|
|
|
429 |
(NB_FRAMES_257, SD_16_9_H, SD_16_9_W), # 256 + 1
|
430 |
(NB_FRAMES_265, SD_16_9_H, SD_16_9_W), # 264 + 1
|
431 |
(NB_FRAMES_273, SD_16_9_H, SD_16_9_W), # 272 + 1
|
432 |
+
(NB_FRAMES_289, SD_16_9_H, SD_16_9_W), # 288 + 1
|
433 |
+
(NB_FRAMES_305, SD_16_9_H, SD_16_9_W), # 304 + 1
|
434 |
+
(NB_FRAMES_321, SD_16_9_H, SD_16_9_W), # 320 + 1
|
435 |
+
(NB_FRAMES_337, SD_16_9_H, SD_16_9_W), # 336 + 1
|
436 |
+
(NB_FRAMES_353, SD_16_9_H, SD_16_9_W), # 352 + 1
|
437 |
+
(NB_FRAMES_369, SD_16_9_H, SD_16_9_W), # 368 + 1
|
438 |
+
(NB_FRAMES_385, SD_16_9_H, SD_16_9_W), # 384 + 1
|
439 |
+
(NB_FRAMES_401, SD_16_9_H, SD_16_9_W), # 400 + 1
|
440 |
+
(NB_FRAMES_417, SD_16_9_H, SD_16_9_W), # 416 + 1
|
441 |
+
(NB_FRAMES_433, SD_16_9_H, SD_16_9_W), # 432 + 1
|
442 |
+
(NB_FRAMES_449, SD_16_9_H, SD_16_9_W), # 448 + 1
|
443 |
+
(NB_FRAMES_465, SD_16_9_H, SD_16_9_W), # 464 + 1
|
444 |
+
(NB_FRAMES_481, SD_16_9_H, SD_16_9_W), # 480 + 1
|
445 |
]
|
446 |
|
447 |
# For 1280x720 images and videos (from 1 frame up to 272)
|
448 |
+
HD_TRAINING_BUCKETS = [
|
449 |
+
(NB_FRAMES_1, HD_16_9_H, HD_16_9_W), # 1
|
450 |
+
(NB_FRAMES_9, HD_16_9_H, HD_16_9_W), # 8 + 1
|
451 |
+
(NB_FRAMES_17, HD_16_9_H, HD_16_9_W), # 16 + 1
|
452 |
+
(NB_FRAMES_33, HD_16_9_H, HD_16_9_W), # 32 + 1
|
453 |
+
(NB_FRAMES_49, HD_16_9_H, HD_16_9_W), # 48 + 1
|
454 |
+
(NB_FRAMES_65, HD_16_9_H, HD_16_9_W), # 64 + 1
|
455 |
+
(NB_FRAMES_73, HD_16_9_H, HD_16_9_W), # 72 + 1
|
456 |
+
(NB_FRAMES_81, HD_16_9_H, HD_16_9_W), # 80 + 1
|
457 |
+
(NB_FRAMES_89, HD_16_9_H, HD_16_9_W), # 88 + 1
|
458 |
+
(NB_FRAMES_97, HD_16_9_H, HD_16_9_W), # 96 + 1
|
459 |
+
(NB_FRAMES_105, HD_16_9_H, HD_16_9_W), # 104 + 1
|
460 |
+
(NB_FRAMES_113, HD_16_9_H, HD_16_9_W), # 112 + 1
|
461 |
+
(NB_FRAMES_121, HD_16_9_H, HD_16_9_W), # 121 + 1
|
462 |
+
(NB_FRAMES_129, HD_16_9_H, HD_16_9_W), # 128 + 1
|
463 |
+
(NB_FRAMES_137, HD_16_9_H, HD_16_9_W), # 136 + 1
|
464 |
+
(NB_FRAMES_145, HD_16_9_H, HD_16_9_W), # 144 + 1
|
465 |
+
(NB_FRAMES_161, HD_16_9_H, HD_16_9_W), # 160 + 1
|
466 |
+
(NB_FRAMES_177, HD_16_9_H, HD_16_9_W), # 176 + 1
|
467 |
+
(NB_FRAMES_193, HD_16_9_H, HD_16_9_W), # 192 + 1
|
468 |
+
(NB_FRAMES_201, HD_16_9_H, HD_16_9_W), # 200 + 1
|
469 |
+
(NB_FRAMES_209, HD_16_9_H, HD_16_9_W), # 208 + 1
|
470 |
+
(NB_FRAMES_217, HD_16_9_H, HD_16_9_W), # 216 + 1
|
471 |
+
(NB_FRAMES_225, HD_16_9_H, HD_16_9_W), # 224 + 1
|
472 |
+
(NB_FRAMES_233, HD_16_9_H, HD_16_9_W), # 232 + 1
|
473 |
+
(NB_FRAMES_241, HD_16_9_H, HD_16_9_W), # 240 + 1
|
474 |
+
(NB_FRAMES_249, HD_16_9_H, HD_16_9_W), # 248 + 1
|
475 |
+
(NB_FRAMES_257, HD_16_9_H, HD_16_9_W), # 256 + 1
|
476 |
+
(NB_FRAMES_265, HD_16_9_H, HD_16_9_W), # 264 + 1
|
477 |
+
(NB_FRAMES_273, HD_16_9_H, HD_16_9_W), # 272 + 1
|
478 |
+
(NB_FRAMES_289, HD_16_9_H, HD_16_9_W), # 288 + 1
|
479 |
+
(NB_FRAMES_305, HD_16_9_H, HD_16_9_W), # 304 + 1
|
480 |
+
(NB_FRAMES_321, HD_16_9_H, HD_16_9_W), # 320 + 1
|
481 |
+
(NB_FRAMES_337, HD_16_9_H, HD_16_9_W), # 336 + 1
|
482 |
+
(NB_FRAMES_353, HD_16_9_H, HD_16_9_W), # 352 + 1
|
483 |
+
(NB_FRAMES_369, HD_16_9_H, HD_16_9_W), # 368 + 1
|
484 |
+
(NB_FRAMES_385, HD_16_9_H, HD_16_9_W), # 384 + 1
|
485 |
+
(NB_FRAMES_401, HD_16_9_H, HD_16_9_W), # 400 + 1
|
486 |
+
(NB_FRAMES_417, HD_16_9_H, HD_16_9_W), # 416 + 1
|
487 |
+
(NB_FRAMES_433, HD_16_9_H, HD_16_9_W), # 432 + 1
|
488 |
+
(NB_FRAMES_449, HD_16_9_H, HD_16_9_W), # 448 + 1
|
489 |
+
(NB_FRAMES_465, HD_16_9_H, HD_16_9_W), # 464 + 1
|
490 |
+
(NB_FRAMES_481, HD_16_9_H, HD_16_9_W), # 480 + 1
|
491 |
+
]
|
492 |
+
|
493 |
+
# For 1920x1080 images and videos (from 1 frame up to 272)
|
494 |
+
FHD_TRAINING_BUCKETS = [
|
495 |
+
(NB_FRAMES_1, FHD_16_9_H, FHD_16_9_W), # 1
|
496 |
+
(NB_FRAMES_9, FHD_16_9_H, FHD_16_9_W), # 8 + 1
|
497 |
+
(NB_FRAMES_17, FHD_16_9_H, FHD_16_9_W), # 16 + 1
|
498 |
+
(NB_FRAMES_33, FHD_16_9_H, FHD_16_9_W), # 32 + 1
|
499 |
+
(NB_FRAMES_49, FHD_16_9_H, FHD_16_9_W), # 48 + 1
|
500 |
+
(NB_FRAMES_65, FHD_16_9_H, FHD_16_9_W), # 64 + 1
|
501 |
+
(NB_FRAMES_73, FHD_16_9_H, FHD_16_9_W), # 72 + 1
|
502 |
+
(NB_FRAMES_81, FHD_16_9_H, FHD_16_9_W), # 80 + 1
|
503 |
+
(NB_FRAMES_89, FHD_16_9_H, FHD_16_9_W), # 88 + 1
|
504 |
+
(NB_FRAMES_97, FHD_16_9_H, FHD_16_9_W), # 96 + 1
|
505 |
+
(NB_FRAMES_105, FHD_16_9_H, FHD_16_9_W), # 104 + 1
|
506 |
+
(NB_FRAMES_113, FHD_16_9_H, FHD_16_9_W), # 112 + 1
|
507 |
+
(NB_FRAMES_121, FHD_16_9_H, FHD_16_9_W), # 121 + 1
|
508 |
+
(NB_FRAMES_129, FHD_16_9_H, FHD_16_9_W), # 128 + 1
|
509 |
+
(NB_FRAMES_137, FHD_16_9_H, FHD_16_9_W), # 136 + 1
|
510 |
+
(NB_FRAMES_145, FHD_16_9_H, FHD_16_9_W), # 144 + 1
|
511 |
+
(NB_FRAMES_161, FHD_16_9_H, FHD_16_9_W), # 160 + 1
|
512 |
+
(NB_FRAMES_177, FHD_16_9_H, FHD_16_9_W), # 176 + 1
|
513 |
+
(NB_FRAMES_193, FHD_16_9_H, FHD_16_9_W), # 192 + 1
|
514 |
+
(NB_FRAMES_201, FHD_16_9_H, FHD_16_9_W), # 200 + 1
|
515 |
+
(NB_FRAMES_209, FHD_16_9_H, FHD_16_9_W), # 208 + 1
|
516 |
+
(NB_FRAMES_217, FHD_16_9_H, FHD_16_9_W), # 216 + 1
|
517 |
+
(NB_FRAMES_225, FHD_16_9_H, FHD_16_9_W), # 224 + 1
|
518 |
+
(NB_FRAMES_233, FHD_16_9_H, FHD_16_9_W), # 232 + 1
|
519 |
+
(NB_FRAMES_241, FHD_16_9_H, FHD_16_9_W), # 240 + 1
|
520 |
+
(NB_FRAMES_249, FHD_16_9_H, FHD_16_9_W), # 248 + 1
|
521 |
+
(NB_FRAMES_257, FHD_16_9_H, FHD_16_9_W), # 256 + 1
|
522 |
+
(NB_FRAMES_265, FHD_16_9_H, FHD_16_9_W), # 264 + 1
|
523 |
+
(NB_FRAMES_273, FHD_16_9_H, FHD_16_9_W), # 272 + 1
|
524 |
+
(NB_FRAMES_289, FHD_16_9_H, FHD_16_9_W), # 288 + 1
|
525 |
+
(NB_FRAMES_305, FHD_16_9_H, FHD_16_9_W), # 304 + 1
|
526 |
+
(NB_FRAMES_321, FHD_16_9_H, FHD_16_9_W), # 320 + 1
|
527 |
+
(NB_FRAMES_337, FHD_16_9_H, FHD_16_9_W), # 336 + 1
|
528 |
+
(NB_FRAMES_353, FHD_16_9_H, FHD_16_9_W), # 352 + 1
|
529 |
+
(NB_FRAMES_369, FHD_16_9_H, FHD_16_9_W), # 368 + 1
|
530 |
+
(NB_FRAMES_385, FHD_16_9_H, FHD_16_9_W), # 384 + 1
|
531 |
+
(NB_FRAMES_401, FHD_16_9_H, FHD_16_9_W), # 400 + 1
|
532 |
+
(NB_FRAMES_417, FHD_16_9_H, FHD_16_9_W), # 416 + 1
|
533 |
+
(NB_FRAMES_433, FHD_16_9_H, FHD_16_9_W), # 432 + 1
|
534 |
+
(NB_FRAMES_449, FHD_16_9_H, FHD_16_9_W), # 448 + 1
|
535 |
+
(NB_FRAMES_465, FHD_16_9_H, FHD_16_9_W), # 464 + 1
|
536 |
+
(NB_FRAMES_481, FHD_16_9_H, FHD_16_9_W), # 480 + 1
|
537 |
]
|
538 |
|
539 |
|
|
|
543 |
# Resolution buckets for different models
|
544 |
RESOLUTION_OPTIONS = {
|
545 |
"SD (1024x576)": "SD_TRAINING_BUCKETS",
|
546 |
+
"HD (1280x720)": "HD_TRAINING_BUCKETS",
|
547 |
+
"FHD (1920x1080)": "FHD_TRAINING_BUCKETS"
|
548 |
}
|
549 |
|
550 |
# Default parameters for Hunyuan Video
|
vms/ui/app_ui.py
CHANGED
@@ -9,7 +9,7 @@ from typing import Any, Optional, Dict, List, Union, Tuple
|
|
9 |
|
10 |
from vms.config import (
|
11 |
STORAGE_PATH, VIDEOS_TO_SPLIT_PATH, STAGING_PATH,
|
12 |
-
MODEL_TYPES, SD_TRAINING_BUCKETS,
|
13 |
RESOLUTION_OPTIONS,
|
14 |
DEFAULT_NB_TRAINING_STEPS, DEFAULT_SAVE_CHECKPOINT_EVERY_N_STEPS,
|
15 |
DEFAULT_BATCH_SIZE, DEFAULT_CAPTION_DROPOUT_P,
|
|
|
9 |
|
10 |
from vms.config import (
|
11 |
STORAGE_PATH, VIDEOS_TO_SPLIT_PATH, STAGING_PATH,
|
12 |
+
MODEL_TYPES, SD_TRAINING_BUCKETS, HD_TRAINING_BUCKETS, FHD_TRAINING_BUCKETS, TRAINING_TYPES, MODEL_VERSIONS,
|
13 |
RESOLUTION_OPTIONS,
|
14 |
DEFAULT_NB_TRAINING_STEPS, DEFAULT_SAVE_CHECKPOINT_EVERY_N_STEPS,
|
15 |
DEFAULT_BATCH_SIZE, DEFAULT_CAPTION_DROPOUT_P,
|
vms/ui/models/tabs/training_tab.py
CHANGED
@@ -88,9 +88,8 @@ class TrainingTab(BaseTab):
|
|
88 |
gr.Markdown(model.model_display_name or "Unknown")
|
89 |
|
90 |
with gr.Column(scale=2, min_width=20):
|
91 |
-
progress_text = f"Step {model.current_step}/{model.total_steps}"
|
92 |
gr.Markdown(progress_text)
|
93 |
-
gr.Progress(value=model.training_progress/100)
|
94 |
|
95 |
with gr.Column(scale=2, min_width=20):
|
96 |
with gr.Row():
|
|
|
88 |
gr.Markdown(model.model_display_name or "Unknown")
|
89 |
|
90 |
with gr.Column(scale=2, min_width=20):
|
91 |
+
progress_text = f"Step {model.current_step}/{model.total_steps} ({model.training_progress:.1f}%)"
|
92 |
gr.Markdown(progress_text)
|
|
|
93 |
|
94 |
with gr.Column(scale=2, min_width=20):
|
95 |
with gr.Row():
|
vms/ui/project/services/training.py
CHANGED
@@ -22,7 +22,7 @@ from typing import Any, Optional, Dict, List, Union, Tuple
|
|
22 |
from huggingface_hub import upload_folder, create_repo
|
23 |
|
24 |
from vms.config import (
|
25 |
-
TrainingConfig, RESOLUTION_OPTIONS, SD_TRAINING_BUCKETS,
|
26 |
STORAGE_PATH, HF_API_TOKEN,
|
27 |
MODEL_TYPES, TRAINING_TYPES, MODEL_VERSIONS,
|
28 |
DEFAULT_NB_TRAINING_STEPS, DEFAULT_SAVE_CHECKPOINT_EVERY_N_STEPS,
|
@@ -659,8 +659,10 @@ class TrainingService:
|
|
659 |
# Determine which buckets to use based on the selected resolution
|
660 |
if training_buckets_name == "SD_TRAINING_BUCKETS":
|
661 |
training_buckets = SD_TRAINING_BUCKETS
|
662 |
-
elif training_buckets_name == "
|
663 |
-
training_buckets =
|
|
|
|
|
664 |
else:
|
665 |
training_buckets = SD_TRAINING_BUCKETS # Default fallback
|
666 |
|
|
|
22 |
from huggingface_hub import upload_folder, create_repo
|
23 |
|
24 |
from vms.config import (
|
25 |
+
TrainingConfig, RESOLUTION_OPTIONS, SD_TRAINING_BUCKETS, HD_TRAINING_BUCKETS, FHD_TRAINING_BUCKETS,
|
26 |
STORAGE_PATH, HF_API_TOKEN,
|
27 |
MODEL_TYPES, TRAINING_TYPES, MODEL_VERSIONS,
|
28 |
DEFAULT_NB_TRAINING_STEPS, DEFAULT_SAVE_CHECKPOINT_EVERY_N_STEPS,
|
|
|
659 |
# Determine which buckets to use based on the selected resolution
|
660 |
if training_buckets_name == "SD_TRAINING_BUCKETS":
|
661 |
training_buckets = SD_TRAINING_BUCKETS
|
662 |
+
elif training_buckets_name == "HD_TRAINING_BUCKETS":
|
663 |
+
training_buckets = HD_TRAINING_BUCKETS
|
664 |
+
elif training_buckets_name == "FHD_TRAINING_BUCKETS":
|
665 |
+
training_buckets = FHD_TRAINING_BUCKETS
|
666 |
else:
|
667 |
training_buckets = SD_TRAINING_BUCKETS # Default fallback
|
668 |
|
vms/ui/project/tabs/train_tab.py
CHANGED
@@ -13,7 +13,7 @@ from pathlib import Path
|
|
13 |
from vms.utils import BaseTab
|
14 |
from vms.config import (
|
15 |
ASK_USER_TO_DUPLICATE_SPACE,
|
16 |
-
SD_TRAINING_BUCKETS,
|
17 |
RESOLUTION_OPTIONS,
|
18 |
TRAINING_TYPES, MODEL_TYPES, MODEL_VERSIONS,
|
19 |
DEFAULT_NB_TRAINING_STEPS, DEFAULT_SAVE_CHECKPOINT_EVERY_N_STEPS,
|
|
|
13 |
from vms.utils import BaseTab
|
14 |
from vms.config import (
|
15 |
ASK_USER_TO_DUPLICATE_SPACE,
|
16 |
+
SD_TRAINING_BUCKETS, HD_TRAINING_BUCKETS, FHD_TRAINING_BUCKETS,
|
17 |
RESOLUTION_OPTIONS,
|
18 |
TRAINING_TYPES, MODEL_TYPES, MODEL_VERSIONS,
|
19 |
DEFAULT_NB_TRAINING_STEPS, DEFAULT_SAVE_CHECKPOINT_EVERY_N_STEPS,
|