Этот бот основан на fast-neural-style(https://github.com/pytorch/examples/tree/master/fast_neural_style)
- Для того, чтобы опробовать его в действии для начала необходимо создать файл telegram_token.py в папке bot_utils, сделать это можно при помощи файла go_bot.py и команды:
python go_bot.pyПосле выполнения команды, в окно необходимо вписать токен вашего бота полученного от @BotFather.
- После того, как Вы создали требуемый telegram_token.py с токеном, следующим шагом станет запуск самого бота командой:
python bot.pyВсе, бот работает, теперь нужно лишь зайти в telegram и начать с ним разговор, либо ввести /start, если разговор уже начат.
Чтобы, натеренеровать модель с собственным стилем необзодимо выполнить такую команду:
python training.py --dataset </path/to/train-dataset> --style-image </path/to/style/image> --save-model-dir </path/to/save-model/folder> --epochs 2 --cuda 1Есть множество параметров, которые можно задать при тренировке модели, самые важные описаны снизу, для просмотра других пропишите --help в команде сверху.
--dataset: Путь к тренировочному датасету, путь должен быть указан к папке, содержащей другую папку, уже в которой расположены все тренировочные изображения. Я использовал для тренировки своих моделей COCO 2017 val dataset[5K/1GB] при тренировке оригинальных моделей fast-neural-style был использован COCO 2014 training dataset [80K/13GB] (download).--style-image: Путь к картинке со стилем.--save-model-dir: Путь к папке, куда будет сохранена натренерованная модель..--cuda: Поставьте 1 чтобы тренировать на GPU, 0 для CPU.
В папке heroku располагается бот, который был запущен на удаленном сервере heroku, для этого пришлось полностью переделать файл neyral_style_with_your_image и отказаться от очень тяжелой сети VGG в пользу легкой SqueezeNet + поставить порог на размер входных изображений для ресайза в utils.
Чтобы запустить бота на heroku необходимо скинуть все, то лежит в папке heroku в свой репозиторий (приватный, потому что иначе будет виден токен твоего бота, который придется держать в репозитории все время), также выполнить go_bot.py и, зарегистрируясь на heroku, нажать на New и выбрать - загрузить из git hub репозитория, выбрать свой репозиторий... deploy и все, бот живет )
Можно попробовать SqueezeNet нейросеть для своих изображений и без запуска на удаленке, для этого существует bot_SqueezeNet! Его запуск аналогичен с запуском просто bot.py (который на VGG)
Просто во 2) пункте такая команда:
python bot_SqueezeNet.pyВсе ответы бота и url фотографий, которые он использует вынесены в отдельный файл config.py, так что их можно отредактировать там.
То же самое с bot_SqueezeNet, только файл соответственно config_SqueezeNet.py