Kunstig intelligens
Hvordan man træner og bruger Hunyuan Video LoRA-modeller

Denne artikel viser dig, hvordan du installerer og bruger Windows-baseret software, der kan træne Hunyuan video LoRA modeller, hvilket giver brugeren mulighed for at generere brugerdefinerede personligheder i Hunyuan Video-fundamentmodellen:
Klik for at spille. Eksempler fra den nylige eksplosion af kendte Hunyuan LoRA'er fra civit.ai-samfundet.
I øjeblikket er de to mest populære måder at generere Hunyuan LoRA-modeller lokalt på:
1) Den diffusion-pipe-ui Docker-baseret framework, som er afhængig af Windows Subsystem til Linux (WSL) til at håndtere nogle af processerne.
2) Musubi Tuner, en ny tilføjelse til det populære Kohya ss diffusionstræningsarkitektur. Musubi Tuner kræver ikke Docker og er ikke afhængig af WSL eller andre Linux-baserede proxyer – men det kan være svært at få kørende på Windows.
Derfor vil denne gennemgang fokusere på Musubi Tuner og på at levere en helt lokal løsning til Hunyuan LoRA-træning og -generering uden brug af API-drevne hjemmesider eller kommercielle GPU-lejeprocesser såsom Runpod.
Klik for at spille. Prøver fra LoRA træning på Musubi Tuner til denne artikel. Alle tilladelser givet af den afbildede person med det formål at illustrere denne artikel.
KRAV
Installationen kræver som minimum en Windows 10 pc med et 30+/40+ NVIDIA-kort, der har mindst 12 GB VRAM (selvom 16 GB anbefales). Installationen brugt til denne artikel blev testet på en maskine med 64 GB systemet RAM og et NVIDIA 3090-grafikkort med 24 GB VRAM. Det blev testet på et dedikeret test-bed-system ved hjælp af en ny installation af Windows 10 Professional på en partition med 600+GB ledig diskplads.
ADVARSEL
Installation af Musubi Tuner og dens forudsætninger indebærer også installation af udviklerfokuseret software og pakker direkte på den primære Windows-installation af en pc. Når man tager installationen af ​​ComfyUI i betragtning, vil dette projekt i slutfasen kræve omkring 400-500 gigabyte diskplads. Selvom jeg har testet proceduren uden hændelser adskillige gange i nyligt installerede testbed Windows 10-miljøer, er hverken jeg eller unite.ai ansvarlige for skader på systemer ved at følge disse instruktioner. Jeg råder dig til at sikkerhedskopiere alle vigtige data, før du forsøger denne form for installationsprocedure.
Overvejelser
Er denne metode stadig gyldig?
Den generative AI-scene bevæger sig meget hurtigt, og vi kan forvente bedre og mere strømlinede metoder til Hunyuan Video LoRA-frameworks i år.
...eller endda i denne uge! Mens jeg skrev denne artikel, producerede udvikleren af ​​Kohya/Musubi musubi-tuner-gui, en sofistikeret Gradio GUI til Musubi Tuner:
Det er klart, at en brugervenlig GUI er at foretrække frem for de BAT-filer, som jeg bruger i denne funktion - når musubi-tuner-gui fungerer. Som jeg skriver, gik det først online for fem dage siden, og jeg kan ikke finde nogen beretning om, at nogen har brugt det.
Ifølge indlæg i depotet er det meningen, at den nye GUI skal rulles direkte ind i Musubi Tuner-projektet så hurtigt som muligt, hvilket vil afslutte dets nuværende eksistens som et selvstændigt GitHub-lager.
Baseret på de nuværende installationsinstruktioner bliver den nye GUI klonet direkte ind i det eksisterende Musubi virtuelle miljø; og på trods af mange anstrengelser kan jeg ikke få det til at associere med den eksisterende Musubi-installation. Det betyder, at når den kører, vil den opdage, at den ikke har nogen motor!
Når GUI'en er integreret i Musubi Tuner, vil problemer af denne art helt sikkert blive løst. Selvom forfatteren indrømmer, at det nye projekt er 'virkelig hårdt', han er optimistisk for dets udvikling og integration direkte i Musubi Tuner.
I betragtning af disse problemer (også vedrørende standardstier på installationstidspunktet og brugen af UV Python-pakke, hvilket komplicerer visse procedurer i den nye udgivelse), bliver vi sandsynligvis nødt til at vente lidt på en jævnere Hunyuan Video LoRA træningsoplevelse. Når det er sagt, så ser det meget lovende ud!
Men hvis du ikke kan vente, og er villig til at smøge ærmerne lidt op, kan du få Hunyuan video LoRA-træning kørende lokalt lige nu.
Lad os komme igang.
Hvorfor installere Alt pĂĄ Bare Metal?
(Spring dette afsnit over, hvis du ikke er en avanceret bruger)
Avancerede brugere vil undre sig over, hvorfor jeg har valgt at installere så meget af softwaren på den rene metal Windows 10-installation i stedet for i et virtuelt miljø. Årsagen er, at den væsentlige Windows-port på Linux-baserede Triton pakke er langt sværere at få arbejde i et virtuelt miljø. Alle de andre bare-metal-installationer i vejledningen kunne ikke installeres i et virtuelt miljø, da de skal have direkte grænseflader med lokal hardware.
Installation af forudsætningspakker og programmer
For de programmer og pakker, der skal installeres i første omgang, er installationsrækkefølgen vigtig. Lad os komme i gang.
1: Download Microsoft Redistributable
Download og installer Microsoft Redistributable-pakken fra https://aka.ms/vs/17/release/vc_redist.x64.exe.
Dette er en ligetil og hurtig installation.
2: Installer Visual Studio 2022
Download Microsoft Visual Studio 2022 Community-udgaven fra https://visualstudio.microsoft.com/downloads/?cid=learn-onpage-download-install-visual-studio-page-cta
Start det downloadede installationsprogram:
Vi behøver ikke alle tilgængelige pakker, hvilket ville være en tung og langvarig installation. I starten Arbejdsbelastninger side, der åbner, sæt kryds Desktop udvikling med C++ (se billedet nedenfor).
Klik nu på Individuelle komponenter fanen øverst til venstre i brugergrænsefladen, og brug søgefeltet til at finde 'Windows SDK'.
Som standard er det kun Windows 11 SDK er afkrydset. Hvis du er pĂĄ Windows 10 (denne installationsprocedure er ikke blevet testet af mig pĂĄ Windows 11), skal du markere den seneste Windows 10-version, angivet pĂĄ billedet ovenfor.
Søg efter 'C++ CMake' og tjek det C++ CMake-værktøjer til Windows er kontrolleret.
Denne installation vil tage mindst 13 GB plads.
Når Visual Studio er installeret, vil det forsøge at køre på din computer. Lad det åbne helt. Når Visual Studios fuldskærmsgrænseflade endelig er synlig, skal du lukke programmet.
3: Installer Visual Studio 2019
Nogle af de efterfølgende pakker til Musubi forventer en ældre version af Microsoft Visual Studio, mens andre har brug for en nyere.
Download derfor også den gratis Community-udgave af Visual Studio 19 enten fra Microsoft (https://visualstudio.microsoft.com/vs/older-downloads/ – konto påkrævet) eller Techspot (https://www.techspot.com/downloads/7241-visual-studio-2019.html).
Installer det med de samme muligheder som for Visual Studio 2022 (se proceduren ovenfor, bortset fra det Windows SDK er allerede markeret i Visual Studio 2019-installationsprogrammet).
Du vil se, at installationsprogrammet til Visual Studio 2019 allerede er opmærksom på den nyere version, mens det installeres:
Når installationen er færdig, og du har åbnet og lukket det installerede Visual Studio 2019-program, skal du åbne en Windows-kommandoprompt (Type CMD i Start søgning) og skriv ind og indtast:
where cl
Resultatet skulle være de kendte placeringer af de to installerede Visual Studio-udgaver.
Hvis du i stedet fĂĄr INFO: Could not find files for the given pattern(s)
Se Tjek sti afsnittet i denne artikel nedenfor, og brug disse instruktioner til at tilføje de relevante Visual Studio-stier til Windows-miljøet.
Gem eventuelle ændringer foretaget i henhold til Tjek stier afsnittet nedenfor, og prøv derefter where cl-kommandoen igen.
4: Installer CUDA 11 + 12 værktøjssæt
De forskellige pakker installeret i Musubi har brug for forskellige versioner af NVIDIA CUDA, som accelererer og optimerer træning på NVIDIA-grafikkort.
Grunden til at vi installerede Visual Studio-versionerne første er, at NVIDIA CUDA-installatørerne søger efter og integrerer med alle eksisterende Visual Studio-installationer.
Download en 11+ serie CUDA installationspakke fra:
https://developer.nvidia.com/cuda-11-8-0-download-archive?target_os=Windows&target_arch=x86_64&target_version=11&target_type=exe_local (Hent 'exe (lokal') )
Download en 12+ serie CUDA Toolkit installationspakke fra:
https://developer.nvidia.com/cuda-downloads?target_os=Windows&target_arch=x86_64
Installationsprocessen er identisk for begge installatører. Ignorer eventuelle advarsler om eksistensen eller ikke-eksistensen af ​​installationsstier i Windows Environment-variabler - vi vil tage hånd om dette manuelt senere.
Installer NVIDIA CUDA Toolkit V11+
Start installationsprogrammet til CUDA-værktøjssættet i 11+-serien.
At Installationsindstillinger, vælg Tilpasset (avanceret) og fortsæt.
Fjern markeringen i NVIDIA GeForce Experience-indstillingen, og klik Næste.
Forlade Vælg Installationsplacering ved standardindstillinger (dette er vigtigt):
Klik Næste og lad installationen afslutte.
Ignorer enhver advarsel eller noter, som installatøren giver om Nsight Visual Studio integration, hvilket ikke er nødvendigt for vores use case.
Installer NVIDIA CUDA Toolkit V12+
Gentag hele processen for det separate 12+ NVIDIA Toolkit-installationsprogram, som du downloadede:
Installationsprocessen for denne version er identisk med den ovenfor anførte (11+ versionen), bortset fra en advarsel om miljøstier, som du kan ignorere:
Når installationen af ​​12+ CUDA-versionen er fuldført, skal du åbne en kommandoprompt i Windows og skrive og indtaste:
nvcc --version
Dette skulle bekræfte oplysninger om den installerede driverversion:
For at kontrollere, at dit kort er genkendt, skal du indtaste og indtaste:
nvidia-smi
5: Installer GIT
GIT vil håndtere installationen af ​​Musubi-lageret på din lokale maskine. Download GIT-installationsprogrammet på:
https://git-scm.com/downloads/win ('64-bit Git til Windows-opsætning')
Kør installationsprogrammet:
Brug standardindstillinger til Vælg Komponenter:
Forlad standardeditoren pĂĄ vim:
Lad GIT bestemme over filialnavne:
Brug anbefalede indstillinger til Sti Miljø:
Brug anbefalede indstillinger for SSH:
Brug anbefalede indstillinger til HTTPS Transport backend:
Brug anbefalede indstillinger til linjeafslutningskonverteringer:
Vælg Windows standardkonsol som Terminal Emulator:
Brug standardindstillinger (Spol frem eller flet) for Git Pull:
Brug Git-Credential Manager (standardindstillingen) til Credential Helper:
In Konfiguration af ekstra muligheder, forlade Aktiver filsystemcache afkrydset, og Aktiver symbolske links afkrydset (medmindre du er en avanceret bruger, der bruger hĂĄrde links til et centraliseret modellager).
Afslut installationen og test, at Git er installeret korrekt ved at ĂĄbne et CMD-vindue og skrive og indtaste:
git --version
GitHub login
Senere, når du forsøger at klone GitHub-lagre, kan du blive udfordret for dine GitHub-legitimationsoplysninger. For at forudse dette skal du logge ind på din GitHub-konto (opret en, hvis det er nødvendigt) på alle browsere, der er installeret på dit Windows-system. På denne måde bør 0Auth-godkendelsesmetoden (et pop op-vindue) tage så lidt tid som muligt.
Efter den første udfordring bør du forblive autentificeret automatisk.
6: Installer CMake
CMake 3.21 eller nyere er påkrævet til dele af Musubi installationsprocessen. CMake er en cross-platform udviklingsarkitektur, der er i stand til at orkestrere forskellige compilere og kompilere software fra kildekode.
Download det pĂĄ:
https://cmake.org/download/ ('Windows x64-installationsprogram')
Start installationsprogrammet:
Sørg Tilføj Cmake til PATH miljøvariablen er kontrolleret.
Presse Næste.
Indtast og indtast denne kommando i en Windows-kommandoprompt:
cmake --version
Hvis CMake er installeret korrekt, vil det vise noget som:
cmake version 3.31.4
CMake suite maintained and supported by Kitware (kitware.com/cmake).
7: Installer Python 3.10
Python-fortolkeren er central i dette projekt. Download 3.10-versionen (det bedste kompromis mellem de forskellige krav til Musubi-pakker) pĂĄ:
https://www.python.org/downloads/release/python-3100/ ('Windows-installationsprogram (64-bit)')
Kør download-installationsprogrammet, og forlad standardindstillingerne:
Klik i slutningen af ​​installationsprocessen Deaktiver vejlængdegrænse (kræver UAC-administratorbekræftelse):
Skriv og indtast i en Windows-kommandoprompt:
python --version
Dette burde resultere i Python 3.10.0
Tjek stier
Kloningen og installationen af ​​Musubi-rammerne, såvel som dens normale drift efter installationen, kræver, at dens komponenter kender stien til flere vigtige eksterne komponenter i Windows, især CUDA.
Så vi er nødt til at åbne stimiljøet og kontrollere, at alle fornødenheder er derinde.
En hurtig måde at komme til kontrolelementerne til Windows Environment er at skrive Rediger systemets miljøvariabler ind i Windows-søgelinjen.
Hvis du klikker på dette, åbnes System Properties kontrolpanel. Nederst til højre i System PropertiesKlik på Miljøvariabler knappen, og et vindue kaldet Miljøvariabler åbner op. I Systemvariabler panel i nederste halvdel af dette vindue, rul ned til Sti og dobbeltklik på den. Dette åbner et vindue kaldet Rediger miljøvariabler. Træk bredden af ​​dette vindue bredere, så du kan se variablernes fulde sti:
Her er de vigtige poster:
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.6\bin
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.6\libnvvp
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\bin
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\libnvvp
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\bin\Hostx64\x64
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.42.34433\bin\Hostx64\x64
C:\Program Files\Git\cmd
C:\Program Files\CMake\bin
I de fleste tilfælde burde de korrekte stivariable allerede være til stede.
Tilføj eventuelle stier, der mangler, ved at klikke Ny til venstre for Rediger miljøvariabel vindue og indsæt i den rigtige sti:
Du må IKKE bare kopiere og indsætte fra stierne ovenfor; kontrollere, at hver tilsvarende sti findes i din egen Windows-installation.
Hvis der er mindre stivariationer (især med Visual Studio-installationer), skal du bruge stierne ovenfor til at finde de korrekte målmapper (dvs. x64 in Vært 64 i din egen installation. Indsæt derefter dem stier ind i Rediger miljøvariabel vindue.
Genstart derefter computeren.
Installerer Musubi
Opgrader PIP
Brug af den seneste version af PIP-installationsprogrammet kan udjævne nogle af installationsstadierne. I en Windows kommandoprompt med administratorrettigheder (se Højde, nedenfor), skriv og indtast:
pip install --upgrade pip
Højde
Nogle kommandoer kan kræve forhøjede rettigheder (dvs. at blive kørt som administrator). Hvis du modtager fejlmeddelelser om tilladelser i de følgende trin, skal du lukke kommandopromptvinduet og genåbne det i administratortilstand ved at skrive CMD ind i Windows søgefelt ved at højreklikke på Kommandoprompt og vælge Kør som administrator:
Til de næste trin skal vi bruge Windows Powershell i stedet for Windows-kommandoprompten. Du kan finde dette ved at indtaste PowerShell ind i Windows-søgefeltet, og (efter behov) højreklikke på det for at Kør som administrator:
Installer Torch
I Powershell skal du skrive og indtaste:
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
Vær tålmodig, mens de mange pakker installeres.
Når du er færdig, kan du bekræfte en GPU-aktiveret PyTorch-installation ved at skrive og indtaste:
python -c "import torch; print(torch.cuda.is_available())"
Dette skulle resultere i:
C:\WINDOWS\system32>python -c "import torch;
print(torch.cuda.is_available())"
True
Installer Triton til Windows
Dernæst installationen af Triton til Windows komponent. I forhøjet Powershell skal du indtaste (på en enkelt linje):
pip install https://github.com/woct0rdho/triton-windows/releases/download/v3.1.0-windows.post8/triton-3.1.0-cp310-cp310-win_amd64.whl
(Installationsprogrammet triton-3.1.0-cp310-cp310-win_amd64.whl
fungerer for både Intel- og AMD-CPU'er, så længe arkitekturen er 64-bit og miljøet matcher Python-versionen)
Efter kørsel skulle dette resultere i:
Successfully installed triton-3.1.0
Vi kan kontrollere, om Triton virker ved at importere det i Python. Indtast denne kommando:
python -c "import triton; print('Triton is working')"
Dette skal udsende:
Triton is working
For at kontrollere, at Triton er GPU-aktiveret, skal du indtaste:
python -c "import torch; print(torch.cuda.is_available())"
Dette burde resultere i True
:
Opret det virtuelle miljø til Musubi
Fra nu af vil vi installere yderligere software i en Python virtuelt miljø (eller venvDet betyder, at alt du skal gøre for at afinstallere al følgende software er at trække venv's installationsmappe til papirkurven.
Lad os oprette installationsmappen: lav en mappe kaldet Musubi på dit skrivebord. Følgende eksempler antager, at denne mappe eksisterer: C:\Users\[Your Profile Name]\Desktop\Musubi\
.
I Powershell skal du navigere til den mappe ved at indtaste:
cd C:\Users\[Your Profile Name]\Desktop\Musubi
Vi ønsker, at det virtuelle miljø skal have adgang til det, vi allerede har installeret (især Triton), så vi vil bruge --system-site-packages
flag. Indtast dette:
python -m venv --system-site-packages musubi
Vent på, at miljøet er oprettet, og aktiver det derefter ved at indtaste:
.\musubi\Scripts\activate
Fra dette tidspunkt kan du se, at du er i det aktiverede virtuelle miljø, ved at (musubi) vises i begyndelsen af ​​alle dine prompter.
Klon depotet
Naviger til den nyoprettede Musubi mappe (som er inde i Musubi mappe pĂĄ dit skrivebord):
cd musubi
Nu hvor vi er på det rigtige sted, skal du indtaste følgende kommando:
git clone https://github.com/kohya-ss/musubi-tuner.git
Vent på, at kloningen er fuldført (det vil ikke tage lang tid).
Installationskrav
Naviger til installationsmappen:
cd musubi-tuner
Enter:
pip install -r requirements.txt
Vent til de mange installationer er færdige (dette vil tage længere tid).
Automatisering af adgang til Hunyuan Video Venv
For nemt at aktivere og få adgang til den nye venv til fremtidige sessioner skal du indsætte følgende i Notesblok og gemme den med navnet aktivere.bat, gemmer det med Alle filer mulighed (se billedet nedenfor).
@echo off
call C:\Users\[Your Profile Name]\Desktop\Musubi\musubi\Scripts\activate
cd C:\Users\[Your Profile Name]\Desktop\Musubi\musubi\musubi-tuner
cmd
(Erstatte [Your Profile Name]
med det rigtige navn pĂĄ din Windows-brugerprofil)
Det er ligegyldigt, hvor du gemmer denne fil.
Fra nu af kan du dobbeltklikke aktivere.bat og begynde arbejdet med det samme.
Bruger Musubi Tuner
Download af modellerne
Hunyuan Video LoRA træningsprocessen kræver download af mindst syv modeller for at understøtte alle de mulige optimeringsmuligheder for pre-caching og træning af en Hunyuan video LoRA. Tilsammen vejer disse modeller mere end 60 GB.
Aktuelle instruktioner til at downloade dem kan findes pĂĄ https://github.com/kohya-ss/musubi-tuner?tab=readme-ov-file#model-download
Dette er dog downloadinstruktionerne i skrivende stund:
clip_l.safetensors
og
llava_llama3_fp16.safetensors
llava_llama3_fp8_scaled.safetensors
kan downloades pĂĄ:
https://huggingface.co/Comfy-Org/HunyuanVideo_repackaged/tree/main/split_files/text_encoders
mp_rank_00_model_states.pt
og
mp_rank_00_model_states_fp8.pt
mp_rank_00_model_states_fp8_map.pt
kan downloades pĂĄ:
https://huggingface.co/tencent/HunyuanVideo/tree/main/hunyuan-video-t2v-720p/transformers
pytorch_model.pt
kan downloades pĂĄ:
https://huggingface.co/tencent/HunyuanVideo/tree/main/hunyuan-video-t2v-720p/vae
Selvom du kan placere disse i en hvilken som helst mappe, du vælger, lad os for at sikre konsistens med senere scripting placere dem i:
C:\Users\[Your Profile Name]\Desktop\Musubi\musubi\musubi-tuner\models\
Dette stemmer overens med mappestrukturen før dette punkt. Alle kommandoer eller instruktioner herefter antager, at det er her, modellerne er placeret; og glem ikke at erstatte [Dit profilnavn] med dit rigtige Windows-profilmappenavn.
Forberedelse af datasæt
Hvis man ser bort fra den kontrovers, der er i samfundet, kan man roligt sige, at man skal bruge et sted mellem 10-100 fotos til et træningsdatasæt til sin Hunyuan LoRA. Man kan opnå meget gode resultater selv med 15 billeder, så længe billederne er velafbalancerede og af god kvalitet.
En Hunyuan LoRA kan trænes både på billeder eller meget korte og lavopløselige videoklip, eller endda en blanding af hvert – selvom det er udfordrende at bruge videoklip som træningsdata, selv for et 24 GB-kort.
Men videoklip er kun virkelig nyttige, hvis din karakter bevæger sig på en så usædvanlig måde, at Hunyuan Video-fundamentmodellen måske ikke kender til det, eller være i stand til at gætte.
Eksempler vil omfatte Roger Rabbit, en xenomorph, The Mask, Spider-Man eller andre personligheder, der besidder enestående karakteristisk bevægelse.
Da Hunyuan Video allerede ved, hvordan almindelige mænd og kvinder bevæger sig, er videoklip ikke nødvendige for at opnå en overbevisende Hunyuan Video LoRA mennesketype. Så vi bruger statiske billeder.
Billedforberedelse
The Bucket List
TLDR-versionen:
Det er bedst enten at bruge billeder, der alle har samme størrelse til dit datasæt, eller at bruge en 50/50-fordeling mellem to forskellige størrelser, dvs. 10 billeder, der er 512x768px, og 10, der er 768x512px.
Træningen kan gå godt, selvom du ikke gør dette – Hunyuan Video LoRA'er kan være overraskende tilgivende.
Den længere version
Som med Kohya-ss LoRA'er til statiske generative systemer såsom stabil diffusion, bucketing bruges til at fordele arbejdsbyrden på tværs af billeder i forskellig størrelse, hvilket gør det muligt at bruge større billeder uden at forårsage fejl på grund af manglende hukommelse under træningstidspunktet (dvs. bucketing 'klipper' billederne op i bidder, som GPU'en kan håndtere, samtidig med at den semantiske integritet af hele billedet opretholdes).
For hver billedstørrelse, du inkluderer i dit træningsdatasæt (dvs. 512x768px), oprettes en bucket eller 'underopgave' for den størrelse. Så hvis du har følgende fordeling af billeder, bliver bucket-opmærksomheden ubalanceret på denne måde, og der er risiko for, at nogle fotos får større vægt i træningen end andre:
2x 512x768px billeder
7x 768x512px billeder
1x 1000x600px billede
3x 400x800px billeder
Vi kan se, at bucket opmærksomhed er ulige fordelt mellem disse billeder:
Derfor skal du enten holde dig til én formatstørrelse, eller forsøge at holde fordelingen af ​​forskellige størrelser relativt lige.
I begge tilfælde skal du undgå meget store billeder, da dette sandsynligvis vil bremse træningen, til ubetydelig fordel.
For nemheds skyld har jeg brugt 512x768px til alle billederne i mit datasæt.
Disclaimer: Modellen (personen), der blev brugt i datasættet, gav mig fuld tilladelse til at bruge disse billeder til dette formål og udøvede godkendelse af alt AI-baseret output, der skildrede hendes lighed, der er omtalt i denne artikel.
Mit datasæt består af 40 billeder i PNG-format (selvom JPG også er fint). Mine billeder blev gemt kl C:\Users\Martin\Desktop\DATASETS_HUNYUAN\examplewoman
Du skal oprette en cache mappe i træningsbilledmappen:
Lad os nu oprette en særlig fil, der konfigurerer træningen.
TOML filer
Trænings- og pre-caching-processerne i Hunyuan Video LoRA'er henter filstierne fra en flad tekstfil med .toml udvidelse.
Til min test er TOML placeret pĂĄ C:\Users\Martin\Desktop\DATASETS_HUNYUAN\training.toml
Indholdet af min træning TOML ser således ud:
[general]
resolution = [512, 768]
caption_extension = ".txt"
batch_size = 1
enable_bucket = true
bucket_no_upscale = false
[[datasets]]
image_directory = "C:\\Users\\Martin\\Desktop\\DATASETS_HUNYUAN\\examplewoman"
cache_directory = "C:\\Users\\Martin\\Desktop\\DATASETS_HUNYUAN\\examplewoman\\cache"
num_repeats = 1
(De dobbelte back-slashes for billed- og cache-mapper er ikke altid nødvendige, men de kan hjælpe med at undgå fejl i tilfælde, hvor der er plads i stien. Jeg har trænet modeller med .toml-filer, der brugte single-forward og single- baglæns skråstreg)
Vi kan se i resolution
afsnit, at to opløsninger vil blive overvejet – 512px og 768px. Du kan også lade dette stå på 512 og stadig opnå gode resultater.
Billedtekster
Hunyuan Video er en tekst+vision foundation model, så vi har brug for beskrivende billedtekster til disse billeder, som vil blive overvejet under træningen. Træningsprocessen vil mislykkes uden billedtekster.
Der er en mangfoldighed af open source-tekstningssystemer, vi kunne bruge til denne opgave, men lad os holde det enkelt og bruge taggui system. Selvom det er gemt på GitHub, og selvom det downloader nogle meget tunge deep learning-modeller ved første kørsel, kommer det i form af en simpel Windows-eksekverbar fil, der indlæser Python-biblioteker og en ligetil GUI.
Efter start af Taggui, brug Fil > Indlæs bibliotek for at navigere til dit billeddatasæt og eventuelt sætte en token-id (i dette tilfælde, eksempelkvinde), der vil blive tilføjet til alle billedteksterne:
(Sørg for at slukke Indlæs i 4-bit når Taggui åbner første gang – vil det give fejl under billedtekster, hvis dette er tændt)
Vælg et billede i den venstre forhåndsvisningskolonne, og tryk på CTRL+A for at vælge alle billederne. Tryk derefter på knappen Start automatisk billedtekst til højre:
Du vil se Taggui downloade modeller i den lille CLI i højre kolonne, men kun hvis det er første gang, du kører billedteksten. Ellers vil du se en forhåndsvisning af billedteksterne.
Nu har hvert billede en tilsvarende .txt-tekst med en beskrivelse af dets billedindhold:
Du kan klikke Avancerede indstillinger i Taggui for at øge længden og stilen af ​​billedtekster, men det er uden for rammerne af denne gennemgang.
Stop Taggui, og lad os gå videre til…
Latent Pre-Caching
For at undgå overdreven GPU-belastning på træningstidspunktet er det nødvendigt at oprette to typer præ-cachede filer – en til at repræsentere det latente billede, der stammer fra selve billederne, og en anden til at evaluere en tekstkodning relateret til billedtekstindhold.
For at forenkle alle tre processer (2x cache + træning), kan du bruge interaktive .BAT-filer, der stiller dig spørgsmål og udfører processerne, når du har givet de nødvendige oplysninger.
For den latente pre-caching skal du kopiere følgende tekst til Notesblok og gemme den som en .BAT-fil (dvs. navngive den noget lignende latent-precache.bat), som tidligere ved at sikre, at filtypen i rullemenuen i Gem som dialog er Alle filer (se billedet nedenfor):
@echo off
REM Activate the virtual environment
call C:\Users\[Your Profile Name]\Desktop\Musubi\musubi\Scripts\activate.bat
REM Get user input
set /p IMAGE_PATH=Enter the path to the image directory:
set /p CACHE_PATH=Enter the path to the cache directory:
set /p TOML_PATH=Enter the path to the TOML file:
echo You entered:
echo Image path: %IMAGE_PATH%
echo Cache path: %CACHE_PATH%
echo TOML file path: %TOML_PATH%
set /p CONFIRM=Do you want to proceed with latent pre-caching (y/n)?
if /i "%CONFIRM%"=="y" (
REM Run the latent pre-caching script
python C:\Users\[Your Profile Name]\Desktop\Musubi\musubi\musubi-tuner\cache_latents.py --dataset_config %TOML_PATH% --vae C:\Users\[Your Profile Name]\Desktop\Musubi\musubi\musubi-tuner\models\pytorch_model.pt --vae_chunk_size 32 --vae_tiling
) else (
echo Operation canceled.
)
REM Keep the window open
pause
(Sørg for at udskifte [Dit profilnavn] med dit rigtige Windows-profilmappenavn)
Nu kan du køre .BAT-filen til automatisk latent caching:
Når du bliver bedt om det af de forskellige spørgsmål fra BAT-filen, indsæt eller skriv stien til dit datasæt, cache-mapper og TOML-fil.
Tekst Pre-Caching
Vi opretter en anden BAT-fil, denne gang til tekst-pre-caching.
@echo off
REM Activate the virtual environment
call C:\Users\[Your Profile Name]\Desktop\Musubi\musubi\Scripts\activate.bat
REM Get user input
set /p IMAGE_PATH=Enter the path to the image directory:
set /p CACHE_PATH=Enter the path to the cache directory:
set /p TOML_PATH=Enter the path to the TOML file:
echo You entered:
echo Image path: %IMAGE_PATH%
echo Cache path: %CACHE_PATH%
echo TOML file path: %TOML_PATH%
set /p CONFIRM=Do you want to proceed with text encoder output pre-caching (y/n)?
if /i "%CONFIRM%"=="y" (
REM Use the python executable from the virtual environment
python C:\Users\[Your Profile Name]\Desktop\Musubi\musubi\musubi-tuner\cache_text_encoder_outputs.py --dataset_config %TOML_PATH% --text_encoder1 C:\Users\[Your Profile Name]\Desktop\Musubi\musubi\musubi-tuner\models\llava_llama3_fp16.safetensors --text_encoder2 C:\Users\[Your Profile Name]\Desktop\Musubi\musubi\musubi-tuner\models\clip_l.safetensors --batch_size 16
) else (
echo Operation canceled.
)
REM Keep the window open
pause
Udskift dit Windows-profilnavn og gem dette som text-cache.bat (eller et hvilket som helst andet navn, du kan lide), pĂĄ et hvilket som helst passende sted i henhold til proceduren for den forrige BAT-fil.
Kør denne nye BAT-fil, følg instruktionerne, og de nødvendige tekstkodede filer vises i cache folder:
Træning af Hunyuan Video Lora
Træning af selve LoRA vil tage betydeligt længere tid end disse to forberedende processer.
Selvom der også er flere variabler, vi kan bekymre os om (såsom batchstørrelse, gentagelser, epoker og om man skal bruge fulde eller kvantiserede modeller, blandt andet), gemmer vi disse overvejelser til en anden dag og et dybere kig på detaljerne ved LoRA-oprettelse.
Lad os nu minimere valgmulighederne lidt og træne en LoRA på 'median'-indstillinger.
Vi opretter en tredje BAT-fil, denne gang for at starte træningen. Indsæt denne i Notesblok og gem den som en BAT-fil, ligesom før, som træning.bat (eller hvilket som helst navn du vil):
@echo off
REM Activate the virtual environment
call C:\Users\[Your Profile Name]\Desktop\Musubi\musubi\Scripts\activate.bat
REM Get user input
set /p DATASET_CONFIG=Enter the path to the dataset configuration file:
set /p EPOCHS=Enter the number of epochs to train:
set /p OUTPUT_NAME=Enter the output model name (e.g., example0001):
set /p LEARNING_RATE=Choose learning rate (1 for 1e-3, 2 for 5e-3, default 1e-3):
if "%LEARNING_RATE%"=="1" set LR=1e-3
if "%LEARNING_RATE%"=="2" set LR=5e-3
if "%LEARNING_RATE%"=="" set LR=1e-3
set /p SAVE_STEPS=How often (in steps) to save preview images:
set /p SAMPLE_PROMPTS=What is the location of the text-prompt file for training previews?
echo You entered:
echo Dataset configuration file: %DATASET_CONFIG%
echo Number of epochs: %EPOCHS%
echo Output name: %OUTPUT_NAME%
echo Learning rate: %LR%
echo Save preview images every %SAVE_STEPS% steps.
echo Text-prompt file: %SAMPLE_PROMPTS%
REM Prepare the command
set CMD=accelerate launch --num_cpu_threads_per_process 1 --mixed_precision bf16 ^
C:\Users\[Your Profile Name]\Desktop\Musubi\musubi\musubi-tuner\hv_train_network.py ^
--dit C:\Users\[Your Profile Name]\Desktop\Musubi\musubi\musubi-tuner\models\mp_rank_00_model_states.pt ^
--dataset_config %DATASET_CONFIG% ^
--sdpa ^
--mixed_precision bf16 ^
--fp8_base ^
--optimizer_type adamw8bit ^
--learning_rate %LR% ^
--gradient_checkpointing ^
--max_data_loader_n_workers 2 ^
--persistent_data_loader_workers ^
--network_module=networks.lora ^
--network_dim=32 ^
--timestep_sampling sigmoid ^
--discrete_flow_shift 1.0 ^
--max_train_epochs %EPOCHS% ^
--save_every_n_epochs=1 ^
--seed 42 ^
--output_dir "C:\Users\[Your Profile Name]\Desktop\Musubi\Output Models" ^
--output_name %OUTPUT_NAME% ^
--vae C:/Users/[Your Profile Name]/Desktop/Musubi/musubi/musubi-tuner/models/pytorch_model.pt ^
--vae_chunk_size 32 ^
--vae_spatial_tile_sample_min_size 128 ^
--text_encoder1 C:/Users/[Your Profile Name]/Desktop/Musubi/musubi/musubi-tuner/models/llava_llama3_fp16.safetensors ^
--text_encoder2 C:/Users/[Your Profile Name]/Desktop/Musubi/musubi/musubi-tuner/models/clip_l.safetensors ^
--sample_prompts %SAMPLE_PROMPTS% ^
--sample_every_n_steps %SAVE_STEPS% ^
--sample_at_first
echo The following command will be executed:
echo %CMD%
set /p CONFIRM=Do you want to proceed with training (y/n)?
if /i "%CONFIRM%"=="y" (
%CMD%
) else (
echo Operation canceled.
)
REM Keep the window open
cmd /k
Som sædvanlig skal du sørge for at erstatte alle forekomster of [Dit profilnavn] med dit korrekte Windows-profilnavn.
Sørg for, at mappen C:\Users\[Your Profile Name]\Desktop\Musubi\Output Models\
eksisterer, og opret den pĂĄ det sted, hvis ikke.
Træningsforhåndsvisninger
Der er en meget grundlæggende trænings-preview-funktion, der for nylig er aktiveret for Musubi Trainer, som giver dig mulighed for at tvinge træningsmodellen til at pause og generere billeder baseret på prompter, du har gemt. Disse gemmes i en automatisk oprettet mappe kaldet Prøve, i samme bibliotek, som de trænede modeller er gemt.
For at aktivere dette skal du til sidst gemme en prompt i en tekstfil. Den trænings-BAT, vi oprettede, vil bede dig om at indtaste placeringen af ​​denne fil; derfor kan du navngive promptfilen til at være hvad som helst du kan lide, og gemme den hvor som helst.
Her er nogle hurtige eksempler på en fil, der udsender tre forskellige billeder, når træningsrutinen anmoder om det:
Som du kan se i eksemplet ovenfor, kan du sætte flag i slutningen af ​​prompten, der vil påvirke billederne:
-w er bredde (standard til 256px, hvis det ikke er indstillet, ifølge dokumenterne)
-h er højde (standard til 256px, hvis ikke indstillet)
–f er antal rammer. Hvis indstillet til 1, produceres et billede; mere end én, en video.
–d er frøet. Hvis den ikke er indstillet, er den tilfældig; men du bør indstille den til at se en prompt udvikle sig.
–s er antallet af trin i generering, som standard er 20.
Se den officielle dokumentation for yderligere flag.
Selvom træningseksempler hurtigt kan afsløre nogle problemer, der kan få dig til at annullere træningen og genoverveje dataene eller opsætningen og dermed spare tid, så husk, at hver ekstra prompt bremser træningen lidt mere.
Jo større bredde og højde træningsforhåndsvisningsbilledet har (som angivet i flagene ovenfor), desto mere vil det bremse træningen.
Start din trænings BAT-fil.
Spørgsmål #1 er 'Indtast stien til datasætkonfigurationen. Indsæt eller skriv den korrekte sti til din TOML-fil.
Spørgsmål #2 er 'Indtast antallet af epoker, der skal trænes'. Dette er en variabel, der kan prøves og fejles, da den påvirkes af mængden og kvaliteten af ​​billeder, samt billedtekster og andre faktorer. Generelt er det bedre at sætte den for høj end for lav, da du altid kan stoppe træningen med Ctrl+C i træningsvinduet, hvis du synes, at modellen er avanceret nok. Indstil den til 100 i første omgang, og se, hvordan det går.
Spørgsmål #3 er 'Indtast outputmodellens navn'. Navngiv din model! Det kan være bedst at holde navnet rimelig kort og enkelt.
Spørgsmål #4 er 'Vælg læringshastighed', som som standard er 1e-3 (mulighed 1). Dette er et godt sted at starte, i afventning af yderligere erfaring.
Spørgsmål #5 er 'Hvor ofte (i trin) at gemme forhåndsvisningsbilleder. Hvis du indstiller dette for lavt, vil du se små fremskridt mellem lagring af forhåndsvisningsbilleder, og det vil bremse træningen.
Spørgsmål #6 er 'Hvad er placeringen af ​​tekstpromptfilen til træningsforhåndsvisninger?'. Indsæt eller skriv stien til din prompttekstfil.
BAT'en viser dig derefter kommandoen, den vil sende til Hunyuan-modellen, og spørger dig, om du vil fortsætte, y/n.
Gå videre og begynd træningen:
Hvis du i løbet af denne tid tjekker GPU-sektionen under fanen Ydeevne i Windows Jobliste, vil du se, at processen bruger omkring 16 GB VRAM.
Dette er måske ikke et vilkårligt tal, da dette er mængden af ​​VRAM, der er tilgængelig på en del NVIDIA-grafikkort, og upstream-koden kan være blevet optimeret til at passe opgaverne ind på 16 GB til gavn for dem, der ejer sådanne kort.
Når det er sagt, er det meget nemt at hæve denne brug ved at sende flere ublu flag til træningskommandoen.
Under træningen vil du i nederste højre side af CMD-vinduet se et tal for, hvor meget tid der er gået, siden træningen begyndte, og et estimat af den samlede træningstid (som vil variere meget afhængigt af de indstillede flag, antallet af træningsbilleder, antallet af træningsforhåndsvisningsbilleder og flere andre faktorer).
En typisk træningstid er omkring 3-4 timer på medianindstillinger, afhængigt af tilgængelig hardware, antal billeder, flagindstillinger og andre faktorer.
Brug af dine trænede LoRA-modeller i Hunyuan-video
Valg af kontrolpunkter
Når træningen er afsluttet, vil du have et modelkontrolpunkt for hver træningsepoke.
Denne gemmefrekvens kan ændres af brugeren for at gemme mere eller mindre hyppigt efter ønske ved at ændre --save_every_n_epochs [N]
nummer i trænings BAT-filen. Hvis du tilføjede et lavt tal for spare-per-trin, når du opretter træning med BAT, vil der være et højt antal gemte kontrolpunktfiler.
Hvilket kontrolpunkt skal du vælge?
Som tidligere nævnt vil de tidligst trænede modeller være mest fleksible, mens de senere checkpoints kan byde på flest detaljer. Den eneste måde at teste for disse faktorer er at køre nogle af LoRA'erne og generere et par videoer. På denne måde kan du få at vide, hvilke checkpoints der er mest produktive og repræsenterer den bedste balance mellem fleksibilitet og troskab.
ComfyUI
Det mest populære (men ikke det eneste) miljø til brug af Hunyuan Video LoRA'er i øjeblikket er ComfyUI, en node-baseret editor med en omfattende Gradio-grænseflade, der kører i din webbrowser.

Kilde: https://github.com/comfyanonymous/ComfyUI
Installationsvejledningen er ligetil og tilgængelig på det officielle GitHub-lager (yderligere modeller skal downloades).
Konvertering af modeller til ComfyUI
Dine trænede modeller gemmes i et (diffuser) format, der ikke er kompatibelt med de fleste implementeringer af ComfyUI. Musubi kan konvertere en model til et ComfyUI-kompatibelt format. Lad os opsætte en BAT-fil for at implementere dette.
Før du kører denne BAT, skal du oprette C:\Users\[Your Profile Name]\Desktop\Musubi\CONVERTED\
mappe, som scriptet forventer.
@echo off
REM Activate the virtual environment
call C:\Users\[Your Profile Name]\Desktop\Musubi\musubi\Scripts\activate.bat
:START
REM Get user input
set /p INPUT_PATH=Enter the path to the input Musubi safetensors file (or type "exit" to quit):
REM Exit if the user types "exit"
if /i "%INPUT_PATH%"=="exit" goto END
REM Extract the file name from the input path and append 'converted' to it
for %%F in ("%INPUT_PATH%") do set FILENAME=%%~nF
set OUTPUT_PATH=C:\Users\[Your Profile Name]\Desktop\Musubi\Output Models\CONVERTED\%FILENAME%_converted.safetensors
set TARGET=other
echo You entered:
echo Input file: %INPUT_PATH%
echo Output file: %OUTPUT_PATH%
echo Target format: %TARGET%
set /p CONFIRM=Do you want to proceed with the conversion (y/n)?
if /i "%CONFIRM%"=="y" (
REM Run the conversion script with correctly quoted paths
python C:\Users\[Your Profile Name]\Desktop\Musubi\musubi\musubi-tuner\convert_lora.py --input "%INPUT_PATH%" --output "%OUTPUT_PATH%" --target %TARGET%
echo Conversion complete.
) else (
echo Operation canceled.
)
REM Return to start for another file
goto START
:END
REM Keep the window open
echo Exiting the script.
pause
Som med de tidligere BAT-filer skal du gemme scriptet som 'Alle filer' fra Notesblok og navngive det convert.bat (eller hvad du nu kan lide).
Når den er gemt, skal du dobbeltklikke på den nye BAT-fil, som vil bede om placeringen af ​​en fil, der skal konverteres.
Indsæt eller skriv stien til den trænede fil, du vil konvertere, klik y
, og tryk pĂĄ Enter.
Efter at have gemt den konverterede LoRA til KONVERTERT mappe, vil scriptet spørge, om du vil konvertere en anden fil. Hvis du vil teste flere kontrolpunkter i ComfyUI, skal du konvertere et udvalg af modellerne.
NĂĄr du har konverteret nok kontrolpunkter, skal du lukke BAT-kommandovinduet.
Du kan nu kopiere dine konverterede modeller til mappen models\loras i din ComfyUI-installation.
Typisk er den korrekte placering noget som:
C:\Users\[Your Profile Name]\Desktop\ComfyUI\models\loras\
Oprettelse af Hunyuan Video LoRA'er i ComfyUI
Selvom de nodebaserede arbejdsgange i ComfyUI virker komplekse i starten, kan indstillingerne for andre mere erfarne brugere indlæses ved at trække et billede (lavet med den anden brugers ComfyUI) direkte ind i ComfyUI-vinduet. Arbejdsgange kan også eksporteres som JSON-filer, som kan importeres manuelt eller trækkes ind i et ComfyUI-vindue.
Nogle importerede arbejdsgange vil have afhængigheder, der muligvis ikke findes i din installation. Installer derfor ComfyUI-Manager, som kan hente manglende moduler automatisk.

Kilde: https://github.com/ltdrdata/ComfyUI-Manager
For at indlæse en af ​​de arbejdsgange, der bruges til at generere videoer fra modellerne i denne vejledning, skal du downloade denne JSON-fil og træk det ind i dit ComfyUI-vindue (selvom der er langt bedre workflow-eksempler tilgængelige på de forskellige Reddit- og Discord-fællesskaber, der har adopteret Hunyuan Video, og min egen er tilpasset fra en af ​​disse).
Dette er ikke stedet for en udvidet tutorial i brugen af ​​ComfyUI, men det er værd at nævne et par af de afgørende parametre, der vil påvirke dit output, hvis du downloader og bruger JSON-layoutet, som jeg linkede til ovenfor.
1) Bredde og Højde
Jo større dit billede er, desto længere tid vil generationen tage, og jo højere er risikoen for en out-of-memory (OOM) fejl.
2) Længde
Dette er den numeriske værdi for antallet af billeder. Hvor mange sekunder det tæller, afhænger af billedhastigheden (indstillet til 30 fps i dette layout). Du kan konvertere sekunder>frames baseret på fps hos Omnicalculator.
3) Batchstørrelse
Jo højere du indstiller batchstørrelsen, jo hurtigere kan resultatet komme, men jo større byrde af VRAM. Indstil dette for højt, og du kan få en OOM.
4) Kontrol efter generering
Dette styrer det tilfældige frø. Indstillingerne for denne undernode er fast, tilvækst, nedsættelse og Randomize. Hvis du forlader den kl fast og lad være med at ændre tekstprompten, du får det samme billede hver gang. Hvis du ændrer tekstprompten, ændres billedet i begrænset omfang. De tilvækst og nedsættelse indstillinger giver dig mulighed for at udforske nærliggende frøværdier, mens Randomize giver dig en helt ny fortolkning af prompten.
5) Lora Navn
Du skal vælge din egen installerede model her, før du forsøger at generere.
6) Token
Hvis du har trænet din model til at udløse konceptet med en token, (f.eks 'eksempelperson'), sæt det udløsende ord i din prompt.
7) Trin
Dette repræsenterer, hvor mange trin systemet vil anvende på diffusionsprocessen. Højere trin kan få bedre detaljer, men der er et loft over, hvor effektiv denne tilgang er, og den tærskel kan være svær at finde. Den almindelige række af trin er omkring 20-30.
8) Flisestørrelse
Dette definerer, hvor meget information der håndteres ad gangen under genereringen. Den er som standard indstillet til 256. At hæve den kan fremskynde genereringen, men at hæve den for meget kan føre til en særlig frustrerende OOM-oplevelse, da det kommer i slutningen af ​​en lang proces.
9) Tidsmæssigt overlap
Hunyuan-videogenerering af mennesker kan føre til 'ghosting' eller utroværdig bevægelse, hvis denne er indstillet for lavt. Generelt er den nuværende opfattelse, at denne bør indstilles til en højere værdi end antallet af billeder for at producere bedre bevægelse.
Konklusion
Selvom yderligere udforskning af ComfyUI-brug ligger uden for rammerne af denne artikel, kan fællesskabserfaring hos Reddit og Discords lette indlæringskurven, og der er flere online guider der introducerer det grundlæggende.
Først offentliggjort torsdag den 23. januar 2025