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:
| CPU | AMD Ryzen 7 7735HS |
|---|---|
| memória | 32 GB |
| armazenar | Disco rígido externo (O disco do sistema é um SSD e, devido à sua grande capacidade, é usado externamente.) |
| GPU | AMD Radeon 680M (CPU integrada) |
-Perceber-
O modelo que você está usando possui licença para uso experimental, mas não é totalmente gratuito. Por favor, verifique a licença antes de usá-lo.


Configuração do ambiente
Crie uma pasta de trabalho.
Clone o seguinte repositório.
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.batMover 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\sdInstalação da Biblioteca
Execute o seguinte comando para instalar a biblioteca.
pip install -r requirements.txt
pip install torch-directml
pip install accelerateexecução
Execute o seguinte comando para iniciá-lo:
python app.pyNa 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:7860Se 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 é.)



コメント