Executar geração de imagens em alta velocidade localmente usando uma GPU AMD (direct-ml) (ou em um ambiente sem GPU) (para fins de teste)

この記事は約6分で読めます。
スポンサーリンク

Coisas que eu quero fazer

Vamos tentar executar a geração de imagens em alta velocidade usando uma GPU AMD.

Esta opção é para aqueles que acham a geração de imagens lenta com o método padrão StableDiffusion, ou que simplesmente querem experimentar a geração de imagens.

(Este método não é adequado para quem já trabalha bastante com StableDiffusion, pois o modelo é fixo e o ajuste de parâmetros é praticamente impossível.)

Usaremos DirectML e um código de exemplo para DirectML.

As especificações de hardware são as seguintes:

CPUAMD Ryzen 7 7735HS
memória32 GB
armazenarDisco rígido externo
(O disco do sistema é um SSD e, devido à sua grande capacidade, é usado externamente.)
GPUAMD Radeon 680M
(CPU integrada)
スポンサーリンク

Configuração do ambiente

Crie uma pasta de trabalho.

Clone o seguinte repositório.

DirectML/PyTorch/llm at master · microsoft/DirectML
DirectML is a high-performance, hardware-accelerated DirectX 12 library for machine learning. DirectML provides GPU acceleration for common machine learning tas...

Mudar para o ambiente venv (opcional)

Se necessário, execute o seguinte comando no prompt de comando para criar e ativar o ambiente Venv.

python -mvenv venv
venv\scripts\activate.bat

Mover para a pasta de trabalho

Execute o seguinte comando para acessar o código de exemplo para geração de imagens (StableDiffusion). (O repositório clonado é uma coleção de exemplos de código DirectML, portanto, você precisará navegar até uma pasta de trabalho para usar exemplos individuais.)

cd PyTorch\diffusion\sd

Instalação da Biblioteca

Execute o seguinte comando para instalar a biblioteca.

pip install -r requirements.txt
pip install torch-directml
pip install accelerate
スポンサーリンク

execução

Execute o seguinte comando para iniciá-lo:

python app.py

Na primeira vez que você iniciar o aplicativo, levará algum tempo, pois o modelo precisará ser baixado.

Se a seguinte mensagem aparecer na linha de comando, abra o URL exibido no seu navegador.

Running on local URL: http://127.0.0.1:7860

Se você vir uma tela como a abaixo, significa que a operação foi bem-sucedida.

Você pode gerar imagens inserindo um comando na caixa de texto na parte superior da tela e clicando em Executar.

Em relação ao SDXL Turbo

No meu ambiente, encontrei um erro ao tentar alternar para o SDXL Turbo após gerar uma imagem com o SD Turbo (VRAM insuficiente?).

Para gerar imagens com o SDXL Turbo, você precisa alternar entre os modelos imediatamente após iniciar o aplicativo.

Além disso, a execução com SDXL Turbo falhará a partir da segunda tentativa.

スポンサーリンク

Resultado

Conseguimos realizar a geração de imagens em alta velocidade utilizando a GPU integrada de uma CPU AMD.

No exemplo utilizado aqui, duas cópias são sempre criadas simultaneamente.

Na segunda execução, com o modelo já carregado, a geração de duas imagens foi concluída em cerca de 7 segundos. (Quem trabalha em um ambiente semelhante entenderá o quão rápido isso é.)

コメント

タイトルとURLをコピーしました