Загрузка...

[Stable Diffusion] TensorRT. We speed up the speed of image generation by 2 times

Thread in Articles created by vuchaev2015 Dec 23, 2023. 1042 views

  1. vuchaev2015
    vuchaev2015 Topic starter Dec 23, 2023 все ближе и ближе... 23,528 Feb 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]
     
    This article was useful for you?
    You can thank the author of the topic by transferring funds to your balance
    Thank the author
    1. лудорас
      vuchaev2015, Ебать накалякал сколько
    2. cuthero
      vuchaev2015, мне лень читать, но думаю топ :pepepizza:
  2. yungstar
    yungstar Dec 23, 2023 W2L 438 Apr 8, 2020
    спасибо вучаев пойду генерить изображение про офтопик
     
  3. llimonix
    llimonix Dec 23, 2023 lolz.live/threads/8634402/ - Лучшие телеграмм аккаунты :+rep: 24,051 Jan 20, 2020
    Вучаев легенда
     
  4. OlegBrawler
    Выиграл 25к и упрощает жизнь другим людям :sigma:
     
    1. kriper2004
      OlegBrawler, эхх сука я хотел написать
    2. OlegBrawler
      kriper2004, я это ты, только из будущего
  5. РАСПИЗДЯЙ
    РАСПИЗДЯЙ Dec 23, 2023 Роман, никогда никому ничего плохого не сделал 7284 Aug 3, 2021
    Спасибо, пойду порнуху в 10 раз быстрее генерить
     
  6. eternal
    eternal Dec 23, 2023 звёзды от меня https://lolz.live/threads/8939583/ 14,787 Aug 2, 2018
    мне кажется если я ничего не сделаю и продолжу тратить в 2 раза больше времени на генерацию - я нихуя не потеряю
     
  7. aawaw
    girl генерируешь, почему не naked man
     
    1. vuchaev2015 Topic starter
      aawaw, у меня вся папка забита naked man
    2. aawaw
  8. nu11
    nu11 Dec 23, 2023 9125 Feb 24, 2020
    покажи разницу с хайрес фиксом х2 с 512х512 пж
     
    1. vuchaev2015 Topic starter
      nu11, должно быть кратно 64[IMG]
      [IMG]
      разница с и без. тут апскейл 768х768
      потому что у меня профиль не на 1024х1024 :smilesuicide:
    2. nu11
      vuchaev2015, детализация лица как будто просела, или на реванимейтеде это норма? давно его не юзал, не помню уже
    3. vuchaev2015 Topic starter
      nu11, лолз качество убил вероятнее всего
  9. neurosetevik
    вучаев, а гайд на комфи будет?
     
    1. vuchaev2015 Topic starter
      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.
    The post was merged to previous Dec 24, 2023
    до этого норм работало. фикс?
     
    1. vuchaev2015 Topic starter
      Tom, --no-half-vae в аргументы пропиши webui-user.bat
  11. Элейна
    Элейна Jan 12, 2024 4660 Aug 16, 2019
    Спасибо! Стебла теперь вообще не запускается :anime_thumbs_up:
     
    1. vuchaev2015 Topic starter
      Элейна, если собираешься ставить Tensort RT необходимо удалить все из папки со стейблом желательно, затем заново запустить ,а только потом ставить tensort rt через extensions (при этом стейбл должен быть последней версии)
    2. Элейна
      vuchaev2015, я только венв почистил, наверное, все таки стоило фулл переустановить. Но как-то лень
  12. sotru
    sotru Jan 7, 2025 мы многих ограбили, чтобы попить чая с ништяками 435 Nov 24, 2017
    хз насколько это дело вообще нужно, да тема старая но бтв, если вы хотите использовать LoRA, то лучше не используйте TensorRT иначе могут быть утеряны некоторые детали лоры
     
  13. Versus_Play
    Versus_Play Jan 20, 2025 Накрутка покупателей - https://lolz.live/threads/8699179/ 906 Mar 6, 2020
    на амд работать будет?
     
Top
Loading...