Мои весёлые приключения с нейронными сетями (Dall-E, Stable Diffusion)
Начало
Внимание! Навигации нет! Мне было лень её делать! Благодарю за понимание! И за непонимание тоже благодарю!
реклама
Изначально я наткнулся на ruDALL-E, даже пытался сгенерировать изображение, пол часа ждал, и на этом моё знакомство закончилось...
Хотя нет, не закончилось, далее я наткнулся на DALL-E от OpenAI, и это было ужасно, нужно было по 10-20 раз нажать кнопку "СТАРТ" чтобы получить результат, впрочем, чего ещё было ожидать от "облачного сервиса".
реклама
Да, некоторых результатов я всё же добился, но это такое себе занятие, причем не сразу даже понял как "правильно" скачивать результаты, потому просто жал правой кнопкой мыши по изображению в браузере и сохранял, а сохранялась видимая зона браузера, отсюда и полосы по краям:
![]() |
![]() |
![]() |
![]() |
![]() |
А это я пытался сгенерировать компьютер с открытой крышкой и системой водяного охлаждения, но у меня никак не получалось...
реклама
Да, я усердно пытался сгенерировать системный блок, и большинство "кредитов" у меня ушло именно на это:
Кредиты? Какие "кредиты"? Конечно же никто не позволит использовать "прекрасные" облачные сервисы бесплатно, есть 15 "кредитов" на старте, дальше либо ждать месяц "халяву", либо платить деньги.
Впрочем, если не ограничивать людей, то никаких мощностей не хватит чтобы всех обслужить, и это одна из критических проблем облачных сервисов.
реклама
Я уже не говорю про "облачный гейминг", где не только нехватка мощностей присутствует, но и нужно компенсировать бешеные задержки алгоритмами предсказаний, а они работают как попало и часто неправильно предугадывают движения пользователя.
Конечно, сейчас я не играю в игры, и задержки в принципе не имеют значения, но проблема нехватки мощностей никуда не исчезает, в том числе "кредиты", без которых сервис просто не будет выполнять свои задачи...
Хотя даже если и есть "кредиты" это не меняет ничего, мне не очень то и хочется отдавать 15$ за 115 "кредитов", чтобы потом по 10 раз передёргивать кнопку "СТАРТ" после очередного срыва генерации по вине нехватки мощностей у сервиса.
В общем, я сказал "оставьте себе свои сервисы" и пошел в сторону локальных вариантов, которые будут работать не у какого-то там дядьки на сервере за океаном, а на моём ПК, и я сам буду решать как работать... Так я пошел в сторону Stable Diffusion.
-
--
---
Easy Diffusion
Первым под руку попался именно Easy Diffusion, кое-как через мобильный интернет я выкачивал установочный пакет:
![]() |
![]() |
![]() |
Вот наконец файл загрузился, сразу же начинаю установку.
Некоторое время установка проходила нормально, но потом началось "веселье"...
Я вроде бы качал полноценный установочный пакет приложения для Windows, но по факту я скачал малую часть приложения, а оставшуюся основную массу установщик сосёт через интернет из репозиториев. В общем, от приложения начало вонять, даже правильнее сказать иначе, начало смердеть недоразвитостью софта для Linux, хотя казалось бы, качал автономный установочный пакет для Windows.
![]() |
![]() |
Ладно если бы меня предупредили о том, что установочный пакет по факту не автономен, и он будет сосать зависимости из интернета почти на десяток гигабайт, но нет же, даже галочки никакой не удосужились сделать в самом начале, зачем спрашивать пользователя "а нужно ли это ему"... Да и вообще, зачем делать полноценный установочный пакет "всё в одном", когда можно сделать "нечто", которое вводит пользователя в заблуждение относительно автономности установочного пакета.
![]() |
![]() |
![]() |
Может быть фанатикам Linux с оптоволокном и нормально, но когда в доступе только мобильный интернет, или когда доступа в интернет вообще нет, догадайтесь сами какой будет "результат".
Пользователь находясь дома с оптоволоконным интернетом скачает приложение, забросит на флешку, и поедет куда-нибудь на дачу отдыхать, потом он попробует установить Easy Diffusion на ПК без интернета, не сможет, и тут выясняется, что установочный пакет ни разу не автономный и нужно качать зависимости, много зависимостей!
А ведь пользователь мог установить приложение у себя дома без проблем, запустил установку и пошёл по другим делам, а когда вернулся его уже ждало окно предлагающее запустить приложение, и он просто мог не увидеть всего того безумия со скачиванием зависимостей.
Ладно, кое-как Easy Diffusion был установлен, можно запускать и использовать, да? А вот и нет!
После запуска вновь начало вонять зависимостями, хотя опять же, я вроде как приложение для Windows устанавливал... Тут я уже начал серьезно задумываться над уровнем интеллекта разработчиков сего "чуда".
А ещё разработчики внедрили в принудительном порядке проверку обновлений при каждом запуске, что позже я без малейших раздумий вырезал из глубин скриптов, ведь отключить в настройках проверку обновлений невозможно. К слову, без системы автоматических обновлений приложение запускалось в разы быстрее, да и риск поломок по вине потенциально кривых обновлений сразу же отпал сам собой.
![]() |
![]() |
![]() |
В итоге я наконец смог использовать Easy Diffusion, и моя первая картинка со стандартной моделью получилась мягко говоря странной, и ради такого результата мне пришлось выкачивать в принудительном порядке стандартную модель на 4 гигабайта через мобильный интернет? Это издевательство над пользователями? Столько приключений во время установки, а результат... Что это вообще такое?
Конечно, дать пользователю "базовый набор" это святое, но вашу кочергу, всё базовое должно быть в установочном пакете! Чтобы пользователю не нужно было докачивать гигабайты хлама после установки, в том числе во время использования приложения...
Потом я скачал и другие модели, а там уже начал экспериментировать и разбираться что к чему.
Это изображение как раз было создано в Easy Diffusion, в моей предыдущей статье оно появлялось уже:
![]() |
![]() |
![]() |
![]() |
Немного странных грибных историй:
![]() |
![]() |
![]() |
![]() |
Так я экспериментировал и изучал Easy Diffusion, результаты при этом становились лучше:
![]() |
![]() |
Пока экспериментировал и генерировал изображения на фоне качались модели, и качалось что попало, я всё равно не разбирался что качать, да и с мобильным интернетом всё не выйдет скачать, мне просто нужен был набор разных моделей для экспериментов:
И снова я увлёкся грибочками, теперь можно было попробовать разные модели, и результаты становились интереснее:
![]() |
![]() |
Но мне не нравился тот факт, что Easy Diffusion работает только с видеокартами NVIDIA, и мне хотелось чтобы с видеокартами AMD оно тоже работало, потому мой взор переключился на другие варианты оболочек, ведь я уже задумался над созданием сборки.
-
--
---
NMKD Stable Diffusion GUI
Дальше я взялся за NMKD Stable Diffusion GUI (SDG), не с первого раза конечно получилось скачать...
Скажу так, я не один танцевал с бубном и над бубном вокруг SDG, цель была проста, хоть как-то заставить его работать, ведь оно не хотело работать ни с CUDA, ни с желанным DirectML:
Пожалуй я оставлю "за кадром" всё что думал в адрес разработчиков имея дело с данным приложением...
Интерфейс максимально плохой, черные шрифты на тёмно-сером фоне, при выполнении каких-либо задач совершенно непонятно, работает оно или зависло, только "бублик" зеленый что-то там вертит своим полу бубликом...
Это что вообще значит? Алё! Разработчики! Зачем вы это сделали? Если не можете в дизайн - сделайте интерфейс максимально простым, прямо как в Windows 98, это будет многократно лучше чёрных шрифтов на чёрном фоне и непонятных зеленых бубликов!
![]() |
![]() |
И ладно если бы проблема была только в интерфейсе, нет, SDG отвратителен и в работе...
Зачем я вообще тратил время и мучился с этим уродством? Тем более выкачивая зависимости через мобильный интернет... Я не знаю... Хотя нет, знаю, нельзя необоснованно называть убогое убогим, потому я и пробую подобный софт чтобы лично проверить, а то вдруг у других людей "руки кривые" и проблем на самом деле нет.
Я несколько раз заново всё пытался делать, а вдруг выйдет со следующей попытки, но вскоре бросил это дурное занятие, может быть потом и вернусь к SDG, чтобы довести до ума приложение, но это не точно, у меня нет желания переделывать убогий интерфейс и плясать над проблемами приложения.
Наверное будет проще и лучше свой интерфейс разработать для Stable Diffusion чем переделывать этот ужас, я даже не буду все скриншоты выкладывать, в этом просто нет смысла, SDG не работает как положено. Даже зависимости нормально не может установить, которые обязаны быть в приложении "из коробки".
Задумка может и хорошая, но реализация паршивая, вот что такое NKMD Stable Diffusion GUI. Конечно, его можно заставить работать если повезет, но везение 80 уровня есть не у всех, и если приложение у одного человека заработало, а у другого наотрез не хочет работать, это однозначно "руки кривые", у разработчика приложения, хотя в данном случае кривые наверное не только руки...
-
--
---
Stable Diffusion web UI
Далее я взялся за Stable Diffusion web UI (SD WEBUI), в целом я мог остановиться на Easy Diffusion, но мне хотелось больше функционала, в том числе возможность тренировать сети на основе своих данных.
Так я начал установку SD WEBUI следуя инструкциям... Интересно, что могло пойти не так при ходьбе по шаткому болоту зависимостей?
![]() |
![]() |
![]() |
В конце концов я загрузил как-то зависимость под названием TORCH весом ~2255 MB, не с первого раза, но загрузил покрывая разработчиков плотным и толстым слоем мата.
Но вскоре появилась другая проблема, это была проблема PIP, судя по инструкции она вызвана неправильной версией Python, хотя Python устанавливал ровно той версии, которая была указана... Конечно же по инструкции я ввёл команду для устранения проблемы, подправил команду чтобы она подошла под мой случай, и пропустил последний аргумент который в инструкции едва заметен так как написан светло-серым шрифтом на белом фоне...
Впрочем, в консоли пишут что нужно вводить чтобы всё исправить, хотя у меня и намерений что-либо сломать не было.
Здесь меня очень заинтересовал Python, ведь SD WEBUI уже имеет в своём составе исполняемые файлы Python, но при этом требует чтобы пользователь захламлял свою ОС устанавливая Python отдельно, я сравнил файлы оригинального Python и того, что был в составе SD WEBUI, версии совпали на 100%, а вот даты изменения и размеры файлов отличались...
У меня есть нескромный вопрос, а что мешало разработчикам SD WEBUI расположить полноценный Python в папке с приложением? Ну чтобы пользователю не приходилось разводить помойку в своей операционной системе устанавливая Python отдельно? А если у пользователя уже установлена другая версия Python и её никак нельзя замещать другими версиями? Что у разработчиков вообще в голове происходило когда они допускали столь отвратительные зависимости...
Ладно, продолжаю возню даже несмотря на то, что смердит недоразвитостью линуксоидного софта ещё похлеще чем во всех предыдущих случаях, хотя это вроде как делали для Windows... Теперь я понимаю почему фанатики Linux кричат про зависимости и проблемы софта в Windows, они сами же и несут это дерьмо в Windows, чтобы потом можно было кричать что не только в линуксах зависимости и кривой софт...
Далее я усердно качал зависимость TORCH, раза 3 наверное качал, ибо постоянно обрывалась загрузка, а в консоли тишина, просто зависало на одном месте и никакого изменения в размере скачиваемого файла.
![]() |
![]() |
Казалось бы, хуже уже быть не может... Может! Не спрашивая пользователя это кривое недоразумение начало выкачивать ещё больше всяких зависимостей и стандартную модель на 4 гигабайта...
![]() |
![]() |
![]() |
Чтобы не тратить зря время я взял уже имеющиеся в Easy Diffusion модели и подсунул к SD WEBUI:
Естественно пришлось закрывать и запускать всё заново, чтобы оно увидело подсунутые модели, но оно ещё насосало некоторых зависимостей прежде чем заработало после всего пройденного...
![]() |
![]() |
Некоторое время я экспериментировал и генерировал результаты, однако вскоре обнаружил проблему, все результаты были "серыми", не было контраста, выглядит как изображение от видеокарт NVIDIA с включенным по умолчанию ограниченным RGB диапазоном:
![]() |
![]() |
![]() |
Причем важно заметить, во время генерации с цветами всё отлично, небо голубое, трава зелёная, но результат становился обесцвеченным и серым:
![]() |
![]() |
Да, проблема была в том, что VAE файл не использовался, почему-то для отображения результата в процессе генерации всё работало правильно, но при создании конечного результата обесцвечивалось, всё встало на свои места когда я принудительно выбрал VAE файл в настройках SD WEBUI.
Наглядно для чего нужен VAE:
![]() |
![]() |
Почему настройку VAE файла спрятали в дебрях настроек SD WEBUI для меня осталось загадкой, ведь эту настройку нужно располагать как можно ближе к пользователю, чтобы она была прямо перед лицом пользователя, но разработчики спрятали как можно глубже и недоступно...
Ладно, одной проблемой меньше, теперь другая проблема, я захотел посмотреть на динамику генерации изображения, вот просто захотелось сделать анимацию из процесса генерации изображения, думаете это простая задача? А кочерга там плавала по озеру.
Во-первых, поисковик ничего толкового не давал на запросы по теме, а скрипты которые попадались были просто нерабочими, причем не я один с этой проблемой столкнулся:
Так я потратил некоторое количество времени в поисках решения для сохранения промежуточных изображений во время генерации, но ничего не нашёл полезного, обычно либо мусор нерабочий попадался, либо мусор нерабочий...
Плотно и усердно обматерив разработчиков я принялся сам разрабатывать отсутствующий функционал, и у меня это получилось, сначала я пытался Python скрипты модифицировать и дорабатывать, но потом бросил ковыряние с питонами и отследил из браузера скрипт который выводил промежуточные результаты.
Таким образом я нашёл нужное мне место в JavaScript файле и набросал туда несколько строчек кода сохраняющих результат в файл, да, это ужасная реализация, но она работала:
Хотя потом мне подсказали одно расширение способное на создание анимации из промежуточных результатов генерации, не скажу что я остался в восторге от кривого "центра расширений", но нужное расширение (sd-extension-steps-animation) кое-как нашёл.
![]() |
![]() |
Включаю скрипт, отключаю всё лишнее, и таким образом получаю что мне нужно было:
![]() |
![]() |
Это в принципе решало задачу, оно сохраняло промежуточные изображения в папку, потому свою разработку я бросил, в ней не было смысла.
Ещё я экспериментировал с объединением моделей и тренировкой сетей, к слову, я попытался в Easy Diffusion соединить несколько моделей воедино, что могло пойти не так?
Правильно, зависимости! И хорошо если мобильный интернет ещё адекватно работает в плане скоростей:
А теперь можно возвращаться в Stable Diffusion Web UI... О да, вот оно, знакомо уже? Не правда ли? Нажал кнопку - привет загрузка зависимостей из репозиториев без предупреждений...
И тут я задумался, а не сделать ли сборку из этого недоразвитого приложения, функционал то устраивает, только от зависимостей избавить нужно, особенно от зависимостей которые разводят свалку в системе пользователя:
Первым делом я решил избавить SD WEBUI от Python зависимости, как это сделать? Просто расположить зависимость в одной папке с приложением, хотя это не так-то и просто.
![]() |
![]() |
Когда Python был скопирован, я полез в центр установки и удаления приложений Windows, там попытался удалить Python из системы, забавно, но удаление Python Laucher поломало мне проводник Windows, он просто сломался и его невозможно было запустить, сразу же закрывался при попытке запуска, так я лишился панели задач с рабочим столом.
Впрочем, браузер и все что было открыто продолжало работать, да и CTRL+ALT+DELETE работало, потому без проблем вышел из системы и зашёл обратно, после чего проводник починился и я удалил Python окончательно из системы, боюсь представить если бы подобная ситуация случилась в дистрибутивах Linux, это однозначно была бы переустановка операционной системы, или мучительные попытки исправить всё через терминал следуя устаревшим и нерабочим инструкциям из интернета...
Естественно после удаления мусора из системы SD WEBUI отказался работать:
Но разве меня это остановит? Конечно нет, потому я прикрутил Python находящийся в одной папке с SD WEBUI и настроил чтобы работало, потом аналогично вынес из системы и Git, что тоже повлекло свои последствия для работы SD WEBUI, впрочем, и Git я успешно прикрутил...
![]() |
![]() |
![]() |
Когда всё уже заработало без зависимостей из системы пользователя, я подрезал отвратительную систему "автоматических обновлений", не нужны мне сюрпризы от разработчиков, так что деактивирую эту "закладку" от греха подальше.
В итоге у меня получилась сборка которая стартует всего за ~10 секунд, для сравнения, пока была включена принудительная проверка обновлений это всё запускалось за ~15 секунд, ибо лишние 5 секунд тратились на проверку файлов и репозиториев через интернет прежде чем дать добро на запуск приложения:
Таким образом у меня всё необходимое для работы SD WEBUI расположилось в одной папке, да, Python разжирел до 4.75 ГБ, но это не страшно, страшно когда эти 4.75 ГБ размазаны среди системных файлов в операционной системе пользователя!
Папка SD WEBUI весит почти 50 ГБ, но стоить заметить, основной вес имеют именно модели, а их у меня насобиралось около десятка.
![]() |
![]() |
![]() |
Ну что, наконец можно спокойно использовать Stable Diffusion WEBUI? А снова кочерга там плавала в озере! Не выйдет! Зависимости скачиваемые без предупреждения во время использования приложения передают привет!
Не передать словами насколько это весело при работе через нестабильный мобильный интернет...
И тут уже вышла моя статья про Waifu2X и Real ESRGAN, где некоторые люди начали говорить про Stable Diffusion, как же это глупо выглядит после всего что я уже прошёл...
Но раз уж я делаю сборку, то нужно выкачать всё необходимое и проверить всё что возможно на работоспособность.
И вот я добрался до модели LDSR, да, вот оно, "неправильные сертификаты SSL", а потом фанатики Linux будут кричать какие репозитории прекрасные, и что это лучший способ распространения ПО:
![]() |
![]() |
Как оказалось я не один с такой проблемой:
Далее попытался скачать нужный файл через браузер:
Стабильность мобильного интернета оставляла желать лучшего:
![]() |
![]() |
А потом я начал замечать чудеса, файл почему-то бесконечно качался:
Да, загрузка постоянно обрывалась и начиналась заново, и я не мог скачать нужную зависимость...
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Вообще никак оно не загружалось, постоянно сбрасывалось и начинало заново, думаю нет смысла говорить как плотно я обложил матом разработчиков софта допускающих подобные зависимости...
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
В итоге я понял одно, нужно просить помощи у друзей, у которых интернет имеет скорости не 2-3 МБ/с, а все 10-15 МБ/с, чтобы это убожество просто не успело оборваться до завершения загрузки, да и проводное соединение явно стабильнее будет мобильного интернета.
Таким образом у меня наконец появился адекватный доступ к файлу, правда человек разбил его на 4 части, наверное чтобы проще мне было качать через мобильный интернет:
Только так я благополучно скачал эту убогую зависимость для Stable Diffusion Web UI, причем с первой попытки, просто взял и скачал, спасибо Яндекс Диск за стабильный доступ к файлам:
![]() |
![]() |
![]() |
Наконец я смогу удовлетворить зависимость...
Переименовываю файл, чтобы SD WEBUI его увидел и не пытался выкачивать через убогий репозиторий.
И тут я уже думал всё позади, но нет, нужно ещё кое-что загрузить, выяснилось это конечно же только после того, как предыдущая зависимость была удовлетворена, чем же это завоняло? Даже не знаю...
Ничего, я и не такое "осиливал", дорабатываю "мелочи" вручную:
![]() |
![]() |
Наконец LDSR у меня заработал! Аллилуйя! Оно заработало! Но я то понимаю что это ещё не конец...
Далее я просто перебирал алгоритмы и выкачивал все зависимости которых у меня ещё не было, просто рутина, даже сказать нечего, выбирал алгоритм, жал кнопку для генерации результата, и смотрел, будет докачивать зависимости, или нет, обычно докачивало...
Не всё идеально прошло конечно:
![]() |
![]() |
![]() |
![]() |
А потом внезапно из болота всплыла новая проблема, Web UI перестал понимать изменения в полях для текста, просто поломалась часть интерфейса:
В чем была проблема? Ну как сказать... Проблема была в LDSR над которым я уже танцевал с бубном ранее... Да, после использования LDSR ломался SD WEBUI, и это лечилось только полным перезапуском приложения.
Я не собираюсь это исправлять в данный момент, когда закончу работу над сборкой просто сделаю упоминание, что LDSR кривой хлам, воздержитесь от использования, а там будет видно дальше, может и сам поправлю потом, а может и нет.
-
--
---
Заключение
Это конец? Нет, это ещё не конец, и раз уж столько трудов было вложено на доработку изначально кривых утилит, я решил сделать сборку...
К статье про Waifu2X и Real ESRGAN был один забавный индивид, мол в Stable Diffusion всё прикручено, только выбирай на вкус и цвет, и что нужно ценить своё время, что-то ещё за прогресс писал, как он идёт семимильными шагами:
Я не пойму, это какая-то новая форма троллинга?
Ну и ещё раз вернемся к увеличению картинок с помощью Stable Diffusion:
Для примера возьму сгенерированное изображение в оригинале 512x512, второе это оригинал увеличенный через контекстное меню с помощью сборки Real ESRGAN Neuro, а последнее это генерация оригинала + увеличение с помощью Real ESRGAN встроенным в Stable Diffusion Web UI, тут всё и так "на лицо":
![]() |
![]() |
![]() |
И вот как мне увеличить картинку не искажая оригинал? С помощью моих сборок Waifu2X и Real ESRGAN это можно сделать в 2 клика мышью, а как это же сделать через Stable Diffusion Web UI?
Ещё не забыли сколько было пройдено всякого чтобы просто сделать Stable Diffusion пригодным для использования? Ради чего это всё? Вот я забросил в img2img изображение и попытался увеличить, это всё заняло примерно две минуты с момента запуска SD WEBUI, результат конечно получился, но не тот что нужен! Получилась каша на выходе...
Тем временем при помощи сборки Real ESRGAN Neuro я получаю результат за считанные секунды, причем не нужны никакие CUDA для работы.
Я уже молчу про массивность Stable Diffusion и маленький размер сборки Real ESRGAN Neuro, кто действительно ценит своё время, тот однозначно не будет начинать возню со Stable Diffusion ради обработки нескольких картинок на скорую руку.
Но вернёмся к Stable Diffusion, на текущий момент у меня уже есть вполне рабочая сборка на основе Stable Diffusion Web UI (AUTOMATIC1111), но я еще не чистил её от мусора и не проверил весь функционал, вдруг там ещё есть зависимости неудовлетворённые:
Да и поработать над удобством ещё нужно, чтобы как минимум я сам мог нормально воспользоваться сборкой где угодно и когда угодно, в общем сборка пока ещё не готова для загрузки в GitHub, особенно через мобильный доступ в интернет...
Так что если у вас есть острое желание испытать острые ощущения со Stable Diffusion, тут я могу только пожелать удачи.
Ну а разработчики... Я не знаю что этих людей побуждает гадить в систему пользователя и разводить свалку кривых зависимостей.
Вот есть пользователь, у него уже могут быть установлены Python и Git, для запуска Stable Diffusion Web UI нужно удалить "неправильные версии" и установить "правильные версии", только вот что делать пользователю если с "правильными версиями" у него перестанут работать другие приложения? Жертвовать всем ради SD WEBUI?
Попробую сказать иначе.
Допустим, разработчик Вася создал игру Тетрис, игре нужен нестандартный Direc999, и вместо того, чтобы нестандартный Direc999 внедрить в саму игру, разработчик Вася требует чтобы пользователь заменил стандартный Direc11 на нестандартный Direc999, в итоге у пользователя работает Тетрис, но перестают работать все остальные игры, когда пользователь понимает в чём проблема, он возвращает назад стандартный Direc11 в систему, но вместе с этим перестает работать Тетрис от разработчика Васи.
Это просто ужасная ситуация, и некоторые разработчики постоянно наступают на эти грабли, по моим наблюдениям, это преимущественно разработчики проникшиеся духом помойки дистрибутивов Linux.
Думаю к таким разработчикам нужно прийти домой, сесть за рабочий ПК, перемешать все файлы в файловой системе, удалить операционную систему, установить сборку Windows от условного дяди Васи с наихудшей репутацией в кругах сборщиков ОС, и уйти разбросав все вещи в доме по дороге к выходу, тогда наверное разработчик наконец поймёт что значит "прийти и нагадить в систему пользователя", и это не призыв к действию, даже не думайте так поступать, не стоит опускаться на уровень таких людей...
В любом случае я работаю над сборкой Stable Diffusion на основе "Web UI", не знаю сколько ещё подводных камней откопаю во время работы, но уже нельзя бросать начатое... Стыд и позор, чтобы пользователь влезал в дебри программирования и подтирал попы за разработчиками софта, это ли прогресс, который идёт семимильными шагами?
На этом пожалуй пора завершать статью...
В завершение решил сгенерировать изображения на основе своего псевдонима (Chimbal), забавно, но я догадался это сделать только сейчас, и результаты получились забавными.
Так как я ничего не писал в исходные данные кроме "Chimbal", то и результаты получились соответствующими, где-то три ноги, где-то вообще непонятно что происходит, но я постарался выбрать лучшее из того что было создано. А что до модели, я уже не помню в каких соотношениях создавал текущую модель и в каком порядке смешивал другие модели, просто смешал первые попавшиеся модели несколько раз и получил что получилось.
В общем, у меня нейросеть обычно рисует как-то так меня:
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
На этом и завершу.
Благодарю за внимание, больше интересных статей в блоге Hard-Workshop.
Лента материалов
Соблюдение Правил конференции строго обязательно!
Флуд, флейм и оффтоп преследуются по всей строгости закона!
Комментарии, содержащие оскорбления, нецензурные выражения (в т.ч. замаскированный мат), экстремистские высказывания, рекламу и спам, удаляются независимо от содержимого, а к их авторам могут применяться меры вплоть до запрета написания комментариев и, в случае написания комментария через социальные сети, жалобы в администрацию данной сети.
Комментарии Правила