Skip to content

svyatocheck/ML-speech-denoiser-docker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ML-speech-denoiser-docker

Реализация контейнеризованного веб-приложения. (Ну почти)

Примечание

Решил использовать Telegram из-за практической пользы: удобно записывать голосовые сообщения, видео сообщения, пересылать их и т.д. Также, всего скорее, MVP будет реализовано именно в формате бота, поэтому это решение - часть подготовки к презентации. Бота развернул на Yandex.Cloud. Ссылка: https://t.me/speech_cleaner_bot Работает хуже, чем я ожидал :(

Описание

Кодовая база для запуска бота в телеграм, с функцией обработки аудио и видео файлов с использованием алгоритмов машинного обучения. Проект состоит из следующих файлов:

  • config.py - содержит все глобальные переменные, необходимые для извлечения Features и восстановления аудио после обработки алгоритмом.
  • features_extractor.py - класс для извлеченя Features из файла
  • audio_restorer.py - конвертация обработанного н.с. файла в исходный формат.
  • main.py - логика самого бота.
  • speech_model.h5 - CRNN модель. Примечание: подробное описание и ход экспериментов можно просмотреть тут и тут.
  • Dockerfile - конфигурация докер контейнера

Инструкция

Делал на Линух, описано под эту ось. Доработаю под виндовс если есть необходимость.

  1. Прежде всего нужно зарегать бота. Для этого пишем боту @BotFather команду /newbot, после этого даем боту имя и тэг. После этих действий бот отправит нам токен, который никому давать нельзя.
  2. Скачиваем проект и открываем в любом удобном для нас редакторе.
  3. В файлике speech_bot.py вставляем токен. bot = telebot.TeleBot('YourToken')
  4. Если есть желание, можно создать venv и запустить бота без докера. Инструкция по работе с venv. Не забудьте установить необходимые библиотеки из файла requirements.txt + tensorflow (т.к. образ для контейнера идет с tensorflow, нет нужды перечислять его в общем списке).
  5. Устанавливаем docker desktop, запускаем его.
  6. В терминале (убедитесь, что открыта директория проекта), прописываем следующую команду: docker build -t your_project_name:v01 .
  7. Ждем создания контейнера - это может занять некоторое время.
  8. По завершению, вбиваем следующую команду: docker run -it --rm your_project_name:v01
  9. Проверяем, работает ли бот.

Когда вносите собственные правки в проект, не забывайте сбрасывать диалог очисткой сообщений, или /start командой.

Полезные ссылочки

  1. https://www.youtube.com/watch?v=KTd2a1QKlwo
  2. https://habr.com/ru/articles/697052/

About

Attempt to build docker container with tg bot in it

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages