В свободный доступ вышла нейросеть Stable Diffusion. Код под свободной лицензией, модель тоже (с оговорками, что запрещено генерировать всякие дипфейки, порнографию прочее, см. полный текст лицензии).
Скачать diffusers тут: https://github.com/huggingface/diffusers (запустить setup.py, параметры он подскажет)
Модель stable diffusion тут: https://huggingface.co/CompVis/stable-diffusion-v1-4 (нужна регистрация, подтверждение почты и согласие с лицензией)
Для скачивания:
git lfs install git clone https://huggingface.co/CompVis/stable-diffusion-v1-4
И собственно всё.
В первой ссылке есть пример, в нём надо стереть "use_auth_token=True", а "CompVis/stable-diffusion-v1-3" заменить на путь к скаченной модели.
Для работы требуется 10 Гб видеопамяти. Если считать с половинной точностью (float16 вместо float32, см. пример во второй ссылке), то по идее должно хватить 5 Гб, но у меня вот 6 Гб и не хватило. Пришлось считать на ЦП (замените в примере "cuda" на "cpu"), а это в 50-60 раз медленней. У кого 6 Гб и кто сможет завести float16 на GPU, дайте знать. На 8 Гб float16 точно работает.
По запросу "developers participating in a retro video game contest, 8-bit style" выдало:
Продолжаем эксперименты.
upd.: Есть маленький форк для 6- и даже 4-гигабайтных карт: https://github.com/basujindal/stable-diffusion (ставится и используется иначе чем я описал выше, без diffusers)
делать чтото рассчитанное на видеокарту в 2022 году и не связанное с биткойном это глупое решение. авторы очевидно не шарят можно мимо проходить.
ИПавлов
Если генерирующую нейросеть можно будет вставлять в рогалики то получится очень круто и вариативно. Мне направление решения нравится.
ИПавлов
> делать чтото рассчитанное на видеокарту в 2022 году и не связанное с биткойном
> это глупое решение. авторы очевидно не шарят можно мимо проходить.
Ты близок к тому, чтобы изречь страшную идею - нейросеть, которая считает биткоен.
Я бы кстати не отказался "Применение нейросетей для генерации 2D арта в играх", ибо для меня. Все уроки по рисованию, даже пиксель арта выглядят как:
Что-бы нарисовать человека:
1.Рисуем глаза
2.Рисуем голову
3.Рисуем контур
4.Рисуем тени
5.Рисуем блики
Спасибо, очень полезно(нет).
ну думаю такое рабочим ещё не скоро будет.
FlyOfFly
> ну думаю такое рабочим ещё не скоро будет.
(если картинка не загрузилась, вот источник: https://dtf.ru/u/271477-flanayt-pulsar/)
Я нарисовал это:
Нейросеть выдала это:
А потом - вот это:
romanshuvalov
> А потом - вот это:
А вот это уже мощно конечно
Sbtrn. Devil
> Ты близок к тому, чтобы изречь страшную идею - нейросеть, которая считает
> биткоен.
не считает, а оптимизирует алгоритм рассчета. Боюсь что идея не нова и уже давно.
И без нейросетей в интернете полно бесплатного арта, но вот желания сделать игру из такого ассорти как-то нет. Даже худо-бедно самому нарисовать в одном стиле было бы лучше. Если нейросеть будет генерить стабильно и быстро весь необходимый арт в одной стилистике - это будет прорыв, да. Но думаю не будет ли вопросов к тому из чего она генерит этот Арт? Нельзя же будет наверное набрать ЧУЖОГО арта и сделав через нейросеть новый - заявить что якобы это твой уже Арт. Потому я так вижу что нейросети будут применять в начале для облегчения работы художникам когда контента много, а потом для стабильного создания большого количества контента - но когда уже есть много Артов своих же художников. То есть в моем видении это будет скорее применимо для крупных проектов, а не для маленьких поделок или инди игр ( если только конечно Арт созданный нейросетью из чужих Артов не будет вдруг таки считаться новым потом твоим, но юридически это кажется странным - а если использовать бесплатные Арты для подобного то учитывая разницу в их стилистике результат будет не лучше ).
Dartmor
> Если нейросеть будет генерить стабильно и быстро весь необходимый арт в одной
> стилистике - это будет прорыв, да.
В том-то и дело что эта конкретная уже почти может. Просто нужен длинный запрос описывающий что
ты хочешь в плане общего стиля, который ты копипастишь на все конкретные спрайты.
Dartmor
> Нельзя же будет наверное набрать ЧУЖОГО арта и сделав через нейросеть новый -
> заявить что якобы это твой уже Арт.
Ну во первых - пока явно не запретят можно будет, а во вторых оно и не нужно в таком виде.
Но вообще да тема заставляет задуматься. Например, может появиться новая профессия художника-программиста, который умеет в нейросеть и генерит из своих Артов больше Артов, что снизит их себестоимость. Или аутсорс студий художников, которые будут продавать Арты созданные на основе работ их художников, что тоже снизит в теории себестоимость Артов.
romanshuvalov
> Я нарисовал это:
> Нейросеть выдала это:
Тaк глядишь, скоро в детских садах будут проводить конкурс среди рисунков малышей на лучший дизайн модели новой игрушки. :-))
> Нельзя же будет наверное набрать ЧУЖОГО арта и сделав через нейросеть новый -
> заявить что якобы это твой уже Арт.
Можно. Нейросеть на этапе обучения не сохраняет куски чужого арта, она сохраняет веса (weights), т.е. коэффициенты, которые в дальнейшем будут использоваться для анализа картинки. Т.е. в тех картинках, которые сгенерированы нейросетью, нет буквально ни одного пикселя из оригиналов (у нейросети вообще нет оригиналов, только веса). Можно сравнить с живым художником, который посетил множество галерей с тысячами картин, а потом вдохновляясь увиденным нарисовал своё. Какие-то элементы могут узнаваться, как в случае с любым учеником, в работе которого узнаётся почерк учителя.
Но, само собой, нейросеть может случайно выдать чужой существующий образ или зарегистрированный товарный знак. (Живой художник тоже так может.)
romanshuvalov
Ну так в этом и вопрос - какие Арты будут использоваться на этапе обучения. Это же можно будет выяснить, я полагаю. И вряд ли можно будет чужие Арты для обучения своей нейросети юзать.