Друзья, всем привет! Сегодня я хочу рассказать вам про самую простую и доступную для понимания нейросеть, которая создает изображения по вашему текстовому описанию. Она называется Fooocus и основана на знаменитой Stable Diffusion XL. Это идеальное решение в качестве вашей первой нейросети, и необходимый инструмент для любого дизайнера или контент мейкера.

Fooocus v2 — бесплатный Midjourney у вас на компьютере.
Fooocus v2 — бесплатный Midjourney у вас на компьютере.

Автор Fooocus не случайный разработчик, а сам создатель ControlNet, очень важной подсистемы для Stable Diffusion, которая изменила все в мире генерации изображений, позволив художникам и дизайнерам полностью контролировать создаваемый арт. Создатель сравнивает свой проект с Midjourney по качеству арта и удобству использования. И действительно порог входа в эту нейросеть очень низкий, а результаты отличные с первой генерации. Установим, изучим, сделаем выводы, поехали.

Что нам понадобится:

  1. Компьютер или ноутбук с видеокартой минимум на 8GB видеопамяти.

  2. Около 25GB свободного места на диске для одного режима и 40GB для всех трех.

Или Google аккаунт для запуска в облаке.

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

Запуск в Google Colab

Открываем вот эту ссылку, и нажимаете на кнопку плей, соглашаетесь с гуглом и жмите кнопку Выполнить. Ждите пока произойдёт скачивание и установка на сервер Google Colab, это может занять до 10 минут.

Вы поймете что установка завершена и программа готова к работе когда внизу консоли увидите App started successful. и рядом будет ссылка вида https://какие-то-цифры.gradio.live, вот на неё и надо будет кликнуть. Программа откроется готовая к работе.

Если вы хотите запустить в режиме Realistic или в режиме Anime замените строку кода !python entry_with_update.py --share на строку !python entry_with_update.py --preset anime --share для режима Аниме, или на !python entry_with_update.py --preset realistic --share для режима Реализма. Про режимы я еще расскажу ниже.

Помните, что Google Colab еще весной прикрыл возможность использовать свои мощности для генерации в Automatic 1111, другом интерфейсе нейросети, скорее всего скоро прикроют и этот, поэтому не рассчитывайте на него слишком сильно. Кроме того по итогам моих тестов, вижу что контейнер с фокусом вылетает если сильно грузить его, например если несколько раз подряд отправлять изображение на аутпеинтинг каждый раз с увеличением разрешения. Так, что только локальная версия вас не подведет, к ней и перейдем.

Локальная установка

Если у вас ПК на Windows и видео карта NVidia, все что вам нужно сделать, это скачать архив с этой страницы, нажав на >>> Click here to download <<<. Архив распакуйте в любую удобную папку не содержащую в путях кириллицы.

После того как архив распакован у вас в папке будет три файла run.bat, run_anime.bat и run_realistic.bat, каждый из файлов запускает соответствующий режим, про режимы я покажу наглядно чуть ниже, а пока можете выбрать то, к чему больше душа лежит, я запущу режим по умолчанию - run.bat.

Для установки на Mac, AMD, Linux и т.д. переходите на гитхаб проекта и изучайте способы самостоятельно, поддержка заявлена, но у меня протестировать не на чем, а рассказывать о том, что я сам не протестировал я по понятным причинам не могу.

Если вы все сделали правильно, не важно локально или в гугле, то у вас уже открыт интерфейс фокуса и выглядит он примерно так, попробуем написать какой-нибудь простенький промпт и посмотрим что получится. У меня это будет "Leonardo DiCaprio as a mechanic in a garage with oil effect in a rugged style". Первая генерация будет дольше чем последующие, потому что еще скачиваются дополнительные файлы. Вот что получилось у меня.

Leonardo DiCaprio as a mechanic in a garage with oil effect in a rugged style
Leonardo DiCaprio as a mechanic in a garage with oil effect in a rugged style

По моему отличный результат, кстати, если у вас так же как у меня не выбирается автоматически темная тема, просто добавьте в конце адреса в адресной строке ?__theme=dark, тогда будет установлена темная тема. Работает и локально и в гугл коллабе.

Wonder Woman in the style of Babs Tarr with pop art effect. Согласитесь, темная тема гораздо приятнее
Wonder Woman in the style of Babs Tarr with pop art effect. Согласитесь, темная тема гораздо приятнее

Как писать запросы

Чтобы нейросеть вас понимала, важно научиться правильно писать запросы. В фокусе у нас работают SDXL модели, которые отлично понимают человеческий язык, а дополнительный GPT движок улучшает ваши текстовые запросы самостоятельно, поэтому каких-то особых знаний вам не понадобится. Просто опишите то что хотите видеть следуя такой структуре: Вид изображения, объект, описание внешности, дополнительные элементы, место, эффект, стиль.

Например: Фотография красивой девушки 28 лет, красные волосы заплетенные в косы, большие голубые глаза. Одета в красивое голубое платье с белыми цветами. День, лето, сидит в кафе, пьет кофе. Современная цифровая иллюстрация, рекламный постер. Затем я просто перевожу текст в любом переводчике и получаю отличный результат, который соответствует моим ожиданиям. Вот что вышло у меня.

Photo of a beautiful girl 28 years old, red hair braided in braids, big blue eyes. Dressed in a beautiful blue dress with white flowers. Day, summer, sitting in a cafe, drinking coffee. Modern digital illustration, advertising poster.
Photo of a beautiful girl 28 years old, red hair braided in braids, big blue eyes. Dressed in a beautiful blue dress with white flowers. Day, summer, sitting in a cafe, drinking coffee. Modern digital illustration, advertising poster.

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

В этом руководстве я использую готовые запросы из моего списка 100 промптов для новичков, по которым всегда получается хороший результат, подписчики могут скачать список запросов на Бусти. Подпишитесь и вы, ведь на Бусти видео выходят раньше и много эксклюзивных материалов, записи обучающий стримов, а так же доступ в наш секретный чат. Только благодаря поддержке подписчиков у меня есть возможность создавать такие исчерпывающее инструкции и все свое время посвящать изучению нейросетей, чтобы потом делиться информацией с вами друзья. А мы продолжаем изучать Fooocus и переходим к режимам.

Режимы запуска

Режимы отличаются значительно, в разных режимах используются разные модели (в моделях содержится информация обо всем что может создать нейросеть), подходящие под эти модели настройки, разные дополнительные лоры (дополнительные мини-модели) и различные стили включены по умолчанию, ниже я перечислил основные отличия и сгенерировал изображения с одинаковым сидом и запросом, но в разных режимах, чтобы вы лучше понимали разницу и смогли выбрать подходящий для себя. Но обязательно попробуйте их все. Дополнительно я указал ссылки на модели и лоры, на сайте civitai, так вы сможете самостоятельно посмотреть изображения которые на них можно создать и запросы к ним.

Режим General

Cat with a bowtie in a coffee shop with steam effect in a cozy style
Cat with a bowtie in a coffee shop with steam effect in a cozy style
Harley Quinn as a waitress in a diner with hammer effect in a playful style, photographed by Juergen Teller
Harley Quinn as a waitress in a diner with hammer effect in a playful style, photographed by Juergen Teller

Универсальный режим подойдет для всего и для арта и для реалистичных работ, хорошо следует стилям.

Модель: Juggernaut XL

Лора: SDXL Offset Example Lora

Стили по умолчанию: Fooocus V2, Fooocus Enhance, Fooocus Sharp.

Режим Realistic

Cat with a bowtie in a coffee shop with steam effect in a cozy style
Cat with a bowtie in a coffee shop with steam effect in a cozy style
Harley Quinn as a waitress in a diner with hammer effect in a playful style, photographed by Juergen Teller
Harley Quinn as a waitress in a diner with hammer effect in a playful style, photographed by Juergen Teller

Идеален для близких портретов людей в фотореализме, генерации реалистичных пейзажей или предметов.

Модель: Realistic Stock Photo

Лора: SDXL Film Photography Style

Стили по умолчанию: Fooocus V2, Fooocus Photograph, Fooocus Negative

Негативный запрос: unrealistic, saturated, high contrast, big nose, painting, drawing, sketch, cartoon, anime, manga, render, CG, 3d, watermark, signature, label

Режим Anime

Cat with a bowtie in a coffee shop with steam effect in a cozy style
Cat with a bowtie in a coffee shop with steam effect in a cozy style
Harley Quinn as a waitress in a diner with hammer effect in a playful style, photographed by Juergen Teller
Harley Quinn as a waitress in a diner with hammer effect in a playful style, photographed by Juergen Teller

Режим подойдет для Аниме и художественного арта. Обратите внимание, что запрос всегда начинается с 1girl, корректируйте если требуется, а то будете получать анимешных девочек.

Модель: blue_pencil-XL

Refiner: DreamShaper 8

Лора: SDXL Offset Example Lora

Стили по умолчанию: Fooocus V2, Fooocus Masterpiece, SAI Anime, SAI Digital Art, SAI Enhance, SAI Fantasy Art.

Позитивный запрос: 1girl,

Негативный запрос: (embedding:unaestheticXLv31:0.8), low quality, watermark

Негативный эмбединг: unaestheticXL

Надеюсь теперь вы лучше понимаете на что способен Фокус в каждом из режимов и сможете сознательно выбирать режим под задачу. А я же останусь сидеть на режиме General, на мой взгляд самый универсальный.

Дополнительные настройки

The Joker in the style of Greg Capullo with ink effect
The Joker in the style of Greg Capullo with ink effect

Если вы думали, что в самом простом интерфейсе для создания изображений с помощью SDXL моделей больше нет настроек, он же простой, то вы ошибаетесь, настроек много. Скрывают их две галочки. Начнем с галочки Advanced.

Раздел Setting

В этой вкладке находится все, что непосредственно касается настроек генерации.

Performance - позволяет задать производительность, на выбор три режима Speed - 30 шагов,
Quality - 60 шагов и Extreme Speed, между первыми двумя режимами вы разницу скорее всего даже не заметите, а вот последний режим появился совсем недавно, он конечно делает качество хуже, но работает невероятно быстро за счёт использования новой технологии рендеринга LCM. Меня обычно устраивает режим Speed.

Aspect Ratios - соотношение сторон, позволяет вам выбрать разрешение для вашего изображения, выбор фиксированный не случайно, тут только те разрешения на которых обучались SDXL модели, а значит вы при всем желание не сможете сделать что-то не правильно. Первая цифра это ширина, вторая высота. Для удобства рядом еще написано соотношение сторон. Можно сделать как ультра широкое изображение, например 1728×576, в стиле кино-кадров.

The Joker in the style of Greg Capullo with ink effect
The Joker in the style of Greg Capullo with ink effect

Так и ультра высокое, например в 704×1408, в обоих случаях результат отличный, так что выбирайте размер под ваши задачи.

The Joker in the style of Greg Capullo with ink effect
The Joker in the style of Greg Capullo with ink effect

Image Number - позволяет задать количество изображений которые нужно сгенерировать, по умолчанию 2, но вы можете указать вплоть до 32 изображений, но конечно это займет длительное время.

Negative Prompt - негативная подсказка позволяет указать то, чего на изображении быть не должно.

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

History Log - содержит информацию обо всем, что вы ранее создавали, тут как раз можно увидеть Seed для каждого изображения, запрос и другие настройки. В отличии от Automatic 1111, ComfyUI и прочих Фокус не хранит информацию о генерации внутри самого изображения, а значит вы не сможете воспроизвести информацию о генерации через png info. Сохраняйте лог генераций или промпты отдельно. А мы переходим на следующую вкладку.

Раздел Style

Owl with glasses in a library with book effect in a scholarly style
Owl with glasses in a library with book effect in a scholarly style

По умолчанию всегда включено несколько стилей, Fooocus V2, это тот самый стиль который активирует GPT модель улучшающую ваши запросы, имейте это ввиду, когда будете переключать стили. Стилей очень много, поэтому можно воспользоваться поиском. Для примера я выключу два стиля следующие за Fooocus V2, и вместо них включу Steampunk 2 и SAI Fantasy Art, не изменяя промпт и даже Seed. И получаю отличную фентези сову.

Owl with glasses in a library with book effect in a scholarly style
Owl with glasses in a library with book effect in a scholarly style

Или например мне нужна сова с книгами в Киберпанк стиле, для этого выключаете все стили и включаете Game Cyberpunk Game.

Owl with glasses in a library with book effect in a scholarly style
Owl with glasses in a library with book effect in a scholarly style

А возможно вам нужная черно-белая драматичная сова? Тоже не проблема, для примера ниже я выбрал стили Photo Film Noir, Dark Fantasy, Dark Moody Atmosphere и SAI Line Art. Мне результат очень нравится.

Owl with glasses in a library with book effect in a scholarly style
Owl with glasses in a library with book effect in a scholarly style

Экспериментируйте со стилями и комбинируйте их, в Фокусе работа со стилями улучшена по сравнению с A1111 и другими, это позволяет применять одновременно 3-5 стилей для получения отличного результата, а не парочку как в аналогах. А мы двигаемся в следующую вкладку.

Раздел Model

Wonder Woman as a barista in a coffee shop with steam effect in a retro style, photographed by Annie Leibovitz
Wonder Woman as a barista in a coffee shop with steam effect in a retro style, photographed by Annie Leibovitz

На вкладке Model можно переключить модель, выбрать рефайнер, или добавить дополнительные лоры. Сила лор может регулироваться от -2 до 2, в большинстве случаев оптимально ставить 0.5, всего можно добавить до пяти лор.

Скачиваем лоры и модели с https://civitai.com, лоры кладем в папку Fooocus\models\loras. Модели кладем в папку Fooocus\models\checkpoints. Какие лоры могут вам понадобиться и зачем? Смотрите в моем большом обзоре сервисных лор для SDXL на YouTube, я сравнил 12 самых популярных, рассказал что они делают и как их использовать.

Если у вас уже есть своя папка с моделями или лорами, например в A1111, то вы можете подключить её отредактировав пути до папки с моделями в файле Fooocus\config.txt, кстати, там же в конфиге можно указать и настройки по умолчанию, с которыми будет запускаться Фокус. Используйте файл config_modification_tutorial.txt в качестве пособия по возможным настройкам, он лежит рядом.

Раздел Advanced

На вкладке Advanced находится всего пара настроек, первая Sampling Sharpness отвечает за добавочный шум при создании изображения, чем больше шума, тем больше деталей будет на вашем изображении, но избыток шума может привести к артефактам и замусоренности, это отлично видно на гифке ниже. Мне обычно нравится значение 5-7.

Raccoon with a mask in a trash can with garbage effect in a mischievous style.
Raccoon with a mask in a trash can with garbage effect in a mischievous style.

Guidance Scale отвечает за то, насколько сильно нейросеть должна пытаться следовать запросу, высокое значение приведет к артефактом, а на низком все будет блеклое, смотрите рекомендуемое значение CFG в описании модели, или оставляйте по умолчанию.

Developer Debug Mode открывает меню для тонкой настройки, но настройки там настолько тонкие, что покрутить их и ничего не сломать, а сделать лучше у вас вряд ли получится, так что этот раздел исследовать не будем.

Друзья, поскольку количество медиа файлов в этом руководстве уже переваливает за 20, а для рассказа про оставшуюся галочку Input Image мне нужно еще как минимум столько же, я сделаю это в следующей публикации.

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

close-up of baby Groot bye-bye hand shake in the space, surrounded with firefly and blue sparkles
close-up of baby Groot bye-bye hand shake in the space, surrounded with firefly and blue sparkles

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

Я рассказываю больше про нейросети у себя на YouTube, в телеграм, на Бусти, буду рад вашей подписке и поддержке. До скорого.

Комментарии (146)


  1. ImagineTables
    19.11.2023 10:56

    Как на КДПВ-гифке генерируется лого-текст поверх картинки? В промпте я его не вижу, но промпт вообще трудночитаем. Кроме того, результат выглядит подозрительно. Постпроцессинг?


    1. timonin Автор
      19.11.2023 10:56
      +2

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

      Это Image Prompt, Canny, куда загружено png с текстом, при изменении промпта текст стилизуется в "тему". Это как раз то, о чем я планирую рассказать в продолжении статьи.


      1. ImagineTables
        19.11.2023 10:56

        png с текстом

        Благодарю за ответ. Это было второе предположение после постпроцессинга. Только я предположил более автоматизированное решение: png с текстом не принимается на вход, а растеризуется классическим алгоритмом из промпта со специальным keyword'ом.

        Без подобных трюков, по моему глубокому убеждению, с текстами работать не выйдет. (Это, кстати, ответ на вопрос про магазин «Пятёрочка» ниже — будет вывеска «Птрчкаа»).


        1. timonin Автор
          19.11.2023 10:56

          Кстати SDXL модели с короткими текстами, типа популярных имен или компаний, справляются по лучше, но длинные да, приходится фиксировать с помощью карт ControlNet.


  1. crazysmith
    19.11.2023 10:56
    +10

    Вот сколько вижу подобных локальных генераций - постоянно то избитая супергероика, то знаменитости в каком-либо окружении. Есть ли примеры генерации, например, магазина Пятерочка в каком-нибудь спальном районе Белграда?


    1. timonin Автор
      19.11.2023 10:56
      +8

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

      А вот как выглядит магазин Пятерочка, скорее всего не знает даже дата сет, на котором производилось обучение моделей, а значит сгенерировать его будет уже не так-то просто, надо будет использовать дополнительные инструменты, редакторы или расширения. Но невозможного в наше время нет и если поставить перед собой такую задачу, то можно хоть Магнит в космосе, хоть Ашан в Калуге сделать.


      1. smart_alex
        19.11.2023 10:56
        +9

        я прекрасно понимаю что любой читатель Хабра так или иначе знает как выглядит Харли Квин

        Харли Квин? Это кто? И почему я «так или иначе» должен это знать?


        1. timonin Автор
          19.11.2023 10:56
          +15

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


          1. smart_alex
            19.11.2023 10:56
            +9

            Погуглил. Если я правильно понял, это какая-то «суперзлодейка».

            Видимо у нас разный интернет — я это «чудо в перьях» первый раз увидел с вашей подачи.


            1. Zangasta
              19.11.2023 10:56
              +6

              Видимо у нас разный интернет — я это «чудо в перьях» первый раз увидел с вашей подачи.

              Я бы на вашем месте обратился к врачу --- скорее всего у вас провалы в памяти. Просто потому, что Харли Квин настолько часто упоминается вне контекста, что не знать кто это практически невозможно.

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


              1. vanderlyap
                19.11.2023 10:56
                +15

                оставьте его! человеку очень важно доказать случайным людям в интернете что он "не в тренде", таким не от избытка радости занимаются..


              1. ussrisback
                19.11.2023 10:56
                +3

                200 лет назад утверждение "я прочел все книги в мире", запросто могло быть правдой. 30 лет назад утверждение "я просмотрел весь Интернет", так же запросто могло быть правдой. вы действительно считаете, что сегодня человек может знать все обо всем, что происходит в цифровом и реальном мире? мне лично это имя тоже незнакомо.


                1. Zangasta
                  19.11.2023 10:56
                  +11

                  вы действительно считаете, что сегодня человек может знать все обо всем, что происходит в цифровом и реальном мире?

                  «Жить в обществе и быть свободным от общества нельзя»

                  Это я к тому, что все известные мне случаи, когда человек вставал в позу и спрашивал: "А что это такое ДОМ2" --- были интеллектуальным снобизмом.

                  Потому что я сразу сообщал что ДОМ2 --- это клуб высоколобых интеллектуалов, что-то вроде современного "Очевидного-Неверотяного" и собеседник палился:

                  --- Это Май Абрикосов тебе интеллектуал?

                  --- А говорил что ничего не знаешь!


        1. DonStron
          19.11.2023 10:56
          +47

          Харли Квин? Это кто? И почему я «так или иначе» должен это знать?

          А что за претензия? По вашему автор обязан использовать в примерах только то, что непосредственно вашему "я" хорошо знакомо?

          Токсичные комментарии типа вашего могут отбить желание писать статьи. Ответ автора заминусовали, думаете это способствует желанию делиться знаниями или комментировать? А мне интересны подобные статьи!

          Вы явно же просто доколупались. И удивительно, что ещё кто-то поддержал это доколупывание минусами.

          Что с вами, люди? Нужно самоутвердиться за счёт кого-то?


          1. smart_alex
            19.11.2023 10:56
            -3

            Что с вами, люди?

            С нами всё в порядке. Просто раздражает засилие поп-культурного идиотизма и претензия автора на то, что все должны быть в этом (идиотском) контексте.


            1. DonStron
              19.11.2023 10:56
              +17

              Если вас раздражает - это уже не в порядке. В мире равномерно представлены и красные фломастеры и зеленые, но вам не нравятся зеленые, поэтому вы на них обращаете внимание чаще и раздражаетесь. Разве это нормально?


            1. Okeu
              19.11.2023 10:56
              +7

              ну кто-то, например я, знаю ее из-за мульт-сериалов 90х-00х годов)
              Фильмы с Харли не смотрел, из всего DC после темного рыцаря 2008, я посмотрел только джокера.
              ПыСы: мне казалось, что контркультурное поведение в отношении попсы проходит вместе с пубертатом)


        1. xenon
          19.11.2023 10:56
          +3

          Это такая Королева бензоколонки, но для молодежи.


          1. iig
            19.11.2023 10:56

            Королева бензоколонки, но для молодежи

            А есть Бэтмен и Джокер, только для стариков? ;))


            1. Zangasta
              19.11.2023 10:56
              +2

              Конечно есть. Это Фантомас и Клоун Клепа.


              1. iig
                19.11.2023 10:56
                +1

                Фантомас и Клоун Клепа

                А в какой вселенной у них было противостояние? ;) Я бы посмотрел ;))


            1. Deeptown
              19.11.2023 10:56

              Конечно есть!


      1. SquareRootOfZero
        19.11.2023 10:56

        А есть техническая возможность как-то докормить уже готовую модель фотографиями магазина "Пятерочка"?


        1. timonin Автор
          19.11.2023 10:56

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


      1. Dolios
        19.11.2023 10:56
        -3

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

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


    1. SquareRootOfZero
      19.11.2023 10:56
      +4

      По запросу "Shop "Pyaterochka" in a residential area of Belgrade" сгенерировало вот это. Все настройки и т. п. дефолтные.


      1. Aniro
        19.11.2023 10:56

        Ну по стилю старого Белграда попал неплохо. Pyaterochka кажется так себе промпт - в датасете по этому слову почему-то залежи картошки: https://rom1504.github.io/clip-retrieval/?back=https%3A%2F%2Fknn.laion.ai&index=laion_400m&useMclip=false&query=Pyaterochka


    1. Ogoun
      19.11.2023 10:56
      +1

      Pyaterochka store in some residential area of Belgrade
      Pyaterochka store in some residential area of Belgrade

      Кажется сеть честно пыталась даже заданное название написать. Сгенерил в фокусе без допсредств, типа ControlNet, по вашему промпту.


      1. SquareRootOfZero
        19.11.2023 10:56

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


      1. edtech
        19.11.2023 10:56

        Попробовал немного рассказать нейросети про Пятерочку и про спальные районы Белграда


        1. timonin Автор
          19.11.2023 10:56

          Есть несколько SDXL лор, которые улучшают работу с текстом, можно попробовать их добавить, тогда буквы будут консистентнее)


          1. 7313
            19.11.2023 10:56

            Лоры конечно улучшают работу с текстом, но не решают проблему.. только ControlNet в атоматике или CPDS в фокусе. Вот например (не удержался от картинок в тексте - сори..) эта вышивка сделана в фокусе через подсовывание в image prompt черных букв на белом фоне.

            при этом автоматик безбожно жует мелкие буквы вообще в любом вменяемом ControlNet режиме и оставляет их только если загнать силу маски на максимум. Но при этом никаких шансов не остается у самого запроса и у текстуры вышивки нитками. В конфи я тоже долго парился, но не смог. Хотя там наверняка можно это сделать через какую-нибудь монстроидальную систему нод, но я не настолько загоняюсь. В вот в фокусе получилось сравнительно нормально по качеству и сравнительно легко.


            1. timonin Автор
              19.11.2023 10:56

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


              1. 7313
                19.11.2023 10:56

                да разрешение нормальное.. Просто текста много и ControlNet этого не любит, а заморачиваться потом по одной буковке править - лень :)


        1. iig
          19.11.2023 10:56

          Интересная интерпретация цифры 8. И левосторонний автобус.


  1. superconductor
    19.11.2023 10:56
    +1

    Спасибо, интересная штука.
    По поводу требований к железу хочу дополнить: на линуксе вполне работает на видеокарте с 4GB видеопамяти, а вот 16GB RAM не хватает, процесс убивается по OOM.


    1. timonin Автор
      19.11.2023 10:56

      Интересно, ведь модели sdxl весят по 6.5 гигов, а чтобы они работали, они должны полностью помещаться в память, не знал, наверное что-то типа файла подкачки используется, я не очень силен в линукс системах =)


    1. SnakeSolid
      19.11.2023 10:56
      +2

      Скорее всего у вас на видеокарте они в формате f16 лежат и частично скидываются в оперативную память, а на процессоре так считать не получится все нужно держать в памяти в f32. На Stable Diffusion от Automatic1111 для этого есть специальные опции: --no-half, --medvram, --medvram-sdxl, --lowvram, --lowram. У меня 8Гб на видеокарте, иногда при использовании ControlNet приходится этими опциями жонглировать, чтобы памяти хватало.


    1. Larymar
      19.11.2023 10:56

      при желании на том же automatic все вообще на cpu можно уронить, и в целом даже с этим можно жить.


    1. xenon
      19.11.2023 10:56
      +1

      Небольшой оффтопик, а какую видеокарту сообщество может посоветовать сейчас купить чтоб поиграться с разными нейросетками под Linux'ом? (или где посмотреть это?)

      И вообще, то что для игр мне видюха не нужна - открывает какие-то дополнительные возможности (можно купить что-то мощное дешево, то что геймерам не подходит, а для нейросеток очень даже)?

      Вот сейчас на озон зашел, от 8 гигов, самые дешевые: RX580, RX 570, GTX 1070, GTX 1070Ti, GTX 1080, RX 5700 XT.

      Любая из них пойдет или нужно от конкретного производителя, чтоб были хорошие драйвера под Linux?


      1. timonin Автор
        19.11.2023 10:56

        Нет такого, что геймерам не подходит, используются те же самые вычислительные ядра, так что самое лучшее что можно купить для нейросеток сейчас это 3090. На 10 серию даже не смотрите как в на 20.


        1. xenon
          19.11.2023 10:56

          Посмотрел... 24Gb и цена под 100 000. Думаю, нужно уточнить мой вопрос. Меня интересует самое лучшее из самого дешевого. Тратить 100к чтобы просто побаловаться и не извлекать из этого прибыль - я пока не готов.


          1. Gromilo
            19.11.2023 10:56
            +5

            Чтобы дёшево поиграться можно взять видеокарту в облаке.

            Сервер обойдётся где-то 50-100р в час в зависимости от видеокарты.

            Чтобы не платить по 20к в месяц, после использования сервер нужно гасить. А перед использование создавать. Главное сохранить жёсткий диск. За него придётся платить где-то 100-1000р в месяц в зависимости от размера и типа.


            1. timonin Автор
              19.11.2023 10:56

              Да, это действительно разумнее всего, есть много вариантов, и васт и ранпод, в рунете и по сложнее и по дороже, иммерсы или селектел.


            1. Kanedias
              19.11.2023 10:56

              А как за него платить-то теперь?


              1. timonin Автор
                19.11.2023 10:56

                За кого? Колаб, ранпод, из РФ никак. Селектел, Иммерсы, российские хостеры.


        1. Dolios
          19.11.2023 10:56

          для нейросеток сейчас это 3090

          Пишут, что для игр 4070 Ti лучше и она даже дешевле 3090. А почему для нейросеток она хуже?


          1. timonin Автор
            19.11.2023 10:56
            +1

            Потому что видеопамяти для нейросети чем больше - тем лучше.


      1. vikarti
        19.11.2023 10:56

        Возможно - б/у 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, но для сравнительных целей может и хватить)


        1. timonin Автор
          19.11.2023 10:56

          Да меньше 12 сейчас брать точно не стоит, еще пол года назад достаточно было 8 =)


      1. nidalee
        19.11.2023 10:56
        +3

        3060 на 12 гигабайт VRAM.


        1. xenon
          19.11.2023 10:56

          Спасибо. Любая 3060 подойдет (вот вижу, например, от MSI) или есть какие-то важные отличия, например, в наличии каких-то особых правильных драйверов для Linux?
          LHR версии, которые не подходят для майнинга, подходят для нейросетей или в них тоже лучше переплатить на "честную" видюху без LHR?


          1. nidalee
            19.11.2023 10:56
            +2

            Любая, главное чтобы 3060 (не ti) и на 12 гигабайт, а не на 8.

            Драйвера поставляются NVIDIA, они одинаковые для всех вендоров.


            1. xenon
              19.11.2023 10:56

              Спасибо. Вы супер-быстро ответили, я там дописал про LHR еще уточнение, не уверен, ваше "любая" относится и к нему тоже, или вы ответили раньше, чем я дописал. В общем, LHR стоит брать или нет?


              1. nidalee
                19.11.2023 10:56

                LHR режет определенные алгоритмы, которые к нейронкам отношения иметь не должны. НО я не проверял и не гуглил. Проверьте :)

                UP: погуглил, не влияет.


              1. timonin Автор
                19.11.2023 10:56

                LHR не влияет никак. А вот с драйверами придется поковыряться потому что под линукс нет официальных драйверов на масс маркет карты. Есть порты от сообщества разной степени проблемности.


                1. nidalee
                  19.11.2023 10:56
                  +3

                  А вот с драйверами придется поковыряться потому что под линукс нет официальных драйверов на масс маркет карты

                  Это, конечно, не так:

                  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


                  1. timonin Автор
                    19.11.2023 10:56

                    Так они ж не официальные вроде?) Проприетарные драйвера есть под винду. А под линухи есть только на серверные линейки, если не ошибаюсь.


                    1. nidalee
                      19.11.2023 10:56
                      +1

                      А, "официальные" это "открытые"? Тогда нет, конечно.

                      Но официальные от NVIDIA вполне себе есть.


                      1. timonin Автор
                        19.11.2023 10:56

                        Тут спич про то, что NVidia не хотела бы, чтобы карты для игр использовались в серверных решениях, к которым относят обычно линукс системы. Потому никак не развивает это направление, мол для линукса есть серверные решения в 3 раза дороже. Мы просто пытались некоторое время использовать масс маркет решения, есть минусы, есть сложности по сравнению с теми же A сериями.


                      1. nidalee
                        19.11.2023 10:56
                        +1

                        Под Linux со стороны NVIDIA нет никаких ограничений, релевантных для генерации изображений или LLM.

                        Серверному сегменту ничего не угрожает из-за консьюмерских карт. Они ограничены пулом VRAM, физическими размерами, линиями PCI-E на консьюмерском железе. В какой-то момент еще отсутствием интерконнекта. Но со стороны софта там просто не нужны дополнительные костыли.

                        Единственное реальное ограничение, об которое можно споткнуться, это ограничение на количество потоков NVENC\NVDEC. Но оно к нейронкам не имеет никакого отношения от слова совсем.


            1. K0styan
              19.11.2023 10:56

              А чем ti не годится? Просто переплата за ненужное или там есть что-то, что именно мешает?


              1. timonin Автор
                19.11.2023 10:56
                +1

                В ней просто меньше памяти, в 3060ti 8гб, а в обычной 12 гб. А память в нейронках важнее герцовки.


  1. SergeyMax
    19.11.2023 10:56
    +3

    А эта нейросеть может нарисовать не Джокера, а что-то простое, например красный круг на белом фоне?


    1. timonin Автор
      19.11.2023 10:56

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


      1. MAXH0
        19.11.2023 10:56

        Вот интересный вопрос... Если я решу обучать что-то свое. Например систему генерирующую простой клип-арт рисунок по описанию. Скрепочку там или человечка. То сколько ресурсов мне потребуется тогда и возможно ли создание отдельных тем для Вашей системы?


        1. timonin Автор
          19.11.2023 10:56
          +1

          Ресурсов уже не так много, 8-12гб видеопамяти сейчас уже достаточно для обучение лоры. Но процесс этот не быстрый в плане подготовки и требует глубокого понимания вопроса и грамотной подготовки дата сета.


        1. nidalee
          19.11.2023 10:56
          +2

          LORA тренируется примерно час, Dreambooth часов 8. Большую часть времени будете составлять и тегать датасет, на самом деле.


  1. DaneSoul
    19.11.2023 10:56

    Какое время занимает генерация одного изображения на домашней машине?
    Хотя бы примерный порядок: секунды, минуты, часы?


    1. timonin Автор
      19.11.2023 10:56
      +2

      Домашние машины у всех разные, у меня RTX 4090 и создание изображения занимает несколько секунд, на 1060 sdxl модели не запустятся в принципе например, а на 3060 скорость может быть пару минут.


      1. Karpov_Stas
        19.11.2023 10:56

        Ну не знаю, вчера нашёл твой видос где ты как раз об этом фокусе рассказывал. Решил попробовать на своём ноуте. У меня 1060m ( не qm ) на 6 гиг видео. В стоке, первый раз создание заняло 11 минут, ну это и понятно, как ты в видосе говорил в первый раз так будет всегда долго. То есть всё работает даже без той облегчённой темы которую ты показывал в конце видео, видеопамяти сожрало 4.8 гиг из 6, оперативы с 16 гиг сама консоль жрала 7.9. Я считаю это нормальным и всё запуститься даже на этой. Хотя, учитывая что этот старик оказывается лучше компьютерной 1650 в играх, то я даже не удивлён что и тут всё в норме. Повторюсь, всё в стоке, как скачал, ничего не настраивал, запустил и закинул простой промт из твоего видео ( с пингвином у иглу ), дрова на видяху последние доступные которые от начала ноября этого года.


    1. Noizefan
      19.11.2023 10:56
      +1

      У всех домашние машины разные. В колабе минуты, 2-3 если всё по дефолту оставить


    1. MonkAlex
      19.11.2023 10:56
      +2

      У меня 2060 с 6гб памяти, где то по минуте уходит на картинку.


      1. SquareRootOfZero
        19.11.2023 10:56

        Аналогично, минута плюс ещё секунд пять-десять.


      1. MonkAlex
        19.11.2023 10:56

        На самом деле, потыкал разные модельки с разными плюшками - время может быть абсолютно любым.

        Можно оставить только модельку и в 20 проходов рисовать 512х512, тогда у меня уходит секунд 30.

        А можно сделать 60 проходов, добавить вторую модель для улучшения, разрешение поднять до 768 и hi-rez подключить - тогда минуты 4.


      1. MonkAlex
        19.11.2023 10:56

        Потестил решение из поста, потестил отдельно автомат1111, потестил разные модельки в них.

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

        Обидно, думалось что можно получить нужные картинки без плотного погружения.


        1. Ravius
          19.11.2023 10:56

          Если хотите создать сложную композицию - придётся изучать инструмент/синтаксис, подсказывая сети в какой момент делать мутации.

          Выше писали пол 512х512 - если это было SDXL, поздравляю вы нашли слона. Модель не умеет в меньше 1024х1024.

          Если это была SD1.5 - нужно делать hires fix = 0.3 с апскейлером r-esrgan.

          В общем - зависит от "тестов". - автор приложил картинки, вполне себе качественные, если вы не смогли повторить - проблема у вас.

          А сложная композиция - это к dalle3 в которую вшит LLM.


          1. MonkAlex
            19.11.2023 10:56

            512х512 было на 1.5 уже. И дело не в хайрезе, дело в композиции того, что рисует модель.

            У автора тоже видны проблемы с пальцами, с фонами на части картинок.

            Сгенерить "что-то" по запросу - можно. Чуть-чуть поправить или попросить сделать чуть-чуть иначе -- сложно. Если я хочу например нарисовать комикс или визуальную новелку - то просто взять как "готовый инструмент" не получится. Именно что нужно лезть в кишочки, жаль.


            1. timonin Автор
              19.11.2023 10:56
              +1

              Конечно, если ваша задача выходит за пределы создания просто красивой картинки, то и скиллы у вас должны быть соответствующий. Для серьезных робот нужно несколько слоев контролнета, глубокое понимание арт директинга и А1111. Согласитесь было бы удивительно, если бы у вас сразу получилось создавать коммерческий арт с первого подхода. Вот пример того, что можно делать - https://www.reddit.com/r/StableDiffusion/comments/13s8da5/use_sd_for_the_novel_illustration_part6/


              1. MonkAlex
                19.11.2023 10:56

                Да, я как раз с момента выхода статьи потестил решение, потестил а1111, почитал пару десятков статьей\форумов\роликов. И понял, что оно неплохо для каких-то случайных картинок, а дальше мне лично проще забить =)

                Надо "специализацию" по факту получать в инструментарии, чтобы результат был неплох, а лучше ещё и фотошоп какой-нибудь освоить, чтобы результат был хорош. По факту, я вижу что рутину художник в теории способен скинуть на нейросеточку на основе SD, а остальным оно только баловаться.


                1. timonin Автор
                  19.11.2023 10:56
                  +1

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

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


              1. nebularia
                19.11.2023 10:56

                Вот только с Midjourney добиться приличного результата по сложному запросу намного проще (хотя часто тоже надо посидеть, но без особой чёрной магии). Собственно почему его и используют и сравнение в заголовке не очень корректно.


    1. Salavat
      19.11.2023 10:56
      +2

      1050ti + 32ГБ оперативки (съедает во время генерации 26ГБ) первая картинка за минут 5 генерируется у меня.


    1. Haoose
      19.11.2023 10:56
      +2

      Вот бенчмарк различных моделей видеокарт, где указано сколько картинок в минуту они способны выдать.
      Stable Diffusion Benchmarks: 45 Nvidia, AMD, and Intel GPUs Compared | Tom's Hardware (tomshardware.com)


    1. ReinRaus
      19.11.2023 10:56
      +1

      У меня RTX 4050 Laptop (6 Gb VRAM, 12 Gb RAM), плюс включена в винде виртуальная память на SSD диск (без этого генерация Fooocus бы не сможет запуститься).

      Первая генерация по промпту: 425 секунд.

      Повторная генерация по тому же промпту: 320 секунд.


  1. DaneSoul
    19.11.2023 10:56

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


    1. timonin Автор
      19.11.2023 10:56
      +1

      Seed это просто ид шума, из одной и той же карты шума можно получить и автомобиль и закат и девушку, но при том же самом промпте вы будете получать тот же самый результат. Если изменения промпта небольшие то и композиция не изменится. Шум всегда первичен, поэтому создать что-то и использовать Seed от этого не получится. Соседние сиды тоже не всегда создают похожие композиции.


    1. Aniro
      19.11.2023 10:56
      +2

      Да, можно сделать общую картинку без деталей, и использовать как стартовую, сказав модели что она уже часть работы сделала, пусть дальше дорабатывает. В зависимости от шага с которого начнется генерация будут разные результаты. Если допустим пропустить 10 шагов из 30 - исходное изображение задаст только общую композицию и цвета. Если пропустить 20 из 30 - изменятся только мелкие детали и стиль.

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


  1. NeoCode
    19.11.2023 10:56
    +2

    Спасибо огромное, наконец-то лично попробовал что это такое - AI генерация изображений))


  1. AlexanderS
    19.11.2023 10:56
    +1

    В процессе установки выкачиваются модели juggernautXL_version6Rundiffusion.safetensors, realisticStockPhoto_v10.safetensors, bluePencilXL_v050.safetensors.

    В чём будет разница, если я эти модели просто запущу на stable-diffusion-webui?


    1. timonin Автор
      19.11.2023 10:56

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


  1. newyorkin
    19.11.2023 10:56

    Что-то можно сделать с пальцами, может какая-то negate строка? Даже ведь на картинках в статье у Харли Квин какие-то невнятки с пальцами.


    1. Moog_Prodigy
      19.11.2023 10:56

      Где-то читал, что для нормальной отрисовки пальцев существует лора специальная, правда для автоматика. Надо поискать.


      1. timonin Автор
        19.11.2023 10:56

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


      1. MonkAlex
        19.11.2023 10:56

        Я подключил парочку. Стало лучше, но всё равно не идеально.

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


    1. 0x1A4
      19.11.2023 10:56

      Проблемы с отрисовкой пальцев и лиц характерны в основном для старых моделей. В Stable Diffusion 2.0 с этим лучше. А еще есть специально обученные компоненты - VAE модели. Это не полноценные модели для генерации, они подключаются к основной модели и работают вместе с ней. Есть такие, которые реконструируют пальцы и лица.


    1. Aniro
      19.11.2023 10:56

      Базовая модель традиционно плохо умеет руки. У тех, что файнтюнились исключительно на изображениях людей с этим значительно лучше. Вот эта говорят ничего, но это неточно: https://civitai.com/models/43977?modelVersionId=227916


  1. Andrey_Epifantsev
    19.11.2023 10:56
    +2

    А в чём ключевые преимущества Fooocus перед Automatic 1111? Почему и в каких ситуациях стоит использовать именно Fooocus, а не популярный и имеющий огромное количество расширений, уроков и статей о нём Automatic 1111?


    1. timonin Автор
      19.11.2023 10:56
      +1

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


    1. 7313
      19.11.2023 10:56

      Преимущества есть.

      На пока только Фокус умеет нормально использовать 1.5 модели в качестве рефайна XL модели. Даже в конфи на данный момент это получается похуже. Для примера пара картинок с подобным рефайном вот тут

      1

      2

      ну или с логином на цивите https://civitai.com/posts/838369

      Иногда получается интересно.

      Вторая интересная вещь это собственный фокусный IP адаптер (но это наверное из запланированной второй части статьи) для переноса стилей из входной картинки. Для XL и в автоматике и в конфи это пока работает похуже, а модельку от фокуса пока не получается к ним прикрутить.

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

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


      1. timonin Автор
        19.11.2023 10:56

        В точку, потому про форки не рассказываю, они как внезапно появляются, так же внезапно их и забрасывают.

        Со всем согласен, еще добавлю про SDXL ControlNet Inpainting модель, которой тоже нету вне фокуса до сих пор, ну вернее есть, на диффузерах, но работает хуже чем там что в фокусе и как портировать её в автоматик пока не очень понятно, автор приберёг для своего проекта.


    1. Ogoun
      19.11.2023 10:56
      +1

      Пользуюсь automatic1111, InvokeAI, и вот теперь этим. В дополнение к отвеченному, в автоматике нет нормального удобного outpainting'a, для него использовал InvokeAI. Ну и для разных задач можно использовать разные инструменты, сейчас для быстрой генерации я запущу фокус, понравилось качество. Для постобработки автоматик. Для более качественной генерации в outpainting режиме - InvokeAI


  1. Zangasta
    19.11.2023 10:56
    +2

    А что у нас с цензурой? Может ли данная сеть нарисовать, скажем, нудистский пляж?


    1. timonin Автор
      19.11.2023 10:56

      В самом софт никакой цензуры нет. Так что он может создавать все, чему обучалась модель. А узкоспециализированные модели под NSFW существуют в широком ассортименте.


      1. 7313
        19.11.2023 10:56
        +3

        В широком вряд ли.. Заявляют да - многие, но лучше встроенного джагнаута под реализм и NSFW работает по-моему ровно 1 модель (и то не во всех случаях), но я не знаю можно ли такие ссылки тут давать :) Все остальное на цивите это просто ужас-ужас (это я обоснованно говорю на основе очень длинных гридов). Так что в 1.5 NSFW намного приличнее пока.

        PS И да - я не просто пробовал, но и тщательно присматривался ко всем XL моделям с цивита :)


    1. funca
      19.11.2023 10:56

      Может нарисовать пляж когда все нудисты только разошлись.


    1. vikarti
      19.11.2023 10:56
      +1

      Попробуйте :). Мне по запросу nude beach выдало 2 картинки которые запросу на мой взгляд - отвечают. И люди там есть. Без одежды конечно же.


      1. timonin Автор
        19.11.2023 10:56

        А если еще и специализированную NSFW модель скачать, там такое начинается...


  1. DonStron
    19.11.2023 10:56
    +1

    А дайте, пожалуйста, совет по комплектухе для нейросетей (исключительно нейронки, игры не интересуют вообще). Например если брать б/у RTX 3090 и собирать новый комп вокруг неё.
    Насколько сильно влияет процессор во время обучения? Понимаю, что для подготовки данных - влияет. Но вопрос исключительно про процесс обучения. Допустим данные уже полностью готовы, на лету генерировать не будем. Берём готовые и выдаём батчами. Какого процессора будет достаточно для полной нагрузки видюхи 3090, чтобы процессор не был узким горлышком?
    Понятно, что лучше i7-13700K, но он горячий и к нему желательно подороже мать (чтобы питание хорошее было) и охлаждение (топовые кулеры или водянку). А вот какой-нибудь холодный i5-13400 не требователен особо к питанию на материнке и уж точно достаточно будет нормального воздушного охлаждения. Сможет i5-13400 успевать нагружать работой видюху в процессе обучения?


    1. nidalee
      19.11.2023 10:56
      +2

      Насколько сильно влияет процессор во время обучения?

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

      Какого процессора будет достаточно для полной нагрузки видюхи 3090, чтобы процессор не был узким горлышком?

      Процессор и так им не будет. Потому что batch size при обучении крутится в ущерб качеству получающейся модели, а чтобы компенсировать потерю качества - процесс обучения (learning rate) замедляют специально.

      Единственный сценарий, когда CPU может вам что-то замедлить - это если вы одновременно обучаете несколько моделей, которые каким-то образом влезли вам в VRAM (больше 2-3 моделей одновременно это уже несколько 24-гиговых видеокарт), и даже тогда вы скорее в PCI-E линии упретесь, чем в мощность процессора как такового.

      Условно, если вам только под нейронки - берите комплект зиона с алиэкспресс, их на развес продают в 2023. Если жировать, то можно посмотреть EPYC.


      1. timonin Автор
        19.11.2023 10:56

        На самом деле CPU бывает узким местом, но это больше касается генерации чем обучения, перехеширование моделей, узким местом может быть и память, если тайминги у планов не совпадают, то все будет работать медленнее, встречал такие конфигурации. Но во всех были не корректно подобраны комплектующие. Если в двух словах, то просто нужна актуальная видеокарта на 12-24гб видеопамяти и актуальные для этой видеокарты камень, материнская плата и память, тогда никаких узких мест не будет.


        1. nidalee
          19.11.2023 10:56

          На самом деле CPU бывает узким местом, но это больше касается генерации чем обучения

          Бывает. Но:

          Но вопрос исключительно про процесс обучения.

          ‎-

          перехеширование моделей

          Это достаточно странное занятие.


  1. vs39
    19.11.2023 10:56
    +2

    А зачем в тайтле упоминание Midjourney? При всем желании никакой SD ее не заменяет. Скормите самый простой промпт в mj и в sd и вы удивитесь как облажается sd. Ну т.е. это вообще другое


    1. Gromilo
      19.11.2023 10:56
      +1

      Если я правильно понял позиционирование фокуса, он как раз таки должен выдавать картинку на уровне mj по простым промтам.


    1. timonin Автор
      19.11.2023 10:56
      +3

      А вы попробуйте фокус, и приятно удивитесь. У меня есть собственный миджорни бот и собственный сервис по генерации на SD, скажу так - миджорни - айфон, который на автомате делает лучше среднего. А SD это камера блэк мэджик, она может сделать то же что и айфон, но не на автомате, а в ручную. Но айфон никогда не сделает того же, что может блэк мэджик.

      Заранее прошу прощения если задел чьи-то чувства неуместными или громоздкими метафорами =)


    1. vikarti
      19.11.2023 10:56

      Как я понимаю - упор именно в "у нас также просто как Midjorney и не надо танцы с бубном..но можно и потанцевать если хотите"


      1. timonin Автор
        19.11.2023 10:56

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


  1. pomflower
    19.11.2023 10:56

    Автор, спасибо за статью!

    Можно ли пользоваться Фокусом для генерации картинок с целью их продаж на стоках? Есть ли коммерческая лицензия?


    1. timonin Автор
      19.11.2023 10:56

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


  1. DonStron
    19.11.2023 10:56

    Вопрос про достаточное количество видеопамяти.

    Недавно NVIDIA представила в новых драйверах функцию System Memory Fallback. Если я правильно понимаю, позволяет использовать основную память компа. То есть не обязательно гнаться за видюхами, где много памяти, теперь можно брать условные 6 гигов и расширять за счёт системной памяти. Верно? Кто-то пробовал? Можно как-то сравнить насколько падает производительность при использовании добавки из системной памяти?

    Например можно взять RTX 3090 c 24 ГБ, а можно взять 4070 Ti с 12 Гб и использовать системную память для моделей, которые в 12 Гб не помещаются. Насколько медленнее работать начнет?


    1. iiiytn1k
      19.11.2023 10:56
      +2

      Насколько медленнее работать начнет?

      В десятки раз.


    1. timonin Автор
      19.11.2023 10:56
      +2

      Настолько медленно, что это не имеет смысла. Единственное от чего это стало спасать от падений по памяти, если раньше все просто вылетало, то сейчас минут на 5 зависает в пиковой нагрузке =)


  1. magdavius
    19.11.2023 10:56
    +1

    Про запуске всего этого на Apple Silicon (M1, M2) даже задумываться не стоит?)


    1. timonin Автор
      19.11.2023 10:56

      Поддержка заявлена, но скорость генерации будет грустной, порядка 5-8 минут думаю на изображение. Проще в коллабе.


    1. advan20092
      19.11.2023 10:56

      Есть DiffusionBee, там гораздо проще все


  1. kukan2
    19.11.2023 10:56

    Всё идеально запустилось и заработало

    Но!
    Поиграв полчасика столкнулся со следующими весьма, на мой взгляд, существенными недостатками:

    1. Полное отсутствие вариативности. Например если играться с вашим промтом с рыжей девицей, модель будет всегда выдавать ОДНО И ТО ЖЕ лицо. Если состарить возраст, появляется немного морщин и ВСЁ. Если написать вместо beautiful, ugly или monstrous, ничего не меняется (что вообще очень странно). Если заменить рыжую на брюнетку, то лицо будет другое, но опять одинаковое для каждой генерации. То же самое с фонами, они всегда почти идентичные. Такое чувство что модель обучали по нескольким фотосетам, с ограниченным количеством людей.
      2. Негативный промпт вообще не работает, полный игнор любых запросов


    1. timonin Автор
      19.11.2023 10:56

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


      1. kukan2
        19.11.2023 10:56

        Вы думаете это первая генеративная нейросеть которую я тестирую? Результат, да , есть, и он относительно не плох, но сравниваю я его не со своими ожиданиями, а с другими сетками и он разочаровывает. Вы не очень понимаете о чем я, вы получаете не просто усредненную женщину, а буквально ТУ ЖЕ самую, просто с небольшими вариациями, чем другие нейромодели не страдают.

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

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

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


        1. timonin Автор
          19.11.2023 10:56

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

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

          А еще скорее всего не отключили стиль Фокус в2, GPT движок, который меняет ваш промпт автоматически и он наверняка постоянно добавляет одни и те же типовые токены, которые делают красиво на автомате и не всегда так, как вы имели ввиду.


  1. Dmitry2019
    19.11.2023 10:56

    Может где-то и есть руководство, но вменяемого я не нашёл. Как заточить такой сервис на облаке и дать возможность тысячам пользователей параллельно генерить картинки используя различные модели или LoRa. И желательно платить только за время, пока генерация картинок идёт. Если кто знает, пожалуйста напишите в комментариях или в личку. Спасибо


    1. timonin Автор
      19.11.2023 10:56

      Я создал такой сервис, https://artgeneration.me/ пост о нем разместить не могу, модератор сказал сначала 30 кармы надо =)

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


      1. Dmitry2019
        19.11.2023 10:56

        Было бы очень интересно понять, как такое сделать


        1. timonin Автор
          19.11.2023 10:56

          Ознакомиться с исходными кодами SD, понять как адаптировать их под высоконагруженный веб сервис, выбрать базу и основной стэк, сервис очередей, спроектировать и написать бэкенд и конечно фронтэнд, собрать все вместе. Это если коротко.


          1. Dmitry2019
            19.11.2023 10:56

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


            1. timonin Автор
              19.11.2023 10:56

              Ответ жесток как сама реальность - никак. Потому лучшее что можно сделать это утилизировать ресурсы тех машин что используются на 99.9%. Мы для этого кроме своих коммерческих сервисов подняли еще и корпоративную апишку для бизнеса и приложений, подключаем нуждающихся, оптимизируем ресурсы.


      1. Sap_ru
        19.11.2023 10:56

        Что же вы за мамкины маркетологи... Как у вас на сайте цены и условия без регистрации узнать?


  1. extremegym
    19.11.2023 10:56

    А почему не рассмотрен вариант с Input Image?


    1. timonin Автор
      19.11.2023 10:56

      На это я ответил в статье, судя по тому, что вы не дочитали до этого места, статья и так слишком длинная =)


      1. hphphp
        19.11.2023 10:56
        +2

        Большое спасибо за статью. Обязательно пишите продолжение


  1. HepoH
    19.11.2023 10:56
    +1

    Спасибо за статью, поиграться вечером было интересно!
    А может кто подсказать, могу ли я использовать вот эту модель и если да, то как? Вижу во вкладке файлов два ckpt-файла по 2Гб, видимо это оно. В фокусе на вкладке model можно выбирать какие-то модели, там только sd_xl_offset_example-lora_1.0.safetensors есть по дефолту, расширения какие-то разные будто бы.


    1. timonin Автор
      19.11.2023 10:56

      Только в качестве рефайнера, поиграйтесь еще с фокусом и переходите на автоматик, вот там будет уже возможно все =)


      1. 7313
        19.11.2023 10:56

        Ну или найти старую версию фокуса, которая еще понимала SD модели в качестве основных :)


        1. nidalee
          19.11.2023 10:56

          То есть такая фича была и они ее сломали? Зачем??


  1. amberovsky
    19.11.2023 10:56

    Относительно запуска в колабе - это действительно возможно?


    1. timonin Автор
      19.11.2023 10:56

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


  1. justified
    19.11.2023 10:56

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