Комментарии 216
Как на КДПВ-гифке генерируется лого-текст поверх картинки? В промпте я его не вижу, но промпт вообще трудночитаем. Кроме того, результат выглядит подозрительно. Постпроцессинг?
В пост продакшене только подрезал и ускорил, увы, mp4 хабр до сих пор не умеет, я бы залил с качеством по лучше, можете у меня в тг посмотреть в полном разрешении.
Это Image Prompt, Canny, куда загружено png с текстом, при изменении промпта текст стилизуется в "тему". Это как раз то, о чем я планирую рассказать в продолжении статьи.
png с текстом
Благодарю за ответ. Это было второе предположение после постпроцессинга. Только я предположил более автоматизированное решение: png с текстом не принимается на вход, а растеризуется классическим алгоритмом из промпта со специальным keyword'ом.
Без подобных трюков, по моему глубокому убеждению, с текстами работать не выйдет. (Это, кстати, ответ на вопрос про магазин «Пятёрочка» ниже — будет вывеска «Птрчкаа»).
Вот сколько вижу подобных локальных генераций - постоянно то избитая супергероика, то знаменитости в каком-либо окружении. Есть ли примеры генерации, например, магазина Пятерочка в каком-нибудь спальном районе Белграда?
Примеры создаются для максимальной абстракции и донесения того, на что нейросеть вообще способна, я прекрасно понимаю что любой читатель Хабра так или иначе знает как выглядит Харли Квин и сможет оценить как она получилась.
А вот как выглядит магазин Пятерочка, скорее всего не знает даже дата сет, на котором производилось обучение моделей, а значит сгенерировать его будет уже не так-то просто, надо будет использовать дополнительные инструменты, редакторы или расширения. Но невозможного в наше время нет и если поставить перед собой такую задачу, то можно хоть Магнит в космосе, хоть Ашан в Калуге сделать.
я прекрасно понимаю что любой читатель Хабра так или иначе знает как выглядит Харли Квин
Харли Квин? Это кто? И почему я «так или иначе» должен это знать?
Потому что вы не живете в информационном вакууме, судя по тому, что зашли в интернет и так или иначе слышали или видели этого персонажа, а может быть вы как раз то небольшое исключение. Хорошо, не аккуратно использовал слово "любой", давайте заменим его на "большинство".
Погуглил. Если я правильно понял, это какая-то «суперзлодейка».
Видимо у нас разный интернет — я это «чудо в перьях» первый раз увидел с вашей подачи.
Видимо у нас разный интернет — я это «чудо в перьях» первый раз увидел с вашей подачи.
Я бы на вашем месте обратился к врачу --- скорее всего у вас провалы в памяти. Просто потому, что Харли Квин настолько часто упоминается вне контекста, что не знать кто это практически невозможно.
Ну или вы узнали её, а сейчас просто кокетничаете: "Ах, да я такой неграмотный, расскажите мне о ней больше, пожалуйста". Если это так, то конечно продолжайте, я вас осуждать не буду.
оставьте его! человеку очень важно доказать случайным людям в интернете что он "не в тренде", таким не от избытка радости занимаются..
200 лет назад утверждение "я прочел все книги в мире", запросто могло быть правдой. 30 лет назад утверждение "я просмотрел весь Интернет", так же запросто могло быть правдой. вы действительно считаете, что сегодня человек может знать все обо всем, что происходит в цифровом и реальном мире? мне лично это имя тоже незнакомо.
вы действительно считаете, что сегодня человек может знать все обо всем, что происходит в цифровом и реальном мире?
«Жить в обществе и быть свободным от общества нельзя»
Это я к тому, что все известные мне случаи, когда человек вставал в позу и спрашивал: "А что это такое ДОМ2" --- были интеллектуальным снобизмом.
Потому что я сразу сообщал что ДОМ2 --- это клуб высоколобых интеллектуалов, что-то вроде современного "Очевидного-Неверотяного" и собеседник палился:
--- Это Май Абрикосов тебе интеллектуал?
--- А говорил что ничего не знаешь!
Харли Квин? Это кто? И почему я «так или иначе» должен это знать?
А что за претензия? По вашему автор обязан использовать в примерах только то, что непосредственно вашему "я" хорошо знакомо?
Токсичные комментарии типа вашего могут отбить желание писать статьи. Ответ автора заминусовали, думаете это способствует желанию делиться знаниями или комментировать? А мне интересны подобные статьи!
Вы явно же просто доколупались. И удивительно, что ещё кто-то поддержал это доколупывание минусами.
Что с вами, люди? Нужно самоутвердиться за счёт кого-то?
Что с вами, люди?
С нами всё в порядке. Просто раздражает засилие поп-культурного идиотизма и претензия автора на то, что все должны быть в этом (идиотском) контексте.
Если вас раздражает - это уже не в порядке. В мире равномерно представлены и красные фломастеры и зеленые, но вам не нравятся зеленые, поэтому вы на них обращаете внимание чаще и раздражаетесь. Разве это нормально?
ну кто-то, например я, знаю ее из-за мульт-сериалов 90х-00х годов)
Фильмы с Харли не смотрел, из всего DC после темного рыцаря 2008, я посмотрел только джокера.
ПыСы: мне казалось, что контркультурное поведение в отношении попсы проходит вместе с пубертатом)
Это такая Королева бензоколонки, но для молодежи.
А есть техническая возможность как-то докормить уже готовую модель фотографиями магазина "Пятерочка"?
Да, это то что называют fine-tuning, дообучение уже существующей модели на пользовательских данных, большинство моделей так и получается. Но можно обучить и лору, мини модель, которая будет знать только про одну концепцию, вывеску магазина Пятерочка, например, это будет сделать проще и по ресурсам и по подготовке.
я прекрасно понимаю что любой читатель Хабра так или иначе знает как выглядит Харли Квин и сможет оценить как она получилась.
Я не знаю, вообще половину отсылок не понял. Потом загуглил, тут большая часть из комиксов и из кино по комиксам. Вы правда думаете, что всем это интересно?
По запросу "Shop "Pyaterochka" in a residential area of Belgrade" сгенерировало вот это. Все настройки и т. п. дефолтные.
Ну по стилю старого Белграда попал неплохо. Pyaterochka кажется так себе промпт - в датасете по этому слову почему-то залежи картошки: https://rom1504.github.io/clip-retrieval/?back=https%3A%2F%2Fknn.laion.ai&index=laion_400m&useMclip=false&query=Pyaterochka
Кажется сеть честно пыталась даже заданное название написать. Сгенерил в фокусе без допсредств, типа ControlNet, по вашему промпту.
У меня оно тоже пыталось название вписать - мне, как дилетанту в области ИИ, этот фейл с названием первым бросается в глаза. Но это, скорее всего, значит, что подобными "фейлами" картинка полна, просто остальные не так в глаза бросаются. На вашей картинке следующий по заметности косяк - это, наверное, тканевые занавески, заправленные под ажурные арочные окна. А ведь оно, говорят, то ли уже программы за нас пишет, то ли вот-вот начнёт...
Попробовал немного рассказать нейросети про Пятерочку и про спальные районы Белграда
Есть несколько SDXL лор, которые улучшают работу с текстом, можно попробовать их добавить, тогда буквы будут консистентнее)
Лоры конечно улучшают работу с текстом, но не решают проблему.. только ControlNet в атоматике или CPDS в фокусе. Вот например (не удержался от картинок в тексте - сори..) эта вышивка сделана в фокусе через подсовывание в image prompt черных букв на белом фоне.
при этом автоматик безбожно жует мелкие буквы вообще в любом вменяемом ControlNet режиме и оставляет их только если загнать силу маски на максимум. Но при этом никаких шансов не остается у самого запроса и у текстуры вышивки нитками. В конфи я тоже долго парился, но не смог. Хотя там наверняка можно это сделать через какую-нибудь монстроидальную систему нод, но я не настолько загоняюсь. В вот в фокусе получилось сравнительно нормально по качеству и сравнительно легко.
Интересная интерпретация цифры 8. И левосторонний автобус.
Спасибо, интересная штука.
По поводу требований к железу хочу дополнить: на линуксе вполне работает на видеокарте с 4GB видеопамяти, а вот 16GB RAM не хватает, процесс убивается по OOM.
Интересно, ведь модели sdxl весят по 6.5 гигов, а чтобы они работали, они должны полностью помещаться в память, не знал, наверное что-то типа файла подкачки используется, я не очень силен в линукс системах =)
К слову, на гитхабе проекта вообще указано, что минимальные требования по видеопамяти - 4 гига, а системной 8, но при этом должна быть включена Microsoft’s Virtual Swap, которая обычно включена по-умолчанию:
"Note that the minimal requirement is 4GB Nvidia GPU memory (4GB VRAM) and 8GB system memory (8GB RAM). This requires using Microsoft’s Virtual Swap technique, which is automatically enabled by your Windows installation in most cases..."
Скорее всего у вас на видеокарте они в формате f16 лежат и частично скидываются в оперативную память, а на процессоре так считать не получится все нужно держать в памяти в f32. На Stable Diffusion от Automatic1111 для этого есть специальные опции: --no-half
, --medvram
, --medvram-sdxl
, --lowvram
, --lowram
. У меня 8Гб на видеокарте, иногда при использовании ControlNet приходится этими опциями жонглировать, чтобы памяти хватало.
при желании на том же automatic все вообще на cpu можно уронить, и в целом даже с этим можно жить.
Небольшой оффтопик, а какую видеокарту сообщество может посоветовать сейчас купить чтоб поиграться с разными нейросетками под Linux'ом? (или где посмотреть это?)
И вообще, то что для игр мне видюха не нужна - открывает какие-то дополнительные возможности (можно купить что-то мощное дешево, то что геймерам не подходит, а для нейросеток очень даже)?
Вот сейчас на озон зашел, от 8 гигов, самые дешевые: RX580, RX 570, GTX 1070, GTX 1070Ti, GTX 1080, RX 5700 XT.
Любая из них пойдет или нужно от конкретного производителя, чтоб были хорошие драйвера под Linux?
Нет такого, что геймерам не подходит, используются те же самые вычислительные ядра, так что самое лучшее что можно купить для нейросеток сейчас это 3090. На 10 серию даже не смотрите как в на 20.
Посмотрел... 24Gb и цена под 100 000. Думаю, нужно уточнить мой вопрос. Меня интересует самое лучшее из самого дешевого. Тратить 100к чтобы просто побаловаться и не извлекать из этого прибыль - я пока не готов.
Чтобы дёшево поиграться можно взять видеокарту в облаке.
Сервер обойдётся где-то 50-100р в час в зависимости от видеокарты.
Чтобы не платить по 20к в месяц, после использования сервер нужно гасить. А перед использование создавать. Главное сохранить жёсткий диск. За него придётся платить где-то 100-1000р в месяц в зависимости от размера и типа.
Желательно, что бы ВК была от Нвидеа и от 30 серии. От 8гб. Лучше 12+. ОЗУ - на 16 был опыт - очень тяжко, вываливается в ООМ постоянно. С 32 разница на лицо.
Можно и с карточками от АТИ или Интел, но тут, как это зачастую говорится в инструкциях - ни каких гарантий. И с обновлением может отвалится. Плюс, все плюшки сначала работают на карточках Нвидии, а уже потом их адаптируют на другие.
Спасибо. Но не очень понял. Вы советуете 12+ ОЗУ видеокарты? А на 16 гигах (в видеокарте) было очень тяжело, то есть, на 12 будет еще тяжелее?
3060 с 12Gb VRAM
для нейросеток сейчас это 3090
Пишут, что для игр 4070 Ti лучше и она даже дешевле 3090. А почему для нейросеток она хуже?
Возможно - б/у tesla P40 с колхозным питанием и с 24 Gb и БЕЗ разъема для монитора? Будут сложности с драйверами
С производителем - почти весь софт - под CUDA, иногда есть порты под AMD ROCm и CUDA но обычно хуже производительность (ну и вероятно тот ROCm будете сами собирать под свое ядро и дистрибутив, но).
Памяти желательно хотя бы 12 Gb, лучше - 16 Gb. Объем видеопамяти важнее ядер в том плане что модель может просто не лезть (но как я понимаю - актуальнее скорее для текстовых сеток а не графических, но для текстовых сеток есть llama.cpp который умеет обрабатывать модели которые частично в видеопамяти)
Если побаловаться по минимуму то на мой взгляд стоит посмотреть на:
RTX 3060 12 Gb за ~30k б/у
Tesla P20 24 Gb за ~20 k б/у
тупо использовать CPU - софт вполне себе будет работать, ну да - все будет тормозить и сильно. Если конечно модель в память влезает
Ну и почитать https://new.reddit.com/r/LocalLLaMA/ на предмет что люди пишут (там правда упор скорее на текстовые модели - очень очень грубо и упрощенно - opensource версия ChatGPT, но для сравнительных целей может и хватить)
3060 на 12 гигабайт VRAM.
Спасибо. Любая 3060 подойдет (вот вижу, например, от MSI) или есть какие-то важные отличия, например, в наличии каких-то особых правильных драйверов для Linux?
LHR версии, которые не подходят для майнинга, подходят для нейросетей или в них тоже лучше переплатить на "честную" видюху без LHR?
Любая, главное чтобы 3060 (не ti) и на 12 гигабайт, а не на 8.
Драйвера поставляются NVIDIA, они одинаковые для всех вендоров.
Спасибо. Вы супер-быстро ответили, я там дописал про LHR еще уточнение, не уверен, ваше "любая" относится и к нему тоже, или вы ответили раньше, чем я дописал. В общем, LHR стоит брать или нет?
LHR режет определенные алгоритмы, которые к нейронкам отношения иметь не должны. НО я не проверял и не гуглил. Проверьте :)
UP: погуглил, не влияет.
LHR не влияет никак. А вот с драйверами придется поковыряться потому что под линукс нет официальных драйверов на масс маркет карты. Есть порты от сообщества разной степени проблемности.
А вот с драйверами придется поковыряться потому что под линукс нет официальных драйверов на масс маркет карты
Это, конечно, не так:
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-keyring_1.1-1_all.deb
sudo dpkg -i cuda-keyring_1.1-1_all.deb
sudo apt-get install --verbose-versions nvidia-kernel-open-XXX
sudo apt-get install --verbose-versions cuda-drivers-XXX
Ubuntu + 3060
Так они ж не официальные вроде?) Проприетарные драйвера есть под винду. А под линухи есть только на серверные линейки, если не ошибаюсь.
А, "официальные" это "открытые"? Тогда нет, конечно.
Но официальные от NVIDIA вполне себе есть.
Тут спич про то, что NVidia не хотела бы, чтобы карты для игр использовались в серверных решениях, к которым относят обычно линукс системы. Потому никак не развивает это направление, мол для линукса есть серверные решения в 3 раза дороже. Мы просто пытались некоторое время использовать масс маркет решения, есть минусы, есть сложности по сравнению с теми же A сериями.
Под Linux со стороны NVIDIA нет никаких ограничений, релевантных для генерации изображений или LLM.
Серверному сегменту ничего не угрожает из-за консьюмерских карт. Они ограничены пулом VRAM, физическими размерами, линиями PCI-E на консьюмерском железе. В какой-то момент еще отсутствием интерконнекта. Но со стороны софта там просто не нужны дополнительные костыли.
Единственное реальное ограничение, об которое можно споткнуться, это ограничение на количество потоков NVENC\NVDEC. Но оно к нейронкам не имеет никакого отношения от слова совсем.
А чем ti не годится? Просто переплата за ненужное или там есть что-то, что именно мешает?
А эта нейросеть может нарисовать не Джокера, а что-то простое, например красный круг на белом фоне?
Может, но попытается сделать его более художественным, потому что обучалась она для того чтобы рисовать не простые круги, а что-то сложное и красивое. Хотя сейчас можно найти модель под любую задачу, да и самому обучить можно.
Вот интересный вопрос... Если я решу обучать что-то свое. Например систему генерирующую простой клип-арт рисунок по описанию. Скрепочку там или человечка. То сколько ресурсов мне потребуется тогда и возможно ли создание отдельных тем для Вашей системы?
Ресурсов уже не так много, 8-12гб видеопамяти сейчас уже достаточно для обучение лоры. Но процесс этот не быстрый в плане подготовки и требует глубокого понимания вопроса и грамотной подготовки дата сета.
LORA тренируется примерно час, Dreambooth часов 8. Большую часть времени будете составлять и тегать датасет, на самом деле.
Легко. Промт ровно такой, как написано, только на англ. Без дополнительных лор или специальных моделей.
А если фон нужен не серый, а белый?
А зачем микроскопом гвозди забивать? Ничего не мешает взять образец цвета, и использовать его в генерации.
Ммм, "это не нужно", знакомый аргумент)
Я не сказал что это не нужно, я сказал что для всего есть свой подходящий инструмент. Дальше вы наверное думали спросить про еще один цвет и про другую геометрическую фигуру, и да их тоже можно. Но зачем, если круг в ФШ делается за пол секунды, а затем используется в генерации как Input Image.
А зачем его использовать в генерации, если уже в фотошопе всё нарисовано?
К примеру, что бы потом нарисовать уже в том же фокусе, использую нужный нам круг их ФШ, огенный круг, через которой будет кто-то прыгать.
Но в целом, использовать SD для рисования геометрических фигур, это мягко говоря странно.
Я понимаю, что концепция размера зебр оказалась довольно сложной для понимания нейросетью, возможно, есть какие-то более простые задачи, решаемые нормально?
Какое время занимает генерация одного изображения на домашней машине?
Хотя бы примерный порядок: секунды, минуты, часы?
Домашние машины у всех разные, у меня RTX 4090 и создание изображения занимает несколько секунд, на 1060 sdxl модели не запустятся в принципе например, а на 3060 скорость может быть пару минут.
Ну не знаю, вчера нашёл твой видос где ты как раз об этом фокусе рассказывал. Решил попробовать на своём ноуте. У меня 1060m ( не qm ) на 6 гиг видео. В стоке, первый раз создание заняло 11 минут, ну это и понятно, как ты в видосе говорил в первый раз так будет всегда долго. То есть всё работает даже без той облегчённой темы которую ты показывал в конце видео, видеопамяти сожрало 4.8 гиг из 6, оперативы с 16 гиг сама консоль жрала 7.9. Я считаю это нормальным и всё запуститься даже на этой. Хотя, учитывая что этот старик оказывается лучше компьютерной 1650 в играх, то я даже не удивлён что и тут всё в норме. Повторюсь, всё в стоке, как скачал, ничего не настраивал, запустил и закинул простой промт из твоего видео ( с пингвином у иглу ), дрова на видяху последние доступные которые от начала ноября этого года.
У всех домашние машины разные. В колабе минуты, 2-3 если всё по дефолту оставить
У меня 2060 с 6гб памяти, где то по минуте уходит на картинку.
Аналогично, минута плюс ещё секунд пять-десять.
На самом деле, потыкал разные модельки с разными плюшками - время может быть абсолютно любым.
Можно оставить только модельку и в 20 проходов рисовать 512х512, тогда у меня уходит секунд 30.
А можно сделать 60 проходов, добавить вторую модель для улучшения, разрешение поднять до 768 и hi-rez подключить - тогда минуты 4.
Потестил решение из поста, потестил отдельно автомат1111, потестил разные модельки в них.
Всё очень грустно, я бы сказал. Взять и просто "получить хороший результат" - почти невозможно. Везде огрехи, модельки игнорируют промпты, требуется много работы напильником, чтобы что-то сносное получить.
Обидно, думалось что можно получить нужные картинки без плотного погружения.
Если хотите создать сложную композицию - придётся изучать инструмент/синтаксис, подсказывая сети в какой момент делать мутации.
Выше писали пол 512х512 - если это было SDXL, поздравляю вы нашли слона. Модель не умеет в меньше 1024х1024.
Если это была SD1.5 - нужно делать hires fix = 0.3 с апскейлером r-esrgan.
В общем - зависит от "тестов". - автор приложил картинки, вполне себе качественные, если вы не смогли повторить - проблема у вас.
А сложная композиция - это к dalle3 в которую вшит LLM.
512х512 было на 1.5 уже. И дело не в хайрезе, дело в композиции того, что рисует модель.
У автора тоже видны проблемы с пальцами, с фонами на части картинок.
Сгенерить "что-то" по запросу - можно. Чуть-чуть поправить или попросить сделать чуть-чуть иначе -- сложно. Если я хочу например нарисовать комикс или визуальную новелку - то просто взять как "готовый инструмент" не получится. Именно что нужно лезть в кишочки, жаль.
Конечно, если ваша задача выходит за пределы создания просто красивой картинки, то и скиллы у вас должны быть соответствующий. Для серьезных робот нужно несколько слоев контролнета, глубокое понимание арт директинга и А1111. Согласитесь было бы удивительно, если бы у вас сразу получилось создавать коммерческий арт с первого подхода. Вот пример того, что можно делать - https://www.reddit.com/r/StableDiffusion/comments/13s8da5/use_sd_for_the_novel_illustration_part6/
Да, я как раз с момента выхода статьи потестил решение, потестил а1111, почитал пару десятков статьей\форумов\роликов. И понял, что оно неплохо для каких-то случайных картинок, а дальше мне лично проще забить =)
Надо "специализацию" по факту получать в инструментарии, чтобы результат был неплох, а лучше ещё и фотошоп какой-нибудь освоить, чтобы результат был хорош. По факту, я вижу что рутину художник в теории способен скинуть на нейросеточку на основе SD, а остальным оно только баловаться.
Не только для художников нейросеть благо. Для любого контент мейкера без нейронок уже никак, картинку для поста или обложки зачастую проще сгенерировать чем найти в гугле.
А в современном мире без генерации контента уже никуда, мемчик для друзей сделать, аватарку для рабочего чата и вот тут как раз на помощь приходят простые решения, как фокус)
Вот только с Midjourney добиться приличного результата по сложному запросу намного проще (хотя часто тоже надо посидеть, но без особой чёрной магии). Собственно почему его и используют и сравнение в заголовке не очень корректно.
1050ti + 32ГБ оперативки (съедает во время генерации 26ГБ) первая картинка за минут 5 генерируется у меня.
Вот бенчмарк различных моделей видеокарт, где указано сколько картинок в минуту они способны выдать.
Stable Diffusion Benchmarks: 45 Nvidia, AMD, and Intel GPUs Compared | Tom's Hardware (tomshardware.com)
У меня RTX 4050 Laptop (6 Gb VRAM, 12 Gb RAM), плюс включена в винде виртуальная память на SSD диск (без этого генерация Fooocus бы не сможет запуститься).
Первая генерация по промпту: 425 секунд.
Повторная генерация по тому же промпту: 320 секунд.
И касательно seed вопросы.
По одному и тому же seed всегда генерируется одинаковое изображение или примерно похожее?
Есть вариант вначале запросами создать "общую картинку" без деталей, а потом используя ее seed уже генерировать вариации с доп. деталями?
Seed это просто ид шума, из одной и той же карты шума можно получить и автомобиль и закат и девушку, но при том же самом промпте вы будете получать тот же самый результат. Если изменения промпта небольшие то и композиция не изменится. Шум всегда первичен, поэтому создать что-то и использовать Seed от этого не получится. Соседние сиды тоже не всегда создают похожие композиции.
Да, можно сделать общую картинку без деталей, и использовать как стартовую, сказав модели что она уже часть работы сделала, пусть дальше дорабатывает. В зависимости от шага с которого начнется генерация будут разные результаты. Если допустим пропустить 10 шагов из 30 - исходное изображение задаст только общую композицию и цвета. Если пропустить 20 из 30 - изменятся только мелкие детали и стиль.
Получающееся изображение определяется в основном промтом и сидом (при остальных одинаковых параметрах). Если все параметры генерации идентичны - изображение будет почти идентичным (должно быть совсем идентичным, но некоторые сэмплеры похоже выдают недетерминированный результат). Причем чем более общий промт, тем больше влияет сид. При очень конкретном промте сид скорее всего будет влиять только на композицию.
Спасибо огромное, наконец-то лично попробовал что это такое - AI генерация изображений))
В процессе установки выкачиваются модели juggernautXL_version6Rundiffusion.safetensors, realisticStockPhoto_v10.safetensors, bluePencilXL_v050.safetensors.
В чём будет разница, если я эти модели просто запущу на stable-diffusion-webui?
В качестве изображений, у фокуса много своих твиков и наворотов, которые конечно можно получить и в автоматике, но сделать это будет сложнее и вручную. Полный список того, что создатель контролнета придумал на странице проекта на гите, в самом низу.
главная фишка фокуса в том что он первым делом переписывает prompt (может быть с помощью gpt?) и для генерации идет уже сильно расширенный запрос. в консоли выводится полный запрос.
Что-то можно сделать с пальцами, может какая-то negate строка? Даже ведь на картинках в статье у Харли Квин какие-то невнятки с пальцами.
Где-то читал, что для нормальной отрисовки пальцев существует лора специальная, правда для автоматика. Надо поискать.
Есть и лоры и негативные эмбединги, но они не решают проблему полностью, лишь немного улучшают ситуацию. Тут проблема в том, что никто еще серьезно не занялся этим вопросом и не собрал открытый дата сет с правильными руками в большом количестве. Как только появится быстро решат проблему сразу повсеместно.
Я подключил парочку. Стало лучше, но всё равно не идеально.
Как совет видел ещё подключение ControlNet, который требует каждый палец отдельно и тогда лишних тоже не будет. Пока не проверил.
Проблемы с отрисовкой пальцев и лиц характерны в основном для старых моделей. В Stable Diffusion 2.0 с этим лучше. А еще есть специально обученные компоненты - VAE модели. Это не полноценные модели для генерации, они подключаются к основной модели и работают вместе с ней. Есть такие, которые реконструируют пальцы и лица.
Базовая модель традиционно плохо умеет руки. У тех, что файнтюнились исключительно на изображениях людей с этим значительно лучше. Вот эта говорят ничего, но это неточно: https://civitai.com/models/43977?modelVersionId=227916
А в чём ключевые преимущества Fooocus перед Automatic 1111? Почему и в каких ситуациях стоит использовать именно Fooocus, а не популярный и имеющий огромное количество расширений, уроков и статей о нём Automatic 1111?
Преимущество в том, что все из коробки работает, сразу, сделать что-то неправильно очень сложно. Это же и недостатки, но как первая генеративная нейросеть или как простой интерфейс, чтобы сделать хорошо без танцев с бубном - фокус идеален. Вот когда его станет мало понадобится A1111.
Преимущества есть.
На пока только Фокус умеет нормально использовать 1.5 модели в качестве рефайна XL модели. Даже в конфи на данный момент это получается похуже. Для примера пара картинок с подобным рефайном вот тут
ну или с логином на цивите https://civitai.com/posts/838369
Иногда получается интересно.
Вторая интересная вещь это собственный фокусный IP адаптер (но это наверное из запланированной второй части статьи) для переноса стилей из входной картинки. Для XL и в автоматике и в конфи это пока работает похуже, а модельку от фокуса пока не получается к ним прикрутить.
Ну и третье очевидное преимущество - изобилие встроенных стилей. Хотя их все можно найти в виде .csv для автоматика, но в нем они работают не совсем так.
Ну и не забываем что были несколько форков фокуса, которые умели, например, вшивать полные метаданные в png или брать полный воркфлоу из поля ввода или картинки, выставлять собственное разрешение, регулировать число шагов и параметры семплеров и еще много чего. Но все они на данный момент сильно отстают от версий самого фокуса.
В точку, потому про форки не рассказываю, они как внезапно появляются, так же внезапно их и забрасывают.
Со всем согласен, еще добавлю про SDXL ControlNet Inpainting модель, которой тоже нету вне фокуса до сих пор, ну вернее есть, на диффузерах, но работает хуже чем там что в фокусе и как портировать её в автоматик пока не очень понятно, автор приберёг для своего проекта.
Пользуюсь automatic1111, InvokeAI, и вот теперь этим. В дополнение к отвеченному, в автоматике нет нормального удобного outpainting'a, для него использовал InvokeAI. Ну и для разных задач можно использовать разные инструменты, сейчас для быстрой генерации я запущу фокус, понравилось качество. Для постобработки автоматик. Для более качественной генерации в outpainting режиме - InvokeAI
А что у нас с цензурой? Может ли данная сеть нарисовать, скажем, нудистский пляж?
В самом софт никакой цензуры нет. Так что он может создавать все, чему обучалась модель. А узкоспециализированные модели под NSFW существуют в широком ассортименте.
В широком вряд ли.. Заявляют да - многие, но лучше встроенного джагнаута под реализм и NSFW работает по-моему ровно 1 модель (и то не во всех случаях), но я не знаю можно ли такие ссылки тут давать :) Все остальное на цивите это просто ужас-ужас (это я обоснованно говорю на основе очень длинных гридов). Так что в 1.5 NSFW намного приличнее пока.
PS И да - я не просто пробовал, но и тщательно присматривался ко всем XL моделям с цивита :)
Может нарисовать пляж когда все нудисты только разошлись.
Попробуйте :). Мне по запросу nude beach выдало 2 картинки которые запросу на мой взгляд - отвечают. И люди там есть. Без одежды конечно же.
А дайте, пожалуйста, совет по комплектухе для нейросетей (исключительно нейронки, игры не интересуют вообще). Например если брать б/у RTX 3090 и собирать новый комп вокруг неё.
Насколько сильно влияет процессор во время обучения? Понимаю, что для подготовки данных - влияет. Но вопрос исключительно про процесс обучения. Допустим данные уже полностью готовы, на лету генерировать не будем. Берём готовые и выдаём батчами. Какого процессора будет достаточно для полной нагрузки видюхи 3090, чтобы процессор не был узким горлышком?
Понятно, что лучше i7-13700K, но он горячий и к нему желательно подороже мать (чтобы питание хорошее было) и охлаждение (топовые кулеры или водянку). А вот какой-нибудь холодный i5-13400 не требователен особо к питанию на материнке и уж точно достаточно будет нормального воздушного охлаждения. Сможет i5-13400 успевать нагружать работой видюху в процессе обучения?
Насколько сильно влияет процессор во время обучения?
Никак не влияет практически, датасеты\бакеты в начале процесса сгружаются в RAM\VRAM, как я понял. Поэтому только непосредственно старт процесса обучения как-то зависит от мощности процессора, но это все равно погрешность.
Какого процессора будет достаточно для полной нагрузки видюхи 3090, чтобы процессор не был узким горлышком?
Процессор и так им не будет. Потому что batch size при обучении крутится в ущерб качеству получающейся модели, а чтобы компенсировать потерю качества - процесс обучения (learning rate) замедляют специально.
Единственный сценарий, когда CPU может вам что-то замедлить - это если вы одновременно обучаете несколько моделей, которые каким-то образом влезли вам в VRAM (больше 2-3 моделей одновременно это уже несколько 24-гиговых видеокарт), и даже тогда вы скорее в PCI-E линии упретесь, чем в мощность процессора как такового.
Условно, если вам только под нейронки - берите комплект зиона с алиэкспресс, их на развес продают в 2023. Если жировать, то можно посмотреть EPYC.
На самом деле CPU бывает узким местом, но это больше касается генерации чем обучения, перехеширование моделей, узким местом может быть и память, если тайминги у планов не совпадают, то все будет работать медленнее, встречал такие конфигурации. Но во всех были не корректно подобраны комплектующие. Если в двух словах, то просто нужна актуальная видеокарта на 12-24гб видеопамяти и актуальные для этой видеокарты камень, материнская плата и память, тогда никаких узких мест не будет.
А зачем в тайтле упоминание Midjourney? При всем желании никакой SD ее не заменяет. Скормите самый простой промпт в mj и в sd и вы удивитесь как облажается sd. Ну т.е. это вообще другое
Если я правильно понял позиционирование фокуса, он как раз таки должен выдавать картинку на уровне mj по простым промтам.
А вы попробуйте фокус, и приятно удивитесь. У меня есть собственный миджорни бот и собственный сервис по генерации на SD, скажу так - миджорни - айфон, который на автомате делает лучше среднего. А SD это камера блэк мэджик, она может сделать то же что и айфон, но не на автомате, а в ручную. Но айфон никогда не сделает того же, что может блэк мэджик.
Заранее прошу прощения если задел чьи-то чувства неуместными или громоздкими метафорами =)
Как я понимаю - упор именно в "у нас также просто как Midjorney и не надо танцы с бубном..но можно и потанцевать если хотите"
под капотом тот запрос что вы ему дадите он доработает чтобы результат был как в MJ. в консоли полные запросы выводятся
Автор, спасибо за статью!
Можно ли пользоваться Фокусом для генерации картинок с целью их продаж на стоках? Есть ли коммерческая лицензия?
Лицензия зависит не от ПО на котором запускаете, а от модели которую запускаете, читайте описание моделей на civitai, в некоторых прямо запрещено коммерческое использование, но большинство моделей разрешают любое использование. Ну и некоторые стоки явно запрещают загружать ИИ контент, насколько я слышал.
Вопрос про достаточное количество видеопамяти.
Недавно NVIDIA представила в новых драйверах функцию System Memory Fallback. Если я правильно понимаю, позволяет использовать основную память компа. То есть не обязательно гнаться за видюхами, где много памяти, теперь можно брать условные 6 гигов и расширять за счёт системной памяти. Верно? Кто-то пробовал? Можно как-то сравнить насколько падает производительность при использовании добавки из системной памяти?
Например можно взять RTX 3090 c 24 ГБ, а можно взять 4070 Ti с 12 Гб и использовать системную память для моделей, которые в 12 Гб не помещаются. Насколько медленнее работать начнет?
Про запуске всего этого на Apple Silicon (M1, M2) даже задумываться не стоит?)
Всё идеально запустилось и заработало
Но!
Поиграв полчасика столкнулся со следующими весьма, на мой взгляд, существенными недостатками:
Полное отсутствие вариативности. Например если играться с вашим промтом с рыжей девицей, модель будет всегда выдавать ОДНО И ТО ЖЕ лицо. Если состарить возраст, появляется немного морщин и ВСЁ. Если написать вместо beautiful, ugly или monstrous, ничего не меняется (что вообще очень странно). Если заменить рыжую на брюнетку, то лицо будет другое, но опять одинаковое для каждой генерации. То же самое с фонами, они всегда почти идентичные. Такое чувство что модель обучали по нескольким фотосетам, с ограниченным количеством людей.
2. Негативный промпт вообще не работает, полный игнор любых запросов
Вы получили результат, а дальше уже учитесь писать запросы, промпт инжиниринг не просто так превратился в отдельную профессию. Чем подробнее, качественнее и осмысленнее вы опишите то, что хотите, тем более точный и уникальный результат получите. По моим запросам - примерам получается хороший результат, потому что они максимально обобщены, а вам же уже хочется конкретики. Но запрашивая просто девушку, вы будете получать просто усредненную девушку.
Вы думаете это первая генеративная нейросеть которую я тестирую? Результат, да , есть, и он относительно не плох, но сравниваю я его не со своими ожиданиями, а с другими сетками и он разочаровывает. Вы не очень понимаете о чем я, вы получаете не просто усредненную женщину, а буквально ТУ ЖЕ самую, просто с небольшими вариациями, чем другие нейромодели не страдают.
Я уж не говорю, что создание чего-то реально нетипового ей дается вообще с натужным трудом.
Попробуйте создать в этом Фоокусе, например, Циклопа, эта задача ему вообще не под силу, ну либо, как вы говорите, я совсем даун в составлении промтов.
Да и в целом уровень генерации это скорее паст ген, хотя это уже неплохо, учитывая скромные физические размеры скачиваемых моделей и шустрость локальной работы.
Вы смешиваете понятие модель и ПО которое её запускает. Если вам не понравилась модель, вы всегда можете её поменять, на цивите тысячи моделей на любой вкус и цвет.
Как я уже сказал, создать можно все что угодно, вы пишите простые промпты, получаете простые типовые результаты, это не вина ни фокуса ни моделей, просто вы еще не умете писать запросы так, чтобы получать что-то уникальное, и это нормально.
А еще скорее всего не отключили стиль Фокус в2, GPT движок, который меняет ваш промпт автоматически и он наверняка постоянно добавляет одни и те же типовые токены, которые делают красиво на автомате и не всегда так, как вы имели ввиду.
Промт был самый простой cyclop. Сделано в фокусе.
Может где-то и есть руководство, но вменяемого я не нашёл. Как заточить такой сервис на облаке и дать возможность тысячам пользователей параллельно генерить картинки используя различные модели или LoRa. И желательно платить только за время, пока генерация картинок идёт. Если кто знает, пожалуйста напишите в комментариях или в личку. Спасибо
Я создал такой сервис, https://artgeneration.me/ пост о нем разместить не могу, модератор сказал сначала 30 кармы надо =)
Задача это весьма не простая, мы на разработку решения превращавшего обычный SD в коммерческое апи и в дальнейшем в веб сервис потратили год, и то многое еще не доделано.
Было бы очень интересно понять, как такое сделать
Ознакомиться с исходными кодами SD, понять как адаптировать их под высоконагруженный веб сервис, выбрать базу и основной стэк, сервис очередей, спроектировать и написать бэкенд и конечно фронтэнд, собрать все вместе. Это если коротко.
Всё это уже есть. Вопрос в том, как создать и держатьна облаке предзагруженные модели и не платить за десятки машин, которые нужно поддерживать
Что же вы за мамкины маркетологи... Как у вас на сайте цены и условия без регистрации узнать?
А почему не рассмотрен вариант с Input Image?
Спасибо за статью, поиграться вечером было интересно!
А может кто подсказать, могу ли я использовать вот эту модель и если да, то как? Вижу во вкладке файлов два ckpt-файла по 2Гб, видимо это оно. В фокусе на вкладке model можно выбирать какие-то модели, там только sd_xl_offset_example-lora_1.0.safetensors есть по дефолту, расширения какие-то разные будто бы.
Только в качестве рефайнера, поиграйтесь еще с фокусом и переходите на автоматик, вот там будет уже возможно все =)
Ну или найти старую версию фокуса, которая еще понимала SD модели в качестве основных :)
То есть такая фича была и они ее сломали? Зачем??
Не сломали, а отказались в пользу SDXL моделей, потому что они выдают результат лучше, цель автора сделать альтернативу миджорни. На 1.5 это невозможно по многим причинам.
потому что они выдают результат лучше
Откровенно говоря, мимикрировать под простоту миджорни - это единственное, что sdxl умеет лучше.
Но я полагаю, что "у нас миджорни дома" и было конечной целью проекта, тогда да... Хотя не вижу причин, по которым софтина должна отказываться от 1.5 моделей, если ей их скармливают.
Для этого любую модель 1.5 можно включить в качестве рефайнера и получить её уникальный стиль, не прописывая два десятка мусорных токенов.
Что есть "мусорные токены"?
Masterpiece, artstation и прочие "улучшайзеры", которых по сути быть не должно, но они есть. Их влияние в SDXL моделях сильно меньше, в результате использовать их нет нужды. Как и должно быть в естественном языке.
Вот уже год генерирую на SD 1.X и ни разу не приходилось ими пользоваться. Я, впрочем, генерирую digital art.
Относительно запуска в колабе - это действительно возможно?
В теории - все возможно, но конкретно этот блокнот ничего не устанавливает на ваш гугл диск и соответственно доступ к нему даже не запрашивает. Но бывают и другие, которые разворачиваются непосредственно на вашем гугл диске и они без доступа к нему просто не смогут работать. Хорошо что исходный код блокнтов виден и если бы они что-то такое делали, сообщество бы об этом знало.
Попытался запустить на ноутбуке с двумя видеокартами. Похоже, пытается генерить на встроенной, игнорируя Nvidia. Как бы это исправить?
Наверно у меня таже проблема. На месте картинки error, больше ничего нет. И ещё у меня ноут Lenovo Legion 5, с мобильной RTX3060 (6гб видеопамяти), ryzen 5600H со встроенной графикой и 16гб озу, с виндой. На нём можно это запустить? Что делать?
По ходу ОЗУ надо увеличивать. У меня примерно похожий вариант, HP Omen с 3060, но ОЗУ прокачано до 64. В пике питоновский процесс коммитит 24 гига памяти.
Питон сожрет все, что найдет. Будет 64 гига, и от 64 сожрет почти все =)
Обалдеть!.. Может можно файл подкачки сделать, например на внешем жёстком диске (чтобы ресурс ssd не тратить)?
Поиграться нормально. но сама модель довольно старая, не понимает текст, не может работать с кол-вом предметов(задал к примеру draw me 2 zebras and a lion - выдала только зебр). К примеру Dalle3 (который встроен в чатжпт) это все корректно обрабатывает. на 4060Ti 8GB работает шустро. А можно ли для этого скачать другие модели - интересует более корректная работа с текстом для логотипов к примеру?
Модель не старая, модель просто не дали, что имеет как плюсы так и минусы. Модель вы можете скачать любую с https://civitai.com/ но текст на всех стабильных дифузиях работает плохо, для этого есть контролнет.
Спасибо за ответ. а что такое контролнет? еще на этом сайте конечно много моделей, т.е. это прям нужно реально погрузиться, чтобы знать какая модель что может
Не сразу, но получилось. ПРомт ровно такой, как у вас.
Но должен заметить, что большинство картинок было или с зебрами или с львами.
Преимущества SD в том, что оно работает на домашнем компьютере и в гибкости. Зебру и 2 львов можно нарисовать с помощью inpaint и controlnet.
Ну косяков довольно много - непонятно что с ногами у львов, плюс это не 2 зебры. Вот что выдает чатжпт по запросу " draw me 2 zebras and a lion". Все же это следующий уровень. То что запускается на локале - это хорошо, вопрос можно ли это как-то применить в своей деятельности, т.е. если вы делаете иллюстрацию для блога или книги или что-то подобное, может ли это заменить стоковые фото или работу иллюстратора
А то что у вас зебры в три раза крупнее льва, вас не смущает? Эти вещи делаются с помощью инпеинтинга и контролнета.
Конечно можно сменить стоки, большинство контент мейкеров и сммщиков так и делают уже пол года, если владеешь промптингом то картинку проще сгенерить чем найти.
Тоже верно, есть недостатки.
А может быть вы знаете какие-нибудь ресурсы\статьи наподобии этой которые объясняют как вообще это делается с основ - " инпеинтинга и контролнета " ?
Вот неплохой ресурс: https://stable-diffusion-art.com/tutorials/
Но стоит учитывать, что всё это развивается столь быстро, что на момент публикации многое может устареть и потерять актуальность.
Из русскоязычного есть на ютубе канал xpuct - рассказывает хорошо, но со специфическим юмором.
Посмотрите мой ютуб канал и бусти, там буквально все темы освещаются =)
Есть способ генерировать изображения нормального размера?
Ну например для печати на футболке хотят A3 300dpi. SD на этом умирает, не хватает памяти видеокарты.
Я уж молчу про какие-то более интересные и полезные разрешения типа полтора метра по длинной стороне при 300dpi.
Интересно, а как именно обучают такие нейросети? Скачивают кучу картинок из инета и к каждой ручками какие-то люди из бедных стран добавляют описание? Сколько нужно изображений? Насколько подробным должно быть описание? Достаточно ли набора тегов?
Вы все верно представляете. Правда делают это не люди в бедных странах, а сами авторы и создатели моделей. Количество зависит от задачи, человека добавить в модель и 30 фоток хватит, добавить стиль фоток 100, добавить целый культурный код страны уже несколько тысяч нужно. В описании дата сетов как и в обучении в целом есть свои тонкости, но их столько, что на серию статей хватит.
"Авторы" нанимают именно что "бедных людей" уже куча скандалов была про найм лидерами ИИ народа в африках за 3 доллара в день на полный день для разметки контента. Правда, в чём криминал не ясно, так как алтернативой было бы отправить этих людей рыться по помойкам, а не в сухости и тепле с печеньками сидеть перед мониторами. Уже есть масса предложений для найма разметчиков контета пулами по 20'000 человеко/часов за $300. За несколько тысяч долларов можно ой-ой какую сеть всякому интересному научить.
А как удалить историю? Или как почистить лог-файл? Спасибо за ответ.
Огромное спасибо за статью. Это реально ресурс, на который я подсел))), в отличие от других с их платностью, переусложненным интерфейсом и пр.
Еще такой момент мне непонятен... Вот если брать портреты известных личностей, как например в Вашем примере с ДиКаприо - тут уж точно не ошибешься, 100% схожесть. Но с другими, также известными медийными персонажами проблема - они похожи, да, но все таки что-то не то.( От чего это зависит?
От того, насколько популярен персонаж и как много с ним в целом контента, модели обучаются на открытых дата сетах, примерно том же, что вы можете найти в гугле, если при поиске по картинкам в гугле вы получаете хороший консистентный результат, персонаж примерно одинаково выглядит, примерно одного возраста, то скорее всего и модель выдаст узнаваемый образ.
Спасибо за ответ. Но все же не думаю, что контента ДиКаприо сильно больше чем с Уинслет. Вообще обратил внимание, что мужские персонажи получаются больше похожи на оригинал, чем женские. Вот пример: Справа сразу понятно кто, хотя тоже не идеал, а вот слева по мнению ИИ - Дженифер Энистон
Была у кого такая проблема и как решали? Вы дает ошибку при запросе.
Скорее всего проблема была еще до ошибки, я не вижу, чтобы у вас был запущен терминал в котором приложение выполняется. Вот перед тем как он умирает в нем скорее всего есть ответ, проследите.
Спасибо за статью. С самой нейросетью все понятно, работает. Не совсем понятно, как в данном случае работать с лицензией? Если использовать не дополнительные модели, а имеющиеся стили. Не нашла никакой информации об этом ни внутри сети, ни где-либо еще
Обычно, все, что вы создаете принадлежит вам, естественно если не нарушает авторских и смежных прав. Подробнее прочитать про лицензию каждой конкретной модели можно на сайте civitai.
Но по факту, сейчас с нейронками и лицензированием творится дикий запад, доказать точно на какой модели было создано конкретное изображение невозможно, потому что большинство моделей содержат информацию друг из друга в результате бесконечных смешиваний.
Fooocus v2 — бесплатный Midjourney у вас на компьютере. Подробная инструкция по установке и использованию нейросети