Как я писал автогенерацию изображений с помощью Kandinsky 2.2

от автора

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

Сначала я долго и чрезвычайно старательно пытался решить проблему умными методами: запросами там… Но в итоге (после месяца бесполезных мучений) я решил использовать графический интерфейс и pyautogui.

Начнём с создания промптов (по русски — запросов). Первый файл из репозитория это promptengineer.py. Он составляет .txt файл просто умопомрачительных размеров. Вы можете отрегулировать его размер количеством запросов в нём. Далее необходимо запустить datafromtxt.py для формирования файла data.pickle (точно такого же как и .txt файл размера). Теперь текстовый файл можно удалять, и работать с kand.py. Его запуск даёт вам некоторое время на переход в !НОВОЕ! окно firefox. Там вам необходимо открыть окно загрузок и развернуть на полный экран, и после вновь перейти на новое окно firefox. Скоро начнётся выполнение программы: открытие вкладки, переход на необходимый сайт, выбор стиля, написание запроса, и так далее. К сожалению, везде разный интерфейс, и потому я оставляю mouselistener.py для того, чтобы в случае «тыков» в неправильные места вы могли корректировать их координаты. Файл при запуске будет выводит координаты ваших кликов в консоль, и вы сможете изменить координат кликов в программе.

Более подробно

Сначала о запросах. С помощью random.choises([],[]) мы выбираем для каждой поозиции запроса один из вариантов, и «собираем» его воедино. После происходит запись в файл и генерация нового запроса.

В участке

count = 0 while count < 64000000:

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

Следующий файл использует pickle для создания файла с запросами. Его работа очень проста, и не требует пояснений.

А теперь — главное: программа для, собственно, генерации. Код выполнен с подробными пояснениями, практически на каждую строчку. Без функции main001() вы можете использовать её и в других целях. Используются библиотеки time, pyautogui. В итоге вы получите множество изображений по запросам. Вам остаётся лишь отфильтровать Шестипалых, Глазоголовых и Многоногих и можно наслаждаться сотнями (тысячами (миллионами)) изображений неплохого качества. В случае, если программа тыкает не туда, вы можете исправить код, узнав необходимые координаты с помощью mouselistener.py.

Вот несколько примеров генераций:

Удачного использования!


ссылка на оригинал статьи https://habr.com/ru/articles/749596/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *