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,
|