Загрузка...

[Stable Diffusion] TensorRT. Ускоряем скорость генерации изображений в 2 раза

Тема в разделе Статьи создана пользователем vuchaev2015 23 дек 2023. 1011 просмотров

  1. vuchaev2015
    vuchaev2015 Автор темы 23 дек 2023 все ближе и ближе... 23 620 15 фев 2018
    Для начала нам необходимо скачать Stable Diffusion с репозитория от Automatic1111 последней версии,
    Если Stable Diffusion последней версии уже установлен и присутствует папка venv - удалите ее
    [IMG]
    После того как мы удалим данную - необходимо заново запустить файл webui-user.bat который установит все необходимые для начала зависимости.
    [IMG]
    Как только все установится и Stable Diffusion запустится на локальном адресе, мы можем перейти к следующему шагу.
    [IMG]
    Закрываем консольку с запущенным Stable Diffusion и открываем новую. Переходим по пути к нашей папке и активируем виртуальное окружение
    ⁡venv\Scripts\activate.bat

    [IMG]
    Теперь нам следует обновить pip до последней версии. Сделать это можно вставив следующую команду в консоль
    ⁡ python.exe -m pip install --upgrade pip

    [IMG]
    Теперь установим следующие модули которые нужны нам для работы. А именно TensorRT
    ⁡python -m pip install nvidia-cudnn-cu11==8.9.4.25 --no-cache-dir

    ⁡python -m pip install --pre --extra-index-url https://pypi.nvidia.com/ tensorrt==9.0.1.post11.dev4 --no-cache-dir

    [IMG]
    После проделанных действий можно удалить первый установленный модуль.
    ⁡python -m pip uninstall -y nvidia-cudnn-cu11

    [IMG]
    Выходим с виртуального окружения и запускаем Stable Diffusion.
    ⁡venv\Scripts\deactivate.bat

    ⁡webui-user.bat

    [IMG]
    Устанавливаем плагин TensorRT для Stable Diffusion Web UI.
    Перейдем во вкладку
    ⁡Extensions
    ⁡ и установим наш плагин по ссылке репозитория.
    [IMG]
    [IMG]
    Нажимаем кнопочку
    ⁡Install
    ⁡ и дожидаемся конца установки. В консоли мы сможем увидеть, что плагин устанавливает дополнительные модули.
    [IMG]
    Как только все будет установлено переходим во вкладку
    ⁡Settings
    ⁡ и пишем в поиск
    ⁡Quicksettings list
    ⁡, затем выбираем в выпадающем списке
    ⁡sd_unet

    [IMG]
    [IMG]
    После проделанных действий нажимаем
    ⁡Apply settings
    ⁡ и
    ⁡Reload UI

    [IMG]
    После того как интерфейс у нас появится вкладка TensorRT и сверху
    ⁡sd_unet
    ⁡. Перейдем во вкладку
    ⁡TensorRT
    ⁡ и создадим профиль для нашей модели. Для каждой модели у которой мы хотим ускорить генерацию необходимо будет создать профиль, который весит ~1.6 гигабайт места на диске.
    [IMG]
    Жмем кнопку
    ⁡Export Default Engine
    ⁡ и ожидаем. Уходит примерно 2-3 минуты.
    [IMG]
    Весь процесс мы сможем наблюдать в консоли.
    [IMG]
    Как только все будет завершено, мы получим уведомление об этом в консоли, в папке models/Unet-trt у нас появится TRT модель. Ее нужно будет выбрать в SD Unet.
    [IMG]
    Входная форма должна быть кратна 64 в обоих измерениях (ширине, высоте). Пример 512x512, 512x768. (так же допустимый размер зависит от выбранного профиля)

    После проделанных действий мы можем перейти к генерации изображения. Генерация на таких же параметрах с TRT занимает ~3 секунды
    Генерация без 5.5+
    [IMG]
    [IMG]
     
    Этот материал оказался полезным?
    Вы можете отблагодарить автора темы путем перевода средств на баланс
    Отблагодарить автора
    1. WERICH
      vuchaev2015, мне лень читать, но думаю топ :pepepizza:
  2. yungstar
    yungstar 23 дек 2023 W2L 438 8 апр 2020
    спасибо вучаев пойду генерить изображение про офтопик
     
  3. llimonix
    llimonix 23 дек 2023 :love2: TRX&ENERGY(FROM 100₽/66.000) - lzt.lol/8trx :love2: 22 880 20 янв 2020
    Вучаев легенда
     
  4. OlegBrawler
    Выиграл 25к и упрощает жизнь другим людям :sigma:
     
    1. kriper2004
      OlegBrawler, эхх сука я хотел написать
    2. OlegBrawler
      kriper2004, я это ты, только из будущего
  5. Pe4enbka
    Pe4enbka 23 дек 2023 :Pepe_music4: Сбор на электрогитару 1242/30000 6433 3 авг 2021
    Спасибо, пойду порнуху в 10 раз быстрее генерить
     
  6. eternal
    eternal 23 дек 2023 купи айфончик https://lolz.live/threads/8436243/ 14 190 2 авг 2018
    мне кажется если я ничего не сделаю и продолжу тратить в 2 раза больше времени на генерацию - я нихуя не потеряю
     
  7. aawaw
    girl генерируешь, почему не naked man
     
    1. vuchaev2015 Автор темы
      aawaw, у меня вся папка забита naked man
  8. nu11
    nu11 23 дек 2023 9126 24 фев 2020
    покажи разницу с хайрес фиксом х2 с 512х512 пж
     
    1. vuchaev2015 Автор темы
      nu11, должно быть кратно 64[IMG]
      [IMG]
      разница с и без. тут апскейл 768х768
      потому что у меня профиль не на 1024х1024 :smilesuicide:
      23 дек 2023 Изменено
    2. nu11
      vuchaev2015, детализация лица как будто просела, или на реванимейтеде это норма? давно его не юзал, не помню уже
    3. vuchaev2015 Автор темы
      nu11, лолз качество убил вероятнее всего
  9. neurosetevik
    вучаев, а гайд на комфи будет?
     
    1. vuchaev2015 Автор темы
      neurosetevik, я комфи не юзал никогда, думаю в будущем может и будет, но я сам в нем даже не разобрался)
  10. Tom
    NansException: A tensor with all NaNs was produced in Unet. This could be either because there's not enough precision to represent the picture, or because your video card does not support half type. Try setting the "Upcast cross attention layer to float32" option in Settings > Stable Diffusion or using the --no-half commandline argument to fix this. Use --disable-nan-check commandline argument to disable this check.
    --- Сообщение объединено с предыдущим 24 дек 2023
    до этого норм работало. фикс?
     
    1. vuchaev2015 Автор темы
      Tom, --no-half-vae в аргументы пропиши webui-user.bat
      25 дек 2023 Изменено
  11. Элейна
    Элейна 12 янв 2024 4667 16 авг 2019
    Спасибо! Стебла теперь вообще не запускается :anime_thumbs_up:
     
    1. vuchaev2015 Автор темы
      Элейна, если собираешься ставить Tensort RT необходимо удалить все из папки со стейблом желательно, затем заново запустить ,а только потом ставить tensort rt через extensions (при этом стейбл должен быть последней версии)
    2. Элейна
      vuchaev2015, я только венв почистил, наверное, все таки стоило фулл переустановить. Но как-то лень
  12. sotru
    sotru 7 янв 2025 мы многих ограбили, чтобы попить чая с ништяками 436 24 ноя 2017
    хз насколько это дело вообще нужно, да тема старая но бтв, если вы хотите использовать LoRA, то лучше не используйте TensorRT иначе могут быть утеряны некоторые детали лоры
     
  13. Versus_Play
    Versus_Play 20 янв 2025 Накрутка покупателей - https://lolz.live/threads/8699179/ 896 6 мар 2020
    на амд работать будет?
     
Загрузка...
Top