Найти в Дзене
Аналитика данных

Генерим фоточки в Google colab халявно

Ещё одно решение для тех кому нужны изображения и желательно без водяных знаков. Каждый может создавать уникальные изображения из текста и одного исходного изображения. Без дорогих видеокарт и сложных программ с помощью Google colab и нескольких строк кода. Открываем Google Colab. Предварительно авторизовавшись в Google. В появившемся окне жмём синюю кнопку «Создать блокнот». После чего появится интерфейс блокнота для написания python-кода. Пишем код в разных ячейках. Чтобы добавить новую ячейку в меню сверху есть кнопка «+ Код». ⚠ Ниже приведён полный код, но т.к. Дзен не поддерживает форматирование программного кода, все необходимые пробелы в начале строк заменены символами точек: «···». В Google colab все эти точки необходимо заменить на пробелы. Чистый код без точек можно скопировать на GitHub: !pip install torch diffusers transformers accelerate --quiet !pip install xformers --quiet import torch
torch.cuda.empty_cache()  # Очистка кеша GPU
from diffusers import AutoPipelineForImag
Оглавление
Жук на грибе
Жук на грибе

Ещё одно решение для тех кому нужны изображения и желательно без водяных знаков. Каждый может создавать уникальные изображения из текста и одного исходного изображения. Без дорогих видеокарт и сложных программ с помощью Google colab и нескольких строк кода.

Пошаговая инструкция

Открываем Google Colab. Предварительно авторизовавшись в Google.

В появившемся окне жмём синюю кнопку «Создать блокнот».

Google colab
Google colab

После чего появится интерфейс блокнота для написания python-кода. Пишем код в разных ячейках. Чтобы добавить новую ячейку в меню сверху есть кнопка «+ Код».

⚠ Ниже приведён полный код, но т.к. Дзен не поддерживает форматирование программного кода, все необходимые пробелы в начале строк заменены символами точек: «···». В Google colab все эти точки необходимо заменить на пробелы. Чистый код без точек можно скопировать на GitHub:

!pip install torch diffusers transformers accelerate --quiet
!pip install xformers --quiet
import torch
torch.cuda.empty_cache()  # Очистка кеша GPU
from diffusers import AutoPipelineForImage2Image
from diffusers.utils import load_image
from PIL import Image
from google.colab import files
# 1. Установка xformers
try:
···!pip install -q xformers
···import xformers
···xformers_installed = True
except:
···xformers_installed = False
···print("xFormers не установился. Работаем без него.")
# 2. Инициализация пайплайна stable-diffusion-xl-refiner-1.0
pipeline = AutoPipelineForImage2Image.from_pretrained("stabilityai/stable-diffusion-xl-refiner-1.0", torch_dtype=torch.float16).to("cuda")
# 3. Включение xformers с обработкой ошибок
if xformers_installed:
···try:
······pipeline.enable_xformers_memory_efficient_attention()
······print("xFormers успешно включен!")
···except:
······print("Не удалось включить xFormers, продолжаем без него")
······xformers_installed = False
# 4. Загрузка изображения
img_url = "some_url_image"
init_image = load_image(img_url)
# 5. Генерация изображения
prompt = "May beetle on a mushroom"
image = pipeline(prompt=prompt, image=init_image, strength=0.6, num_inference_steps=25, guidance_scale=7.0).images[0]
# 7. Сохранение результата
image.save("result.jpg")
print("Изображение сохранено как result.jpg")
# 8. Скачивание на локальный компьютер
files.download("result.jpg")

Код в картинках

-3
-4

На шаге №4. Исходное изображение

img_url = "some_url_image"

Тут вместо some_url_image нужно вставить URL своего изображения. Если пользоваться Я.Диском, то URL нужно вставлять именно оригинального изображения, а не копировать короткую ссылку, которую предлагяет сам Яндекс.

На шаге №5. Параметры в коде генерации

  • strength=0.6 – Лучше 0.5-0.7
  • num_inference_steps=25 – чем больше шагов, тем выше качество (стандартно 20)
  • guidance_scale=7.0 – Баланс креативности/качества

Выбираем GPU в Google colab

В Google colab можно пользоваться как CPU так и GPU, для генерации изображений, требуется GPU, как выбрать см. скрин ниже. Там где написано в верхнем правом углу «ОЗУ / Диск» жмём на маленький треугольник и в появившемся меню выбираем «Сменить среду выполнения»

ОЗУ / Диск
ОЗУ / Диск

После этого появится окно выбора новой среды. Выбираем «Графический процессор Т4» жмём «Сохранить»

-6

Запуск

Теперь, если всё сделано верно, можно запускать код: меню «Среда выполнения» > «Выполнить всё» или жмём Ctrl + F9. Результирующая картинка сохраняется на компьютер в туже папку, куда браузер сохраняет файлы, как обычно.

Ограничения Google colab

Если у вас не оплачен аккаунт Pro, то ежедневный лимит на использование GPU составляет около 12 часов.

Исходные изображения, промпты и результаты

Запрос №1

Исходное изображение
Исходное изображение

Промпт: a cat with a bow around its neck

Сгенерированная картинка
Сгенерированная картинка

Запрос №2

Исходное изображение
Исходное изображение

Промпт: a frog sits on a mushroom

Сгенерированная картинка
Сгенерированная картинка

Запрос №3

Исходное изображение
Исходное изображение

Промпт: cyborg girl with a sword and wings
Слишком много креатива :)

Сгенерированная картинка
Сгенерированная картинка