Найти тему
OVERCLOCKERS.RU

AMD и нейросети: Пробую использовать DirectML версию Stable Diffusion Web UI с видеокартой NVIDIA

Оглавление

Предисловие

Нейронные сети на текущий момент доступны обычным пользователям в основном через сервисы в интернете, это может быть единственным вариантом нарисовать картинку из текста если нет полноценного ПК или хотя бы ноутбука.

Но если у пользователя есть полноценный ПК или ноутбук? Тогда сервисы однозначно плохой вариант по многим причинам начиная с того, что сервисы работают как это нужно владельцу сервиса, а не пользователю, и заканчивая бесконечными проблемами во время генерации изображений по причине нехватки ресурсов у сервисов.

Да и про дискриминацию по национальным и иным признакам не стоит забывать, ибо если у сервиса не будет альтернативы, владельцы сервиса смогут навязывать всё что угодно пользователям, в том числе запрещая доступ к сервису для "неугодных" групп пользователей...

Потому очень важно чтобы была локальная альтернатива доступная независимо от хотелок владельцев сервисов и кого либо вообще, и такую альтернативу я решил создать.

На текущий момент у меня уже есть сборка SD Web UI для видеокарт от NVIDIA (CUDA), моя сборка работает без особых нареканий, осталось только доработать некоторые мелочи для удобства пользователя и протестировать на чистых операционных системах, вдруг не все зависимости ещё оборвал:

-2

Но есть проблема, уже готовая сборка не будет работать с видеокартами AMD или intel, и меня это очень напрягает, хотя сам с видеокартой от NVIDIA в лице GTX 1070.

В репозитории AUTOMATIC1111 как раз есть ссылки на DirectML вариант, который по идее будет работать с любыми видеокартами, именно с этим я и попробую поработать.

Выглядит совсем недружелюбно по отношению к пользователям, но что поделать если у разработчиков софта порой руки закручены непонятными узлами и крюками, как правило, этим страдают именно разработчики софта проникшиеся духом Linux, ибо разработчики софта для Windows обычно не допускают такого: Собери сам из грязи и палок разбросанных по соседским участкам и молись, чтобы соседи ничего не изменили и оставили вход открытым...

-

--

---

SD Web UI DirectML

С чего же начать... Конечно же со скачивания репозитория, я не церемонясь скачиваю ZIP архивом, ведь разработчики не удосужились сделать готовое для использования приложение.

-4

Сначала я думал использовать уже подготовленный Python и Git, но решил с нуля собирать всё воедино не смешивая разные сборки, мне несложно продублировать такие зависимости как Git и Python на каждую сборку в отдельности, я не стану беднее от "лишних" занятых на диске гигабайтов.

Конечно же нужно выкачать святые зависимости, ох уж эта вонь от болота зависимостей, вы её чувствуете? И я не чувствую, а она есть...

-6

Естественно PIP требует обновлений, что поделать, нужно накормить беспомощное приложение обновлениями, на минуту работы в данном случае, одну команду ввести в консоль и насосать обновлений из репозиториев.

А вот дальше проблема, сертификаты протухли... Что, опять вручную всё выкачивать через браузер по 10 раз? Серьёзно? Мало мне было в прошлый раз этого ужаса...

Я немного поковырялся, попытался понять как решить проблему, но я же не очень умный, да и не программист вообще, потому просто скопировал из уже рабочей сборки недостающую зависимость:

-9

Это сработало, мне не пришлось выкачивать "gfpgan", но теперь оно не может скачать какой-то "CLIP"!

Копируя зависимости вручную я задумался, а зачем вообще этим занимаюсь? В итоге решил поискать проблему в интернете, и да, я не один с подобной проблемой, кто бы сомневался...

-11

Но решение я таки нашёл, нужно просто отключить проверку тухлых SSL сертификатов:

-12

Проверка сертификатов отключена, запускаю снова сборку, и судя по активности сетевого подключения оно таки начало сосать зависимости из репозитория, правда я посмотрел размер этой зависимости в уже готовой сборке... Лучше бы я скопировал вручную эту зависимость из соседней сборки...

Ладно, пусть качает, хотя нет, уже практически полночь за окном, отдыхать тоже ведь нужно, потому закрою консоль и продолжу уже на следующий день.

-13

Вот и настал следующий день, сегодня мобильный интернет относительно стабильно работает судя по графику скорости, и это отлично! Ведь зависимости сами собой не прилетят без доступа в интернет!

-14

Хм, что же могло пойти не так после установки зависимостей... Доступ в интернет предоставил, проверку тухлых сертификатов отключил, зависимости загрузил, и оно всё равно не хочет нормально работать...

-15

Попытался найти решение проблемы в поисковике, было бы удивительно, если бы другие люди не сталкивались с проблемой, а по чьей вине эти проблемы? Правильно, по вине разработчиков от которых несёт паршивыми "линуксами" и болотом зависимостей... Сделали "не как у всех"? Сделали "не как в Windows"? Получайте "результат"!

А ведь решение всех проблем на поверхности, всего-то нужно было собрать все зависимости в одно целое и не насиловать пользователей этим зоопарком, но гордость "пингвинов" она такая...

-16

Ну ничего, я не брезгливый, так что скачаю всё вручную и закину куда надо... Подумал я и скачал Stable Diffusion из репозитория вручную, но что-то снова пошло не так.

-17

В итоге я наколдовал всякого через консоль:

И о чудо! Оно вроде как заработало! Хотя мне пора идти по другим делам, оставлю я свой ПК наедине с консолью, надеюсь когда вернусь меня не будут ожидать весёлые сюрпризы...

-19

Ну да, конечно, решил перепроверить прогресс перед уходом... Репозитории это хорошо? Репозитории это круто? Надёжность выше крыши до небес? Да, оборвалось скачивание зависимости без которой приложение не будет работать...

-20

Ладно, запустил ещё раз и ушёл, на этот раз всё загрузилось и запустилось когда вернулся и посмотрел в консоль, осталось только проверить, а работает ли оно вообще?

-21

Но как только попытался сгенерировать результат... Я вообще-то надеялся что всё заработает и мне не нужно будет решать очередные проблемы, но реальность сурова, вот бы всё было как в мире фантазий фанатиков Linux, где всё прекрасно и работает без проблем...

-22

Точно, я же не удовлетворил зависимость k_diffusion, но удовлетворение этой зависимости не помогло, всё та же ошибка при попытке сгенерировать изображение.

Я конечно понимаю что сейчас у меня нет видеокарты от AMD для полноценного тестирования, но это не имеет значения в данном случае, оно должно было работать и без видеокарты AMD, но не работает:

Ладно, пришло время переустанавливать линукс... Тьфу, линуксоидный софт!

Многое у меня уже находилось в кэше, потому на этот раз установилось быстрее обычного, но у меня явно не всё было кэшировано, "torch_directml" в итоге скачивался из интернета, неужели из-за него ничего не вышло с первого раза?

Наконец все зависимости присосались куда надо, и снова ругань на отсутствующий stable-diffusion...

-25

Да, k_diffusion и stable-diffusion снова не подсосались из репозиториев по зависимостям, что поделать, запихну вручную эту недоразвитость куда надо, заодно модель подсуну чтобы не выкачивало через мобильный интернет лишние 4 гигабайта которые у меня уже есть в другой папке...

-26

И наконец оно запустилось, со второго, третьего, десятого раза проще всё выходит, не правда ли? А ведь абсолютное большинство адекватного софта для Windows достаточно просто установить дважды кликнув мышью по установочному пакету, и всё будет работать, но сейчас как можно заметить, я имею дело с линуксоидным софтом...

-27

Впрочем, проблема никуда не исчезла после сборки с нуля, наверное нужно купить видеокарту от AMD и тогда заработает, или не заработает? У меня нет видеокарт от AMD потому не знаю.

-28

Да, я пытался всё что возможно перепроверить и скачать если не хватает чего нибудь, но это никак не помогло, всё бесполезно, DirectML версия Stable Diffusion Web UI это просто нерабочий мусор в данном случае.

Я уже вообще не смотрю на "мануалы" от так называемых разработчиков, теперь я просто делаю чтобы хоть как-то сработало, вдруг повезёт и оно заработает.

-30

Впрочем, я опять нарвался на проблемы с SSL сертификатами судя по всему, или просто ошибка при скачивании, вот так новость. Ну ничего, я ещё раз попробую пока мобильный интернет относительно адекватно работает в плане скоростей...

Ах да, точно, надо бы модель закинуть чтобы оно не сосало из интернета...

-32

Ладно, хватит, мне надоела возня с этим недоразвитым софтом...

-33

-

--

---

Заключение

Так я и не заставил работать DirectML версию Stable Diffusion Web UI... Надоело, просто надоела эта возня с изначально недоразвитым софтом. А потом жалуются люди, почему подавляющее большинство софта делают под видеокарты NVIDIA, а не AMD, и правда, почему же... Может просто нужно адекватно разрабатывать софт? Ну это, чтобы софт хотя бы работал "из коробки" и пользователю не приходилось всё делать вместо разработчиков...

Взять те же драйверы для видеокарт, NVIDIA хорошо постарались с поддержкой своих видеокарт для Linux, и если дистрибутив не поломался при установке драйвера (а дистрибутив может поломаться от любого чиха), то пользователь получает практически полный функционал видеокарты, и Vulkan API, и OpenCL, и CUDA, адекватную контрольную панель "из коробки", даже с "устаревшей" GTX 1070... А что у AMD с R9 290 или подобной видеокартой? Драйверы "из коробки" которые ничего не могут кроме OpenGL, а при попытке установить другой драйвер можно легко попасть на чёрный экран...

А фанатики Linux ещё имеют наглость прикрывать некомпетентность горе разработчиков понятием Open Source, мол сделали софт бесплатно, значит этот софт может быть кучей навоза неработоспособной и при этом рассыпающейся от любого чиха со стороны.

Почему дистрибутивы Linux не способны конкурировать с Microsoft Windows

-34

Лучше бы я потратил своё время на игры, или на доработку сборок Waifu2X Neuro и Real ESRGAN Neuro, впрочем, линуксоидный софт дело такое, пока не попробуешь...

Благодарю за внимание, больше интересных статей в блоге Hard-Workshop.

-35

📃 Читайте далее на сайте