Skip to content

igor-kurenkov/NN_Style_transfer_telegram_bot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Style transfer telegram bot

Это итоговый проект в Deep Learning School осень 2022 продвинутый поток часть 1.

Stepik User ID 351891460

Телеграм-бот для переноса стиля изображения.

адрес демо-бота https://t.me/DLSstyletransferIKbot

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

Скриншот работы бота из Telegram

bot

Режимы работы бота

У бота есть 3 режима работы:

  • Перенос стиля с одного изображения на другое (NST)
  • Стилизация изображений под картины Ван Гога (GAN)
  • Стилизация дневных пейзажей в ночные (GAN)

Перенос стиля с одного изображения на другое

В данном режиме бот переносит стиль с первого изображения на второй с заданными настройками.

Данный режим использует технологию Neural style transfer.

Для этого режима возможна настройка размера выходного изображения

  • 256х256 пикселей
  • 512х512 пикселей
  • 1024x1024 пискселя. Нестабильно на Pythonanywhere

Возможные результаты работы данного режима бота:

Изначальное изображение Переносимый стиль Итоговое изображение

Стилизация изображений под картины Ван Гога

В данном режиме бот перерисовывает данное ему изображение так, чтобы оно было похоже по стилю на картины Ван Гога. При этом бот использует предобученную генеративную сеть из этого проекта: https://github.com/junyanz/pytorch-CycleGAN-and-pix2pix.

Данный режим использует технологию Generative adversarial networks.

Для этого режима возможна настройка размера выходного изображения

  • 256х256 пикселей
  • 512х512 пикселей
  • 1024x1024 пискселя

Пример результатов работы:

Изначальное изображение Итоговое изображение

Стилизация изображений под картины Клода Моне

В этом режиме бот перерисовывает данное ему изображение так, чтобы оно было похоже по стилю на картины Ван Гога. При этом бот использует предобученную генеративную сеть из этого проекта: https://github.com/junyanz/pytorch-CycleGAN-and-pix2pix.

Данный режим использует технологию Generative adversarial networks.

Для этого режима возможна настройка размера выходного изображения

  • 256х256 пикселей
  • 512х512 пикселей
  • 1024x1024 пискселя

Возможные результаты работы данного режима бота:

Изначальное изображение Итоговое изображение

Установка

Для запуска данного бота у себя необходимо добавить в основной каталог файл config.py со следующим содержанием:

  API_TOKEN = '<YOUR TOKEN>'

  DEBUG_ID = '<YOUR_DEBUG_ID>'
  
  GET_DEBUG_INFO = True

  LOGGING = True

  MODE = 'NORMAL'

  CONNECTION_TYPE = 'POLLING'

  WEBHOOK_HOST = '<YOUR_WEBHOOK_HOST>'

  WEBAPP_PORT = '<YOUR_WEBAPP_PORT>'

Где:

  • <YOUR TOKEN> -- токен вашего бота, который можно получить у официального бота сервиса Telegram для создания собственных ботов: @BotFather,
  • <YOUR_DEBUG_ID> -- id человека, которому будут приходить сообщения в телеграм об ошибках,
  • GET_DEBUG_INFO -- будет ли на указанный выше id отправляться информация об ошибках (если поставить False, то можно не указывать id в строке выше),
  • LOGGING -- будет ли выводиться в консоль информация о том, какие действия сейчас совершает бот,
  • MODE -- может принимать значения 'EASY' или 'NORMAL', в первом случае при попытке перенесения стиля бот будет сообщать, что он запущен на слабом устройстве, во втором случае все работает штатно.
  • CONNECTION_TYPE -- может принимать значения 'POLLING' или 'WEBHOOKS', в зависимости от желаемого вами типа (для более простой работы стоит указать 'POLLING')
  • <YOUR_WEBHOOK_HOST> -- адрес вашего webhook хоста (если выше выбрали 'POLLING', то можно не заполнять)
  • <YOUR_WEBAPP_POST> -- порт вашего webhook хоста (если выше выбрали 'POLLING', то можно не заполнять)

Библиотека для работы с нейронными сетями: pytorch


По всем вопросам обращаться в телеграм: @Neuronauticus

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages