Створення мемів за допомогою ШІ
У сучасному світі штучний інтелект став невід’ємною частиною нашого повсякденного життя. З його величезним потенціалом, я вирішив дослідити, що ми можемо досягти за допомогою цього потужного інструменту. Перш ніж почати, давайте встановимо деякі критерії та обмеження для нашого дослідження:
- Він повинен бути безкоштовним
- Він повинен бути легким у використанні (з Python, а не на якомусь онлайн-сайті)
- Він повинен сприяти творчості
- Він повинен бути веселим
Тема, яку я обрав для цього дослідження — «Створення Мемів».
Перед тим як продовжити, я б хотів уточнити, що я не є Data Scientist, а ця тема мені просто цікава. Тому, щоб бачити результат свого дослідження, я вибрав варіант написати невеликий топік про те, що я зробив і знайшов.
Пошук готового проекту
Я сподівався, що можливо хтось вже створив проект, який відповідає моїм критеріям, і мені просто потрібно буде його перевірити, по тестити і все. Тому я почав шукати на GitHub
i Kaggle
.
GitHub
Я почав своє дослідження на GitHub, знаючи, що там є багато різних проектів (хоча здогадувався що більшість із них може не відповідати вище вказаним критеріям). Я шукав за допомогою тексту create meme language:Python
. Так я погоджуюся, що це найпримітивніший варіант пошуку і що найцікавіше я пропустив. Однак, я вирішив не ускладнювати на цьому етапі. Я знайшов багато коду, але не те, що очікував. Найпоширеніші результати були:
- Додавання тексту до зображення
- Рішення для зберігання мемів з використанням Flask або Django
- Різні боти (для Discord, Twitter тощо)
- API для отримання випадкових ВЖЕ готових мемів з різних джерел
На жаль, ці результати не відповідають встановленим критеріям. Тож, я продовжив пошук.
Kaggle
Наступним кроком я спробував пошук на Kaggle
. «Тут обов’язково має бути щось», — подумав я 😎. Вирішив шукав за текстом meme
і фільтрував за Notebooks
. Результати були не кращими (можливо, навіть гіршими), ніж на GitHub
, тому не буду зупинятися детально, що саме там було. Загалом, нічого корисного. Тому я подався до Google
.
Розуміючи, що це завдання не таке легке, як я очікував, я звернувся до Google за допомогою. Мій пошуковий запит був create memes python
, результатів було багато, але вони були не набагато кращими, ніж попередні варіанти. Найпоширеніші:
- Додавання тексту до зображення за допомогою бібліотеки Pillow
- Боти
- API (загальні — `GPT-4`)
Що робити далі?
Легкий шлях не спрацював, тож мені потрібно було зробити щось інше, щоб знайти щось по справжньому цікаве. Тож я вирішив перевірити щось більш загальне, а саме створенням зображень з тексту (тобто чому не спробувати створити не просто зображення, а funny
зображення).
Цього разу я почав з Kaggle та пошуку за текстом text to image
.
Створення зображень
Зрештою, я знайшов цікавий notebook на Kaggle, який використовував чудову бібліотеку Python під назвою diffusers. Не витративши багато часу було знайдено, що це можливо і більше того, що є багато попередньо навчальних моделей з якими можна експериментувати і просто кажучи розважатися. Для того щоб отримати список моделей можна використати наступний скрипт (і ще крутіше, що ви можете використовувати власну модель, можливо, це буде темою мого наступного дослідження):
from huggingface_hub import HfApi
# Ініціалізувати API
api = HfApi()
# Отримати список моделей для бібліотеки diffusers та генерації зображень
models = api.list_models(filter="diffusers", task="text-to-image")
# Вивести назви моделей
for model in models:
print(model.modelId)
Я протестував StableDiffusionPipeline
та DiffusionPipeline
(обидва компоненти бібліотеки Diffusers від Hugging Face) і отримав такі результати:
DiffusionPipeline:
StableDiffusionPipeline:
Висновок
Як підсумок всього цього дослідження, я можу сказати, що це не ідеально, але якщо ви використаєте попередньо навчену модель і додатково навчити її на власних даних, можна досягти не поганих результатів. Бібліотека `Diffusers` від `Hugging Face` пропонує потужні інструменти для створення мемів з використанням штучного інтелекту, і я вважаю, що те що було знайдено відповідає попередньо встановленим критеріям — безкоштовність, легкість у використанні, творчість і веселощі.
6 коментарів
Додати коментар Підписатись на коментаріВідписатись від коментарів