Ângulo de Anderson

Como Treinar e Usar Modelos LoRA de Vídeo Hunyuan

mm
Adicione Unite.AI às suas fontes preferidas no Google
ChatGPT-4o: Variation on 'Create me an image 1792 x 1024. It should be in the style of ThÃĐodore GÃĐricault, and should depict a dark medieval figure seated in front of a laptop, illuminated by the screen. We are facing the figure, and can only see the back of the laptop lid. Around the seated medieval figure are many other medieval men and women, curious as to what is happening on the computer screen'

Este artigo mostrarÃĄ como instalar e usar software baseado no Windows que pode treinar modelos LoRA de vídeo Hunyuan, permitindo que o usuÃĄrio gere personalidades personalizadas no modelo de fundo de vídeo Hunyuan:

Clique para reproduzir. Exemplos da recente explosÃĢo de celebridades Hunyuan LoRAs da comunidade civit.ai.

No momento, as duas maneiras mais populares de gerar modelos LoRA de Hunyuan localmente sÃĢo:

1) O framework de diffusion-pipe-ui baseado em Docker, que depende do Subsistema do Windows para Linux (WSL) para lidar com alguns dos processos.

2) Musubi Tuner, uma nova adiçÃĢo à popular arquitetura de treinamento de difusÃĢo Kohya ss. O Musubi Tuner nÃĢo requer Docker e nÃĢo depende do WSL ou de proxies Linux baseados – mas pode ser difícil de executar no Windows.

Portanto, esta execuçÃĢo se concentrarÃĄ no Musubi Tuner e na provisÃĢo de uma soluçÃĢo completamente local para o treinamento e geraçÃĢo de LoRA de Hunyuan, sem o uso de sites de API ou processos de aluguel de GPU comerciais, como o Runpod.

Clique para reproduzir. Amostras do treinamento de LoRA no Musubi Tuner para este artigo. Todas as permissÃĩes concedidas pela pessoa retratada, para ilustrar este artigo.

REQUISITOS

A instalaçÃĢo exigirÃĄ, no mínimo, um PC com Windows 10 e uma placa grÃĄfica NVIDIA da sÃĐrie 30+/40+ com pelo menos 12GB de VRAM (embora 16GB sejam recomendados). A instalaçÃĢo usada para este artigo foi testada em uma mÃĄquina com 64GB de RAM do sistema e uma placa grÃĄfica NVIDIA 3090 com 24GB de VRAM. Foi testado em um sistema de teste dedicado com uma instalaçÃĢo fresca do Windows 10 Professional, em uma partiçÃĢo com 600+GB de espaço de disco livre.

AVISO

Instalar o Musubi Tuner e seus prÃĐ-requisitos tambÃĐm envolve a instalaçÃĢo de software e pacotes de desenvolvedor diretamente na instalaçÃĢo principal do Windows de um PC. Considerando a instalaçÃĢo do ComfyUI para os estÃĄgios finais, este projeto exigirÃĄ cerca de 400-500 gigabytes de espaço de disco. Embora eu tenha testado o procedimento sem incidentes vÃĄrias vezes em ambientes de teste do Windows 10 recÃĐm-instalados, nem eu nem o unite.ai somos responsÃĄveis por qualquer dano ao sistema decorrente do seguimento dessas instruçÃĩes. Aconselho a fazer um backup de todos os dados importantes antes de tentar essa instalaçÃĢo.

CONSIDERAÇÕES

Este MÃĐtodo Ainda ÃĐ VÃĄlido?

A cena de IA gerativa estÃĄ se movendo muito rapidamente, e podemos esperar mÃĐtodos melhores e mais otimizados para os frameworks LoRA de vídeo Hunyuan este ano.

â€Ķou mesmo esta semana! Enquanto escrevia este artigo, o desenvolvedor do Kohya/Musubi produziu musubi-tuner-gui, uma GUI Gradio sofisticada para o Musubi Tuner:

Obviamente, uma GUI de usuÃĄrio ÃĐ preferível aos arquivos BAT que uso neste recurso – desde que o musubi-tuner-gui esteja funcionando. Na ÃĐpoca em que escrevo, ele foi lançado hÃĄ apenas cinco dias, e nÃĢo encontrei nenhuma conta de alguÃĐm que o tenha usado com sucesso.

De acordo com as postagens no repositÃģrio, a nova GUI estÃĄ destinada a ser integrada diretamente ao projeto Musubi Tuner o mais rÃĄpido possível, o que encerrarÃĄ sua existÊncia como um repositÃģrio GitHub independente.

Com base nas instruçÃĩes de instalaçÃĢo atuais, a nova GUI ÃĐ clonada diretamente no ambiente virtual existente do Musubi; e, apesar de muitos esforços, nÃĢo consigo fazÊ-la se associar à instalaçÃĢo do Musubi existente. Isso significa que, quando ela ÃĐ executada, ela descobrirÃĄ que nÃĢo tem um mecanismo!

Uma vez que a GUI seja integrada ao Musubi Tuner, problemas desse tipo certamente serÃĢo resolvidos. Embora o autor conceda que o novo projeto ÃР‘muito bruto’, ele ÃĐ otimista em relaçÃĢo ao seu desenvolvimento e integraçÃĢo direta ao Musubi Tuner.

Dadas essas questÃĩes (tambÃĐm relacionadas a caminhos padrÃĢo no momento da instalaçÃĢo e ao uso do pacote UV Python, que complica certos procedimentos na nova versÃĢo), provavelmente teremos que esperar um pouco por uma experiÊncia de treinamento de LoRA de vídeo Hunyuan mais suave. Dito isso, parece muito promissor!

Mas se vocÊ nÃĢo pode esperar e estÃĄ disposto a se esforçar um pouco, pode executar o treinamento de LoRA de vídeo Hunyuan localmente agora mesmo.

Vamos começar.

Por Que Instalar Qualquer Coisa em Metal Nu?

(Pule este parÃĄgrafo se vocÊ nÃĢo ÃĐ um usuÃĄrio avançado)
UsuÃĄrios avançados se perguntarÃĢo por que escolhi instalar tanto software no metal nu da instalaçÃĢo do Windows 10 em vez de em um ambiente virtual. O motivo ÃĐ que a porta do Windows para o pacote baseado em Linux Triton ÃĐ muito mais difícil de funcionar em um ambiente virtual. Todas as outras instalaçÃĩes de metal nu no tutorial nÃĢo puderam ser instaladas em um ambiente virtual, pois devem se comunicar diretamente com o hardware local.

Instalando Pacotes e Programas PrÃĐ-requisitos

Para os programas e pacotes que devem ser instalados inicialmente, a ordem de instalaçÃĢo ÃĐ importante. Vamos começar.

1: Baixe o Pacote Redistribuível da Microsoft

Baixe e instale o pacote Redistribuível da Microsoft em https://aka.ms/vs/17/release/vc_redist.x64.exe.

Esta ÃĐ uma instalaçÃĢo rÃĄpida e direta.

2: Instale o Visual Studio 2022

Baixe a ediçÃĢo Comunity do Microsoft Visual Studio 2022 em https://visualstudio.microsoft.com/downloads/?cid=learn-onpage-download-install-visual-studio-page-cta

Inicie o instalador baixado;

NÃĢo precisamos de todos os pacotes disponíveis, o que seria uma instalaçÃĢo longa e pesada. Na pÃĄgina inicial de Workloads que ÃĐ aberta, marque Desenvolvimento de Desktop com C++ (veja a imagem abaixo).

Agora, clique na guia Componentes Individuais no canto superior esquerdo da interface e use a caixa de pesquisa para encontrar ‘Windows SDK’.

Por padrÃĢo, apenas o Windows 11 SDK estÃĄ marcado. Se vocÊ estiver no Windows 10 (este procedimento de instalaçÃĢo nÃĢo foi testado por mim no Windows 11), marque a versÃĢo mais recente do Windows 10, indicada na imagem acima.

Pesquise por ‘C++ CMake’ e verifique se Ferramentas C++ CMake para Windows estÃĄ marcado.

Esta instalaçÃĢo exigirÃĄ pelo menos 13 GB de espaço.

Uma vez que o Visual Studio tenha sido instalado, ele tentarÃĄ executar no seu computador. Deixe-o abrir completamente. Quando a interface de tela cheia do Visual Studio for finalmente visível, feche o programa.

3: Instale o Visual Studio 2019

Alguns dos pacotes subsequentes para o Musubi estÃĢo esperando uma versÃĢo mais antiga do Microsoft Visual Studio, enquanto outros precisam de uma versÃĢo mais recente.

Portanto, baixe tambÃĐm a ediçÃĢo Comunity gratuita do Visual Studio 19, seja da Microsoft (https://visualstudio.microsoft.com/vs/older-downloads/ – conta necessÃĄria) ou Techspot (https://www.techspot.com/downloads/7241-visual-studio-2019.html).

Instale-o com as mesmas opçÃĩes que para o Visual Studio 2022 (veja o procedimento acima, exceto que o Windows SDK jÃĄ estÃĄ marcado no instalador do Visual Studio 2019).

VocÊ verÃĄ que o instalador do Visual Studio 2019 jÃĄ estÃĄ ciente da versÃĢo mais recente enquanto a instala:

Quando a instalaçÃĢo for concluída e vocÊ tiver aberto e fechado o aplicativo Visual Studio 2019 instalado, abra um prompt de comando do Windows (digite CMD na barra de pesquisa do Iniciar) e digite e execute:

where cl

O resultado deve ser os locais conhecidos das duas ediçÃĩes do Visual Studio instaladas.

Se, em vez disso, vocÊ receber INFO: NÃĢo foi possível encontrar arquivos para os padrÃĩes fornecidos(s), consulte a seçÃĢo Verificar Caminhos deste artigo abaixo e use essas instruçÃĩes para adicionar os caminhos relevantes do Visual Studio às variÃĄveis de ambiente do Windows.

Salve quaisquer alteraçÃĩes feitas de acordo com a seçÃĢo Verificar Caminhos abaixo e, em seguida, tente o comando where cl novamente.

4: Instale as Ferramentas CUDA 11 + 12

Os vÃĄrios pacotes instalados no Musubi precisam de diferentes versÃĩes da NVIDIA CUDA, que acelera e otimiza o treinamento em placas grÃĄficas NVIDIA.

O motivo pelo qual instalamos as versÃĩes do Visual Studio primeiro ÃĐ que os instaladores da NVIDIA CUDA procuram e se integram a qualquer instalaçÃĢo existente do Visual Studio.

Baixe um pacote de instalaçÃĢo da sÃĐrie 11+ CUDA em:

https://developer.nvidia.com/cuda-11-8-0-download-archive?target_os=Windows&target_arch=x86_64&target_version=11&target_type=exe_local (baixe ‘exe (local)’ )

Baixe um pacote de instalaçÃĢo da sÃĐrie 12+ CUDA Toolkit em:

https://developer.nvidia.com/cuda-downloads?target_os=Windows&target_arch=x86_64

O processo de instalaçÃĢo ÃĐ idÊntico para ambos os instaladores. Ignore quaisquer avisos sobre a existÊncia ou inexistÊncia de caminhos de instalaçÃĢo em variÃĄveis de ambiente do Windows – vamos atender a isso manualmente mais tarde.

Instale a Ferramenta CUDA V11+

Inicie o instalador da sÃĐrie 11+ CUDA Toolkit.

Na OpçÃĩes de InstalaçÃĢo, escolha Personalizado (Avançado) e prossiga.

Desmarque a opçÃĢo ExperiÊncia do GeForce da NVIDIA e clique em PrÃģximo.

Deixe Selecionar Local de InstalaçÃĢo com os valores padrÃĢo (isso ÃĐ importante):

Clique em PrÃģximo e deixe a instalaçÃĢo concluir.

Ignore quaisquer avisos ou notas que o instalador dÊ sobre Nsight Visual Studio integraçÃĢo, que nÃĢo ÃĐ necessÃĄria para o nosso caso de uso.

Instale a Ferramenta CUDA V12+

Repita todo o processo para o instalador separado da sÃĐrie 12+ CUDA Toolkit que vocÊ baixou:

O processo de instalaçÃĢo ÃĐ idÊntico ao listado acima (a versÃĢo 11+), exceto por um aviso sobre caminhos de ambiente, que vocÊ pode ignorar:

Quando a instalaçÃĢo da versÃĢo 12+ da CUDA for concluída, abra um prompt de comando do Windows e digite e execute:

nvcc --version

Isso deve confirmar informaçÃĩes sobre a versÃĢo do driver instalada:

Para verificar se sua placa ÃĐ reconhecida, digite e execute:

nvidia-smi

5: Instale o GIT

O GIT serÃĄ responsÃĄvel pela instalaçÃĢo do repositÃģrio Musubi em sua mÃĄquina local. Baixe o instalador do GIT em:

https://git-scm.com/downloads/win (’64-bit Git for Windows Setup’)

Execute o instalador:

Use as configuraçÃĩes padrÃĢo para Selecionar Componentes:

Deixe o editor padrÃĢo como Vim:

Deixe o GIT decidir sobre os nomes de ramo:

Use as configuraçÃĩes recomendadas para o Caminho do Ambiente:

Use as configuraçÃĩes recomendadas para SSH:

Use as configuraçÃĩes recomendadas para HTTPS Transport backend:

Use as configuraçÃĩes recomendadas para conversÃĩes de fim de linha:

Escolha o console padrÃĢo do Windows como Emulador de Terminal:

Use as configuraçÃĩes padrÃĢo (Fast-forward ou mesclar) para Git Pull:

Use o Gerenciador de Credenciais do GIT (a configuraçÃĢo padrÃĢo) para o Auxiliar de Credenciais:

Na Configurando OpçÃĩes Extras, deixe Habilitar Cache de Sistema de Arquivos marcado e Habilitar Links SimbÃģlicos desmarcado (a menos que vocÊ seja um usuÃĄrio avançado que esteja usando links físicos para um repositÃģrio de modelos centralizado).

Conclua a instalaçÃĢo e teste se o GIT estÃĄ instalado corretamente abrindo uma janela de comando e digitando e executando:

git --version

LOGIN DO GITHUB

Mais tarde, quando vocÊ tentar clonar repositÃģrios do GitHub, pode ser solicitado que forneça suas credenciais do GitHub. Para antecipar isso, faça login em sua conta do GitHub (crie uma, se necessÃĄrio) em qualquer navegador instalado em seu sistema Windows. Dessa forma, o mÃĐtodo de autenticaçÃĢo 0Auth (uma janela pop-up) deve levar o mínimo de tempo possível.

Depois desse desafio inicial, vocÊ deve permanecer autenticado automaticamente.

6: Instale o CMake

O CMake 3.21 ou mais recente ÃĐ necessÃĄrio para partes do processo de instalaçÃĢo do Musubi. O CMake ÃĐ uma arquitetura de desenvolvimento cross-platform capaz de orquestrar compiladores diversos e de compilar software a partir do cÃģdigo-fonte.

Baixe-o em:

https://cmake.org/download/ (‘Windows x64 Installer’)

Inicie o instalador:

Certifique-se de que Adicionar CMake às variÃĄveis de ambiente do PATH esteja marcado.

Pressione PrÃģximo.

Digite e execute este comando em um prompt de comando do Windows:

cmake --version

Se o CMake for instalado com sucesso, ele exibirÃĄ algo como:

cmake version 3.31.4
CMake suite maintained and supported by Kitware (kitware.com/cmake).

7: Instale o Python 3.10

O interpretador Python ÃĐ central para este projeto. Baixe a versÃĢo 3.10 (o melhor compromisso entre as diferentes demandas dos pacotes do Musubi) em:

https://www.python.org/downloads/release/python-3100/ (‘Windows installer (64-bit)’)

Execute o instalador de download e deixe as configuraçÃĩes padrÃĢo:

No final do processo de instalaçÃĢo, clique em Desabilitar limite de comprimento de caminho (exige confirmaçÃĢo de administrador UAC):

Em um prompt de comando do Windows, digite e execute:

python --version

Isso deve resultar em Python 3.10.0

VERIFICAR CAMINHOS

O clone e a instalaçÃĢo dos frameworks do Musubi, bem como o seu funcionamento normal apÃģs a instalaçÃĢo, exigem que seus componentes saibam o caminho para vÃĄrios componentes externos importantes no Windows, particularmente a CUDA.

Portanto, precisamos abrir o ambiente do PATH e verificar se todos os requisitos estÃĢo lÃĄ.

Uma maneira rÃĄpida de acessar os controles do Ambiente do Windows ÃĐ digitar Editar as variÃĄveis de ambiente do sistema na barra de pesquisa do Windows.

Clicando nisso, a janela de controle Propriedades do Sistema serÃĄ aberta. No canto inferior direito de Propriedades do Sistema, clique no botÃĢo VariÃĄveis de Ambiente, e uma janela chamada VariÃĄveis de Ambiente serÃĄ aberta. No painel VariÃĄveis do Sistema na metade inferior da janela, role atÃĐ Caminho e clique duas vezes nele. Isso abrirÃĄ uma janela chamada Editar variÃĄvel de ambiente. Arraste a largura da janela para que vocÊ possa ver o caminho completo das variÃĄveis:

Aqui, as entradas importantes sÃĢo:

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

Na maioria dos casos, as variÃĄveis de caminho corretas jÃĄ devem estar presentes.

Adicione quaisquer caminhos que estejam faltando clicando em Novo à esquerda da janela Editar variÃĄvel de ambiente e colando o caminho correto:

NÃĢo copie e cole os caminhos listados acima; verifique se cada caminho equivalente existe na sua instalaçÃĢo do Windows.

Se houver variaçÃĩes menores de caminho (particularmente com instalaçÃĩes do Visual Studio), use os caminhos listados acima para encontrar as pastas de destino corretas (por exemplo, x64 em Host64 na sua instalaçÃĢo). Em seguida, cole esses caminhos na janela Editar variÃĄvel de ambiente.

Depois disso, reinicie o computador.

INSTALANDO O MUSUBI

ATUALIZAR O PIP

Usar a versÃĢo mais recente do instalador PIP pode facilitar algumas das etapas de instalaçÃĢo. Em um prompt de comando do Windows com privilÃĐgios de administrador (veja ElevaçÃĢo abaixo), digite e execute:

pip install --upgrade pip

ELEVAÇÃO

Alguns comandos podem exigir privilÃĐgios elevados (ou seja, para serem executados como administrador). Se vocÊ receber mensagens de erro sobre permissÃĩes nas etapas subsequentes, feche a janela do prompt de comando e abra-a novamente no modo administrador digitando CMD na caixa de pesquisa do Windows, clicando com o botÃĢo direito em Prompt de Comando e selecionando Executar como administrador:

Para as prÃģximas etapas, vamos usar o Windows Powershell em vez do prompt de comando do Windows. VocÊ pode encontrÃĄ-lo digitando Powershell na caixa de pesquisa do Windows e (se necessÃĄrio) clicando com o botÃĢo direito nele para Executar como administrador:

INSTALAR O TORCH

No Powershell, digite e execute:

pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118

Seja paciente enquanto os muitos pacotes sÃĢo instalados.

Quando concluído, vocÊ pode verificar uma instalaçÃĢo do PyTorch habilitada para GPU digitando e executando:

python -c "import torch; print(torch.cuda.is_available())"

Isso deve resultar em:

True

INSTALAR O TRITON PARA WINDOWS

Em seguida, a instalaçÃĢo do componente Triton para Windows. No Powershell elevado, digite (em uma linha):

pip install https://github.com/woct0rdho/triton-windows/releases/download/v3.1.0-windows.post8/triton-3.1.0-cp310-cp310-win_amd64.whl

(O instalador triton-3.1.0-cp310-cp310-win_amd64.whl funciona para CPUs Intel e AMD, desde que a arquitetura seja 64 bits e o ambiente corresponda à versÃĢo do Python)

Depois de executado, isso deve resultar em:

Successfully installed triton-3.1.0

Podemos verificar se o Triton estÃĄ funcionando importando-o no Python. Digite e execute este comando:

python -c "import triton; print('Triton is working')"

Isso deve sair:

Triton is working

Para verificar se o Triton estÃĄ habilitado para GPU, digite e execute:

python -c "import torch; print(torch.cuda.is_available())"

Isso deve resultar em True:

CRIAR O AMBIENTE VIRTUAL PARA O MUSUBI

A partir de agora, instalaremos qualquer software adicional em um ambiente virtual Python (ou venv). Isso significa que tudo o que vocÊ precisarÃĄ fazer para desinstalar todos os softwares subsequentes ÃĐ arrastar a pasta de instalaçÃĢo do venv para a lixeira.

Vamos criar a pasta de instalaçÃĢo: crie uma pasta chamada Musubi na sua ÃĄrea de trabalho. Os exemplos a seguir supÃĩem que essa pasta existe: C:\Users\[Seu Nome de Perfil]\Desktop\Musubi\.

No Powershell, navegue atÃĐ essa pasta digitando:

cd C:\Users\[Seu Nome de Perfil]\Desktop\Musubi

Queremos que o ambiente virtual tenha acesso ao que jÃĄ instalamos (especialmente o Triton), entÃĢo usaremos a flag --system-site-packages. Digite e execute isso:

python -m venv --system-site-packages musubi

Aguarde a criaçÃĢo do ambiente e, em seguida, ative-o digitando:

.\musubi\Scripts\activate

A partir daqui, vocÊ pode dizer que estÃĄ no ambiente virtual ativado pelo fato de (musubi) aparecer no início de todos os seus prompts.

CLONAR O REPOSITÓRIO

Navegue atÃĐ a pasta musubi recÃĐm-criada (que estÃĄ dentro da pasta Musubi na sua ÃĄrea de trabalho):

cd musubi

Agora que estamos no local correto, digite o seguinte comando:

git clone https://github.com/kohya-ss/musubi-tuner.git

Aguarde atÃĐ que o clone seja concluído (nÃĢo levarÃĄ muito tempo).

INSTALANDO OS REQUISITOS

Navegue atÃĐ a pasta de instalaçÃĢo:

cd musubi-tuner

Digite e execute:

pip install -r requirements.txt

Aguarde atÃĐ que as muitas instalaçÃĩes sejam concluídas (isso levarÃĄ mais tempo).

AUTOMATIZAR O ACESSO AO VENV DE HUNYUAN VIDEO

Para facilitar o acesso e ativar o venv para sessÃĩes futuras, cole o seguinte em um Bloco de Notas e salve-o com o nome activate.bat, salvando-o com a opçÃĢo Todos os Arquivos (veja a imagem abaixo).

@echo off

call C:\Users\[Seu Nome de Perfil]\Desktop\Musubi\musubi\Scripts\activate

cd C:\Users\[Seu Nome de Perfil]\Desktop\Musubi\musubi\musubi-tuner

cmd

(Substitua [Seu Nome de Perfil] pelo nome real da sua pasta de perfil do Windows)

NÃĢo importa em qual local vocÊ salve este arquivo.

Daqui em diante, vocÊ pode dar um duplo clique em activate.bat e começar a trabalhar imediatamente.

USANDO O MUSUBI TUNER

BAIXANDO OS MODELOS

O processo de treinamento de LoRA de vídeo Hunyuan exige o download de pelo menos sete modelos para suportar todas as opçÃĩes de prÃĐ-cache e treinamento de LoRA de vídeo Hunyuan. Juntos, esses modelos pesam mais de 60GB.

As instruçÃĩes atuais para baixÃĄ-los podem ser encontradas em https://github.com/kohya-ss/musubi-tuner?tab=readme-ov-file#model-download

No entanto, essas sÃĢo as instruçÃĩes de download na ÃĐpoca da escrita:

clip_l.safetensors
llava_llama3_fp16.safetensors
e
llava_llama3_fp8_scaled.safetensors
podem ser baixados em:
https://huggingface.co/Comfy-Org/HunyuanVideo_repackaged/tree/main/split_files/text_encoders

mp_rank_00_model_states.pt
mp_rank_00_model_states_fp8.pt
e
mp_rank_00_model_states_fp8_map.pt
podem ser baixados em:
https://huggingface.co/tencent/HunyuanVideo/tree/main/hunyuan-video-t2v-720p/transformers

pytorch_model.pt
pode ser baixado em:
https://huggingface.co/tencent/HunyuanVideo/tree/main/hunyuan-video-t2v-720p/vae

Embora vocÊ possa colocÃĄ-los em qualquer diretÃģrio que escolher, para consistÊncia com os scripts posteriores, vamos colocÃĄ-los em:

C:\Users\[Seu Nome de Perfil]\Desktop\Musubi\musubi\musubi-tuner\models\

Isso ÃĐ consistente com o arranjo de diretÃģrios atÃĐ este ponto. Qualquer comando ou instruçÃĢo a partir daqui suporÃĄ que este ÃĐ o local dos modelos; e nÃĢo se esqueça de substituir [Seu Nome de Perfil] pelo nome real da sua pasta de perfil do Windows.

PREPARAÇÃO DO CONJUNTO DE DADOS

Ignorando a controvÃĐrsia comunitÃĄria sobre esse ponto, ÃĐ justo dizer que vocÊ precisarÃĄ de algum lugar entre 10-100 fotos para um conjunto de dados de treinamento para sua LoRA de Hunyuan. Resultados muito bons podem ser obtidos mesmo com 15 imagens, desde que as imagens sejam bem equilibradas e de boa qualidade.

Uma LoRA de Hunyuan pode ser treinada tanto em imagens quanto em clips de vídeo muito curtos e de baixa resoluçÃĢo, ou atÃĐ mesmo em uma mistura de ambos – embora usar clips de vídeo como dados de treinamento seja desafiador, mesmo para um cartÃĢo de 24GB.

No entanto, os clips de vídeo sÃĢo Úteis apenas se o seu personagem se move de uma maneira tÃĢo incomum que o modelo de fundo de vídeo Hunyuan talvez nÃĢo saiba sobre isso, ou consiga adivinhar.

Exemplos incluiriam Roger Rabbit, um xenomorfo, A MÃĄscara, Homem-Aranha ou outras personalidades que possuem características de movimento Únicas.

JÃĄ que o Hunyuan Video jÃĄ sabe como homens e mulheres comuns se movem, os clips de vídeo nÃĢo sÃĢo necessÃĄrios para obter uma LoRA de vídeo Hunyuan convincente do tipo humano. Portanto, usaremos imagens estÃĄticas.

PREPARAÇÃO DE IMAGENS

A LISTA DE ITENS

A VersÃĢo Resumida:

É melhor usar imagens que sejam todas do mesmo tamanho para o seu conjunto de dados, ou usar uma divisÃĢo 50/50 entre dois tamanhos diferentes, por exemplo, 10 imagens que sejam 512x768px e 10 que sejam 768x512px.

O treinamento pode correr bem mesmo se vocÊ nÃĢo fizer isso – as LoRAs de Hunyuan Video podem ser surpreendentemente indulgentes.

A VersÃĢo Mais Longa

Como as LoRAs de Kohya-ss para sistemas gerativos estÃĄticos, como o Stable Diffusion, bucketing ÃĐ usado para distribuir a carga de trabalho por imagens de tamanhos diferentes, permitindo que imagens maiores sejam usadas sem causar erros de falta de memÃģria no momento do treinamento (ou seja, o bucketing ‘corta’ as imagens em pedaços que a GPU possa lidar, mantendo a integridade semÃĒntica da imagem inteira).

Para cada tamanho de imagem que vocÊ inclui no conjunto de dados de treinamento (por exemplo, 512x768px), um bucket ou ‘sub-tarefa’ serÃĄ criado para esse tamanho. Portanto, se vocÊ tiver a seguinte distribuiçÃĢo de imagens, a atençÃĢo do bucket se torna desequilibrada e arrisca que algumas fotos sejam dadas maior consideraçÃĢo no treinamento do que outras:

2x 512x768px imagens
7x 768x512px imagens
1x 1000x600px imagem
3x 400x800px imagens

Podemos ver que a atençÃĢo do bucket ÃĐ dividida de forma desigual entre essas imagens:

Portanto, ou fique com um formato de tamanho, ou tente manter a distribuiçÃĢo de diferentes tamanhos relativamente igual.

Evite imagens muito grandes, pois isso provavelmente retardarÃĄ o treinamento, com benefício negligenciÃĄvel.

Para simplicidade, usei 512x768px para todas as fotos no meu conjunto de dados.

Aviso de Responsabilidade: O modelo (pessoa) usado no conjunto de dados me deu permissÃĢo total para usar essas imagens para este propÃģsito e aprovou todos os resultados de IA que representam sua semelhança apresentados neste artigo.

Meu conjunto de dados consiste em 40 imagens, no formato PNG (embora o JPG tambÃĐm seja aceitÃĄvel). Minhas imagens estavam armazenadas em C:\Users\Martin\Desktop\DATASETS_HUNYUAN\examplewoman

VocÊ deve criar uma pasta cache dentro da pasta de imagem de treinamento:

Agora vamos criar um arquivo especial que configurarÃĄ o treinamento.

ARQUIVOS TOML

Os processos de treinamento e prÃĐ-cache de LoRAs de vídeo Hunyuan obtÊm os caminhos de arquivo de um arquivo de texto plano com a extensÃĢo .toml.

Para o meu teste, o arquivo TOML estÃĄ localizado em C:\Users\Martin\Desktop\DATASETS_HUNYUAN\training.toml

O conteÚdo do meu arquivo TOML de treinamento parece assim:

[geral]

resoluçÃĢo = [512, 768]

extensÃĢo_legenda = ".txt"

tamanho_lote = 1

habilitar_bucket = true

bucket_no_upscale = false

[[conjuntos_de_dados]]

diretÃģrio_de_imagem = "C:\\Users\\Martin\\Desktop\\DATASETS_HUNYUAN\\examplewoman"

diretÃģrio_de_cache = "C:\\Users\\Martin\\Desktop\\DATASETS_HUNYUAN\\examplewoman\\cache"

repetiçÃĩes = 1

(As barras duplas para diretÃģrios de imagem e cache nÃĢo sÃĢo sempre necessÃĄrias, mas podem ajudar a evitar erros em casos onde hÃĄ um espaço no caminho. Eu treinei modelos com arquivos.toml que usaram barras para a frente e barras para trÃĄs)

Podemos ver na seçÃĢo resoluçÃĢo que duas resoluçÃĩes serÃĢo consideradas – 512px e 768px. VocÊ tambÃĐm pode deixÃĄ-lo em 512 e ainda obter bons resultados.

LEGENDAS

O Hunyuan Video ÃĐ um modelo de fundo texto+visÃĢo, entÃĢo precisamos de legendas descritivas para essas imagens, que serÃĢo consideradas durante o treinamento. O processo de treinamento falharÃĄ sem legendas.

HÃĄ uma multidÃĢo de sistemas de legendas de cÃģdigo aberto que poderíamos usar para essa tarefa, mas vamos manter a simplicidade e usar o sistema taggui. Embora esteja armazenado no GitHub e embora baixe alguns modelos de aprendizado de mÃĄquina pesados na primeira execuçÃĢo, ele vem na forma de um executÃĄvel do Windows simples que carrega bibliotecas Python e uma interface de usuÃĄrio simples.

Depois de iniciar o Taggui, use Arquivo > Carregar DiretÃģrio para navegar atÃĐ o conjunto de dados de imagem e, opcionalmente, coloque um identificador de token (neste caso, examplewoman) que serÃĄ adicionado a todas as legendas:

(Certifique-se de desligar Carregar em 4-bit quando o Taggui for iniciado – ele lançarÃĄ erros durante a legendagem se isso for deixado ligado)

Selecione uma imagem na coluna de visualizaçÃĢo à esquerda e pressione CTRL+A para selecionar todas as imagens. Em seguida, pressione o botÃĢo Iniciar Auto-Legendagem à direita:

VocÊ verÃĄ o Taggui baixando modelos na pequena janela CLI à direita, mas apenas se for a primeira vez que vocÊ o executou. Caso contrÃĄrio, vocÊ verÃĄ uma visualizaçÃĢo das legendas.

Agora, cada foto tem uma legenda.txt correspondente com uma descriçÃĢo do conteÚdo da imagem:

VocÊ pode clicar em OpçÃĩes Avançadas no Taggui para aumentar o comprimento e o estilo das legendas, mas isso estÃĄ alÃĐm do escopo desta execuçÃĢo.

Feche o Taggui e vamos prosseguirâ€Ķ

PRÉ-CACHE LATENTE

Para evitar uma carga excessiva de GPU no momento do treinamento, ÃĐ necessÃĄrio criar dois tipos de arquivos prÃĐ-cacheados – um para representar a imagem latente derivada das imagens em si e outro para avaliar uma codificaçÃĢo de texto relacionada ao conteÚdo da legenda.

Para simplificar os trÊs processos (2x cache + treinamento), vocÊ pode usar arquivos.BAT interativos que farÃĢo perguntas e realizarÃĢo os processos quando vocÊ fornecer as informaçÃĩes necessÃĄrias.

Para o prÃĐ-cache latente, copie o seguinte texto em um Bloco de Notas e salve-o como um arquivo.BAT (por exemplo, nomeie-o como latent-precache.bat), como anteriormente, garantindo que o tipo de arquivo na caixa de diÃĄlogo Salvar Como seja Todos os Arquivos (veja a imagem abaixo):

@echo off

REM Ative o ambiente virtual

call C:\Users\[Seu Nome de Perfil]\Desktop\Musubi\musubi\Scripts\activate.bat

REM Obtenha a entrada do usuÃĄrio

set /p CAMINHO_DE_IMAGEM=Digite o caminho para o diretÃģrio de imagem:

set /p CAMINHO_DE_CACHE=Digite o caminho para o diretÃģrio de cache:

set /p CAMINHO_DO_TOML=Digite o caminho para o arquivo TOML:

echo VocÊ digitou:

echo Caminho da imagem: %CAMINHO_DE_IMAGEM%

echo Caminho do cache: %CAMINHO_DE_CACHE%

echo Caminho do arquivo TOML: %CAMINHO_DO_TOML%

set /p CONFIRMAÇÃO=Deseja prosseguir com o prÃĐ-cache latente (s/n)?

if /i "%CONFIRMAÇÃO%"=="s" (

REM Execute o script de prÃĐ-cache latente

python C:\Users\[Seu Nome de Perfil]\Desktop\Musubi\musubi\musubi-tuner\cache_latents.py --dataset_config %CAMINHO_DO_TOML% --vae C:\Users\[Seu Nome de Perfil]\Desktop\Musubi\musubi\musubi-tuner\models\pytorch_model.pt --vae_chunk_size 32 --vae_tiling

) else (

echo OperaçÃĢo cancelada.

)

REM Mantenha a janela aberta

pause

(Substitua [Seu Nome de Perfil] pelo nome real da sua pasta de perfil do Windows)

Agora vocÊ pode executar o arquivo.BAT para o prÃĐ-cache automÃĄtico:

Quando solicitado pelo arquivo.BAT, cole ou digite o caminho para o conjunto de dados, pastas de cache e arquivo TOML.

PRÉ-CACHE DE TEXTO

Vamos criar um segundo arquivo.BAT, desta vez para o prÃĐ-cache de texto.

@echo off

REM Ative o ambiente virtual

call C:\Users\[Seu Nome de Perfil]\Desktop\Musubi\musubi\Scripts\activate.bat

REM Obtenha a entrada do usuÃĄrio

set /p CAMINHO_DE_IMAGEM=Digite o caminho para o diretÃģrio de imagem:

set /p CAMINHO_DE_CACHE=Digite o caminho para o diretÃģrio de cache:

set /p CAMINHO_DO_TOML=Digite o caminho para o arquivo TOML:

echo VocÊ digitou:

echo Caminho da imagem: %CAMINHO_DE_IMAGEM%

echo Caminho do cache: %CAMINHO_DE_CACHE%

echo Caminho do arquivo TOML: %CAMINHO_DO_TOML%

set /p CONFIRMAÇÃO=Deseja prosseguir com o prÃĐ-cache de saída do codificador de texto (s/n)?

if /i "%CONFIRMAÇÃO%"=="s" (

REM Use o executÃĄvel Python do ambiente virtual

python C:\Users\[Seu Nome de Perfil]\Desktop\Musubi\musubi\musubi-tuner\cache_text_encoder_outputs.py --dataset_config %CAMINHO_DO_TOML% --text_encoder1 C:\Users\[Seu Nome de Perfil]\Desktop\Musubi\musubi\musubi-tuner\models\llava_llama3_fp16.safetensors --text_encoder2 C:\Users\[Seu Nome de Perfil]\Desktop\Musubi\musubi\musubi-tuner\models\clip_l.safetensors --batch_size 16

) else (

echo OperaçÃĢo cancelada.

)

REM Mantenha a janela aberta

pause

Substitua seu nome de perfil do Windows e salve este como text-cache.bat (ou qualquer nome que vocÊ goste).

Execute este novo arquivo.BAT, siga as instruçÃĩes e os arquivos codificados de texto necessÃĄrios aparecerÃĢo na pasta cache:

TREINANDO O LORA DE VÍDEO HUNYUAN

O treinamento real da LoRA levarÃĄ consideravelmente mais tempo do que esses dois processos preparatÃģrios.

Embora haja tambÃĐm muitas variÃĄveis que poderíamos se preocupar (como tamanho do lote, repetiçÃĩes, ÃĐpocas e se usar modelos completos ou quantizados, entre outros), vamos poupar essas consideraçÃĩes para outro dia e um olhar mais profundo nas complexidades da criaçÃĢo de LoRA.

Vamos minimizar as escolhas um pouco e treinar uma LoRA em configuraçÃĩes ‘medianas’.

Vamos criar um terceiro arquivo.BAT, desta vez para iniciar o treinamento. Cole o seguinte em um Bloco de Notas e salve-o como um arquivo.BAT, como antes, como training.bat (ou qualquer nome que vocÊ goste):

@echo off

REM Ative o ambiente virtual

call C:\Users\[Seu Nome de Perfil]\Desktop\Musubi\musubi\Scripts\activate.bat

REM Obtenha a entrada do usuÃĄrio

set /p CONFIGURAÇÃO_DO_CONJUNTO_DE_DADOS=Digite o caminho para o arquivo de configuraçÃĢo do conjunto de dados:

set /p ÉPOCAS=Digite o nÚmero de ÃĐpocas para treinar:

set /p NOME_DE_SAÍDA=Digite o nome do modelo de saída (por exemplo, example0001):

set /p TAXA_DE_APREDIZADO=Escolha a taxa de aprendizado (1 para 1e-3, 2 para 5e-3, padrÃĢo 1e-3):

if "%TAXA_DE_APREDIZADO%"=="1" set LR=1e-3

if "%TAXA_DE_APREDIZADO%"=="2" set LR=5e-3

if "%TAXA_DE_APREDIZADO%"=="" set LR=1e-3

set /p PASSOS_PARA_SALVAR=QuÃĢo frequentemente (em passos) salvar imagens de visualizaçÃĢo:

set /p PROMPTOS_DE_TEXTO=Qual ÃĐ a localizaçÃĢo do arquivo de prompt de texto para visualizaçÃĩes de treinamento?

echo VocÊ digitou:

echo Arquivo de configuraçÃĢo do conjunto de dados: %CONFIGURAÇÃO_DO_CONJUNTO_DE_DADOS%

echo NÚmero de ÃĐpocas: %ÉPOCAS%

echo Nome de saída: %NOME_DE_SAÍDA%

echo Taxa de aprendizado: %LR%

echo Salvar imagens de visualizaçÃĢo a cada %PASSOS_PARA_SALVAR% passos.

echo Arquivo de prompt de texto: %PROMPTOS_DE_TEXTO%

REM Prepare o comando

set CMD=accelerate launch --num_cpu_threads_per_process 1 --mixed_precision bf16 ^

C:\Users\[Seu Nome de Perfil]\Desktop\Musubi\musubi\musubi-tuner\hv_train_network.py ^

--dit C:\Users\[Seu Nome de Perfil]\Desktop\Musubi\musubi\musubi-tuner\models\mp_rank_00_model_states.pt ^

--dataset_config %CONFIGURAÇÃO_DO_CONJUNTO_DE_DADOS% ^

--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 %ÉPOCAS% ^

--save_every_n_epochs=1 ^

--seed 42 ^

--output_dir "C:\Users\[Seu Nome de Perfil]\Desktop\Musubi\Output Models" ^

--output_name %NOME_DE_SAÍDA% ^

--vae C:/Users/[Seu Nome de Perfil]/Desktop/Musubi/musubi/musubi-tuner/models/pytorch_model.pt ^

--vae_chunk_size 32 ^

--vae_spatial_tile_sample_min_size 128 ^

--text_encoder1 C:/Users/[Seu Nome de Perfil]/Desktop/Musubi/musubi/musubi-tuner/models/llava_llama3_fp16.safetensors ^

--text_encoder2 C:/Users/[Seu Nome de Perfil]/Desktop/Musubi/musubi/musubi-tuner/models/clip_l.safetensors ^

--sample_prompts %PROMPTOS_DE_TEXTO% ^

--sample_every_n_steps %PASSOS_PARA_SALVAR% ^

--sample_at_first

echo O seguinte comando serÃĄ executado:

echo %CMD%

set /p CONFIRMAÇÃO=Deseja prosseguir com o treinamento (s/n)?

if /i "%CONFIRMAÇÃO%"=="s" (

%CMD%

) else (

echo OperaçÃĢo cancelada.

)

REM Mantenha a janela aberta

cmd /k

Como nos arquivos.BAT anteriores, salve o script como ‘Todos os Arquivos’ do Bloco de Notas, nomeando-o como training.bat (ou qualquer nome que vocÊ goste).

Certifique-se de que o diretÃģrio C:\Users\[Seu Nome de Perfil]\Desktop\Musubi\Output Models\ exista e crie-o nesse local se nÃĢo existir.

TREINAMENTO DE VISUALIZAÇÕES

HÃĄ um recurso de visualizaçÃĢo de treinamento muito bÃĄsico habilitado recentemente para o Musubi Trainer, que permite forçar o modelo de treinamento a pausar e gerar imagens com base em prompts que vocÊ salvou. Essas sÃĢo salvas em uma pasta automaticamente criada chamada Sample, no mesmo diretÃģrio em que os modelos treinados sÃĢo salvos.

Para habilitar isso, vocÊ precisarÃĄ salvar pelo menos um prompt em um arquivo de texto. O arquivo.BAT de treinamento perguntarÃĄ a localizaçÃĢo desse arquivo; portanto, vocÊ pode nomear o arquivo de prompt como quiser e salvÃĄ-lo em qualquer lugar.

Aqui estÃĢo alguns exemplos de prompts para um arquivo que sairÃĄ com trÊs imagens diferentes quando solicitado pelo rotina de treinamento:

Como vocÊ pode ver no exemplo acima, vocÊ pode colocar flags no final do prompt que afetarÃĢo as imagens:

–w ÃĐ largura (padrÃĢo 256px se nÃĢo definido, de acordo com a documentaçÃĢo)
–h ÃĐ altura (padrÃĢo 256px se nÃĢo definido)
–f ÃĐ o nÚmero de frames. Se definido como 1, uma imagem ÃĐ produzida; mais de um, um vídeo.
–d ÃĐ a semente. Se nÃĢo definido, ÃĐ aleatÃģrio; mas vocÊ deve defini-lo para ver um prompt evoluindo.
–s ÃĐ o nÚmero de passos na geraçÃĢo, com padrÃĢo de 20.

Consulte a documentaçÃĢo oficial para flags adicionais.

Embora as visualizaçÃĩes de treinamento possam revelar rapidamente alguns problemas que podem fazer com que vocÊ cancele o treinamento e reconsidere os dados ou a configuraçÃĢo, portanto economizando tempo, lembre-se de que cada prompt extra desacelera o treinamento um pouco mais.

AlÃĐm disso, a imagem de visualizaçÃĢo de treinamento maior (definida pelas flags listadas acima) desacelera o treinamento.

Inicie o arquivo.BAT de treinamento.

Pergunta #1 ÃР‘Digite o caminho para o arquivo de configuraçÃĢo do conjunto de dados’. Cole ou digite o caminho correto para o seu arquivo TOML.

Pergunta #2 ÃР‘Digite o nÚmero de ÃĐpocas para treinar’. Essa ÃĐ uma variÃĄvel de tentativa e erro, pois ÃĐ afetada pela quantidade e qualidade das imagens, bem como das legendas e outros fatores. Em geral, ÃĐ melhor definir como muito alto do que muito baixo, pois vocÊ sempre pode interromper o treinamento com Ctrl+C na janela de treinamento se sentir que o modelo avançou o suficiente. Defina como 100 no primeiro caso e veja como vai.

Pergunta #3 ÃР‘Digite o nome do modelo de saída’. Nomeie seu modelo! Pode ser melhor manter o nome razoavelmente curto e simples.

Pergunta #4 ÃР‘Escolha a taxa de aprendizado’, que ÃĐ padrÃĢo 1e-3 (opçÃĢo 1). Este ÃĐ um bom lugar para começar, pendente de mais experiÊncia.

Pergunta #5 ÃР‘QuÃĢo frequentemente (em passos) salvar imagens de visualizaçÃĢo’. Se vocÊ definir isso muito baixo, vocÊ verÃĄ pouco progresso entre as imagens de visualizaçÃĢo salvas, e isso desacelerarÃĄ o treinamento.

Pergunta #6 ÃР‘Qual ÃĐ a localizaçÃĢo do arquivo de prompt de texto para visualizaçÃĩes de treinamento?’. Cole ou digite o caminho para o seu arquivo de prompts de texto.

O arquivo.BAT entÃĢo mostra a vocÊ o comando que ele enviarÃĄ ao Modelo de Hunyuan e pergunta se vocÊ deseja prosseguir, s/n.

VÃĄ em frente e comece o treinamento:

Durante esse tempo, se vocÊ verificar a seçÃĢo GPU da guia de Desempenho do Gerenciador de Tarefas do Windows, vocÊ verÃĄ que o processo estÃĄ consumindo cerca de 16GB de VRAM.

Isso pode nÃĢo ser uma figura arbitrÃĄria, pois essa ÃĐ a quantidade de VRAM disponível em muitas placas grÃĄficas NVIDIA, e o cÃģdigo upstream pode ter sido otimizado para caber nesses 16GB para o benefício daqueles que possuem essas placas.

Dito isso, ÃĐ muito fÃĄcil aumentar esse uso, enviando flags mais exorbitantes para o comando de treinamento.

Durante o treinamento, vocÊ verÃĄ no lado inferior direito da janela do CMD uma figura para o tempo decorrido desde o início do treinamento e uma estimativa do tempo total de treinamento (que variarÃĄ muito dependendo das flags definidas, nÚmero de imagens de treinamento, nÚmero de imagens de visualizaçÃĢo de treinamento, e vÃĄrios outros fatores).

Um tempo de treinamento típico ÃĐ de cerca de 3-4 horas em configuraçÃĩes medianas, dependendo do hardware disponível, nÚmero de imagens, configuraçÃĩes de flag e outros fatores.

USANDO SEUS MODELOS LoRA TREINADOS NO HUNYUAN VIDEO

ESCOLHENDO PONTOS DE VERIFICAÇÃO

Quando o treinamento for concluído, vocÊ terÃĄ um ponto de verificaçÃĢo para cada ÃĐpoca de treinamento.

Essa frequÊncia de salvamento pode ser alterada pelo usuÃĄrio para salvar mais ou menos frequentemente, como desejado, alterando o nÚmero --save_every_n_epochs [N] no arquivo.BAT de treinamento. Se vocÊ adicionou um nÚmero baixo para salvamentos por passos ao configurar o treinamento com o arquivo.BAT, haverÃĄ um grande nÚmero de arquivos de ponto de verificaçÃĢo salvos.

QUAL PONTO DE VERIFICAÇÃO ESCOLHER?

Como mencionado anteriormente, os modelos treinados mais cedo serÃĢo mais flexíveis, enquanto os pontos de verificaçÃĢo posteriores podem oferecer mais detalhes. A Única maneira de testar esses fatores ÃĐ executar alguns dos LoRAs e gerar alguns vídeos. Dessa forma, vocÊ pode conhecer quais pontos de verificaçÃĢo sÃĢo mais produtivos e representam o melhor equilíbrio entre flexibilidade e fidelidade.

COMFYUI

O ambiente mais popular (embora nÃĢo o Único) para usar LoRAs de vídeo Hunyuan no momento ÃĐ o ComfyUI, um editor baseado em nÃģ com uma interface Gradio elaborada que ÃĐ executada em seu navegador.

Fonte: https://github.com/comfyanonymous/ComfyUI

Fonte: https://github.com/comfyanonymous/ComfyUI

As instruçÃĩes de instalaçÃĢo sÃĢo diretas e disponíveis no repositÃģrio GitHub oficial (modelos adicionais precisarÃĢo ser baixados).

CONVERTENDO MODELOS PARA O COMFYUI

Seus modelos treinados sÃĢo salvos em um formato (diffusers) que nÃĢo ÃĐ compatível com a maioria das implementaçÃĩes do ComfyUI. O Musubi pode converter um modelo para um formato compatível com o ComfyUI. Vamos configurar um arquivo.BAT para implementar isso.

Antes de executar este arquivo.BAT, crie a pasta C:\Users\[Seu Nome de Perfil]\Desktop\Musubi\CONVERTED\ que o script estÃĄ esperando.

@echo off

REM Ative o ambiente virtual

call C:\Users\[Seu Nome de Perfil]\Desktop\Musubi\musubi\Scripts\activate.bat

:INÍCIO

REM Obtenha a entrada do usuÃĄrio

set /p CAMINHO_DE_ENTRADA=Digite o caminho para o arquivo safetensors de entrada (ou digite "sair" para sair):

REM Sair se o usuÃĄrio digitar "sair"

if /i "%CAMINHO_DE_ENTRADA%"=="sair" goto FIM

REM Extraia o nome do arquivo do caminho de entrada e adicione 'converted' a ele

for %%F in ("%CAMINHO_DE_ENTRADA%") do set NOME_DO_ARQUIVO=%%~nF

set CAMINHO_DE_SAÍDA=C:\Users\[Seu Nome de Perfil]\Desktop\Musubi\Output Models\CONVERTED\%NOME_DO_ARQUIVO%_converted.safetensors

set ALVO=other

echo VocÊ digitou:

echo Arquivo de entrada: %CAMINHO_DE_ENTRADA%

echo Arquivo de saída: %CAMINHO_DE_SAÍDA%

echo Formato de saída: %ALVO%

set /p CONFIRMAÇÃO=Deseja prosseguir com a conversÃĢo (s/n)?

if /i "%CONFIRMAÇÃO%"=="s" (

REM Execute o script de conversÃĢo com caminhos corretamente citados

python C:\Users\[Seu Nome de Perfil]\Desktop\Musubi\musubi\musubi-tuner\convert_lora.py --input "%CAMINHO_DE_ENTRADA%" --output "%CAMINHO_DE_SAÍDA%" --target %ALVO%

echo ConversÃĢo concluída.

) else (

echo OperaçÃĢo cancelada.

)

REM Retorne ao início para outro arquivo

goto INÍCIO

:FIM

REM Mantenha a janela aberta

echo Saindo do script.

pause

Como nos arquivos.BAT anteriores, salve o script como ‘Todos os Arquivos’ do Bloco de Notas, nomeando-o como convert.bat (ou qualquer nome que vocÊ goste).

Uma vez salvo, dÊ um duplo clique no novo arquivo.BAT, que perguntarÃĄ a localizaçÃĢo de um arquivo para converter.

Cole ou digite o caminho do arquivo treinado que vocÊ deseja converter, clique em s e pressione Enter.

Depois de salvar a LoRA convertida na pasta CONVERTED, o script perguntarÃĄ se vocÊ deseja converter outro arquivo. Se vocÊ quiser testar vÃĄrios pontos de verificaçÃĢo no ComfyUI, converta uma seleçÃĢo de modelos.

Quando vocÊ tiver convertido modelos suficientes, feche a janela do comando.BAT.

Agora vocÊ pode copiar seus modelos convertidos para a pasta models\loras na instalaçÃĢo do ComfyUI.

Normalmente, a localizaçÃĢo correta ÃĐ algo como:

C:\Users\[Seu Nome de Perfil]\Desktop\ComfyUI\models\loras\

CRIANDO LoRAs DE VÍDEO HUNYUAN NO COMFYUI

Embora os fluxos de trabalho baseados em nÃģs do ComfyUI pareçam complexos inicialmente, as configuraçÃĩes de outros usuÃĄrios mais experientes podem ser carregadas arrastando uma imagem (feita com as configuraçÃĩes do ComfyUI de outro usuÃĄrio) diretamente para a janela do ComfyUI. Fluxos de trabalho tambÃĐm podem ser exportados como arquivos JSON, que podem ser importados manualmente ou arrastados para uma janela do ComfyUI.

Alguns fluxos de trabalho importados podem ter dependÊncias que nÃĢo existam na sua instalaçÃĢo. Portanto, instale o ComfyUI-Manager, que pode buscar mÃģdulos ausentes automaticamente.

Fonte: https://github.com/ltdrdata/ComfyUI-Manager

Fonte: https://github.com/ltdrdata/ComfyUI-Manager

Para carregar um dos fluxos de trabalho usados para gerar vídeos a partir dos modelos neste tutorial, baixe este arquivo JSON e arraste-o para a janela do ComfyUI (embora haja muitos exemplos de fluxos de trabalho melhores disponíveis nas vÃĄrias comunidades do Reddit e Discord que adotaram o Hunyuan Video, e o meu ÃĐ adaptado de um deles).

Isso nÃĢo ÃĐ o lugar para um tutorial estendido sobre o uso do ComfyUI, mas vale a pena mencionar alguns dos parÃĒmetros cruciais que afetarÃĢo a saída se vocÊ baixar e usar o layout JSON que eu vinculei acima.

1) LARGURA E ALTURA

Quanto maior a imagem, mais tempo a geraçÃĢo levarÃĄ, e maior o risco de um erro de falta de memÃģria (OOM).

2) COMPRIMENTO

Este ÃĐ o valor numÃĐrico para o nÚmero de frames. Quanto tempo isso soma depende da taxa de frames (definida como 30fps neste layout). VocÊ pode converter segundos>frames com base na taxa de frames no Omnicalculator.

3) TAMANHO DO LOTE

Quanto maior vocÊ definir o tamanho do lote, mais rÃĄpido o resultado pode vir, mas maior a carga de VRAM. Defina isso muito alto e vocÊ pode obter um erro de falta de memÃģria (OOM).

4) CONTROLE APÓS GERAR

Isso controla a semente aleatÃģria. As opçÃĩes para esse nÃģ sÃĢo fixo, incrementar, decrementar e randomizar. Se vocÊ deixÃĄ-lo como fixo e nÃĢo alterar o prompt de texto, vocÊ obterÃĄ a mesma imagem a cada vez. Se vocÊ alterar o prompt de texto, a imagem mudarÃĄ em uma extensÃĢo limitada. As configuraçÃĩes incrementar e decrementar permitem que vocÊ explore valores de semente prÃģximos, enquanto randomizar lhe darÃĄ uma interpretaçÃĢo completamente nova do prompt.

5) NOME DA LoRA

VocÊ precisarÃĄ selecionar seu modelo instalado aqui antes de tentar gerar.

6) TOKEN

Se vocÊ treinou seu modelo para acionar o conceito com um token (por exemplo, ‘example-person’), coloque essa palavra de gatilho no seu prompt.

7) PASSOS

Isso representa quantos passos o sistema aplicarÃĄ ao processo de difusÃĢo. Passos mais altos podem obter mais detalhes, mas hÃĄ um teto para a eficÃĄcia dessa abordagem, e esse limiar pode ser difícil de encontrar. A faixa comum de passos ÃĐ de 20-30.

8) TAMANHO DA PASTA

Isso define quantas informaçÃĩes sÃĢo tratadas de uma vez durante a geraçÃĢo. Ele ÃĐ definido como 256 por padrÃĢo. Aumentar isso pode acelerar a geraçÃĢo, mas aumentÃĄ-lo demais pode levar a uma experiÊncia de falta de memÃģria (OOM) particularmente frustrante, pois ela vem no final de um longo processo.

9) SOBREPOSIÇÃO TEMPORAL

A geraçÃĢo de vídeo Hunyuan de pessoas pode levar a ‘ghosting’ ou movimento nÃĢo convincente se isso for definido muito baixo. Em geral, a sabedoria atual ÃĐ que isso deve ser definido como um valor mais alto do que o nÚmero de frames, para produzir melhor movimento.

CONCLUSÃO

Embora a exploraçÃĢo mais aprofundada do uso do ComfyUI esteja alÃĐm do escopo deste artigo, a experiÊncia da comunidade no Reddit e Discord pode facilitar a curva de aprendizado, e hÃĄ vÃĄrios guias online que introduzem os conceitos bÃĄsicos.

 

Publicado pela primeira vez na quinta-feira, 23 de janeiro de 2025

Escritor sobre aprendizado de mÃĄquina, especialista em síntese de imagem humana. Anteriormente, chefe de conteÚdo de pesquisa da Metaphysic.ai, atÃĐ sua dissoluçÃĢo na Brahma.ai da DNEG.
Portfolio site: martinanderson.ai
Contato: [email protected]