Coder Social home page Coder Social logo

Comments (23)

Navatusein avatar Navatusein commented on July 26, 2024

Всё сгенерированные ответы кэшируются. Чтобы почистить кэш просто в браузере перейдите на адрес сервера/clear_cache.

from silero-tts-service.

Navatusein avatar Navatusein commented on July 26, 2024

До авто очистки пока руки не дошли.

from silero-tts-service.

Omirax avatar Omirax commented on July 26, 2024

В том то и дело, что я видел GET /clear_cache - Очищает кэш уже синтезированных сообщений. и выполнил сразу.
Получил ответ Success
Но в результате

CONTAINER ID   NAME                 CPU %     MEM USAGE / LIMIT     MEM %     NET I/O           BLOCK I/O         PIDS
b92407531c1d   silero-tts-service   0.43%     1.264GiB / 3.681GiB   34.34%    63MB / 17.4MB     210MB / 438MB     11

1.264GiB - это после очистки кэша.
Поэтому и написал.

from silero-tts-service.

Navatusein avatar Navatusein commented on July 26, 2024

Тогда мне сложно сказать сейчас.

from silero-tts-service.

Navatusein avatar Navatusein commented on July 26, 2024

Я без понятия где память утекает.

from silero-tts-service.

Omirax avatar Omirax commented on July 26, 2024

Это не критично. Как будет возможность, посмотрите. Я готов помогать искать проблемы с утечкой, если будет нужна моя помощь.

Я перевёл контейнер в фазу активного использования. И в принципе 1.2-1.3GB +/- пока постоянно.
В день - примерно 30-40 обращений к Rhasspy и 5-6 HA TTS.

В любом случае - работа Вами проделана великолепная!
Это лучшее из того, что я встречал для локального голосового управления!

from silero-tts-service.

Navatusein avatar Navatusein commented on July 26, 2024

Это не критично. Как будет возможность, посмотрите. Я готов помогать искать проблемы с утечкой, если будет нужна моя помощь.

Я перевёл контейнер в фазу активного использования. И в принципе 1.2-1.3GB +/- пока постоянно. В день - примерно 30-40 обращений к Rhasspy и 5-6 HA TTS.

В любом случае - работа Вами проделана великолепная! Это лучшее из того, что я встречал для локального голосового управления!

Вот тут странно, у меня в среднем 5 уникальных запросов в день от НА и при этом контейнер ест 250 мегабайт.

from silero-tts-service.

Omirax avatar Omirax commented on July 26, 2024

Ну как бы вот что мы имеем:

root@b92407531c1d:/usr/app# ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%mem | head
    PID    PPID CMD                         %MEM %CPU
      1       0 python3 -u ./main.py        34.2  0.5
    126       0 bash                         0.0  0.3
    132     126 ps -eo pid,ppid,cmd,%mem,%c  0.0  0.0
    133     126 head                         0.0  0.0
root@b92407531c1d:/usr/app# ps aux | awk '{print $6/1024 " MB\t\t" $11}' | sort -n
0 MB            COMMAND
0.59375 MB              sort
0.996094 MB             awk
3.15625 MB              ps
3.73047 MB              bash
1290.14 MB              python3

И мы тут как не пытались загрузить нашу "Милану" TTS или голосовыми командами - получили вот так:

root@b92407531c1d:/usr/app# ps aux | awk '{print $6/1024 " MB\t\t" $11}' | sort -n
0 MB            COMMAND
0.527344 MB             sort
0.996094 MB             awk
3.07812 MB              ps
3.54297 MB              bash
1288.71 MB              python3

from silero-tts-service.

Omirax avatar Omirax commented on July 26, 2024

Проблема с памятью по-прежнему актуальна после еще 2-х дней эксплуатации (всего 5 суток после рестарта контейнера):

CONTAINER ID   NAME                 CPU %     MEM USAGE / LIMIT     MEM %     NET I/O           BLOCK I/O         PIDS
b92407531c1d   silero-tts-service   0.43%     1.54GiB / 3.681GiB    41.84%    63MB / 26.3MB     247MB / 552MB     11
...
9909ca915b28   rhasspy              29.10%    574.9MiB / 3.681GiB   15.25%    35.6GB / 2.04GB   1.34GB / 1.4GB    55

Ниже список по использованию памяти в системе:

    PID    PPID CMD                         %MEM %CPU
1264200 1264180 python3 -u ./main.py        41.4  0.5
1163836 1163809 python3 -m rhasspyasr_kaldi 11.6  5.2
 429030  428965 mariadbd                     7.9  0.3
1689210  625579 python3 -m homeassistant --  7.8  5.3
1249151 1249103 node index.js                1.8  0.7
 428255       1 /usr/bin/dockerd -H fd:// -  1.3  1.6
1163837 1163810 python3 -m rhasspywake_rave  0.8 10.4
    426       1 /sbin/multipathd -d -s       0.7  0.0
1248885 1248854 /portainer                   0.6  0.0

После рестарта контейнера:

CONTAINER ID   NAME                 CPU %     MEM USAGE / LIMIT     MEM %     NET I/O           BLOCK I/O         PIDS
b92407531c1d   silero-tts-service   0.44%     232.3MiB / 3.681GiB   6.16%     936B / 0B         303kB / 0B        7
...
9909ca915b28   rhasspy              28.18%    529.8MiB / 3.681GiB   14.05%    35.7GB / 2.04GB   1.34GB / 1.42GB   55

После первого запроса через rhasspy с ответом "температуры за окном" (примерно 100 знаков)

CONTAINER ID   NAME                 CPU %     MEM USAGE / LIMIT     MEM %     NET I/O           BLOCK I/O         PIDS
b92407531c1d   silero-tts-service   0.42%     649.7MiB / 3.681GiB   17.23%    3.83kB / 586kB    24.3MB / 586kB    11

После следующего уникального запроса из 100 знаков:

CONTAINER ID   NAME                 CPU %     MEM USAGE / LIMIT     MEM %     NET I/O           BLOCK I/O         PIDS
b92407531c1d   silero-tts-service   0.45%     809.7MiB / 3.681GiB   21.48%    7kB / 1.22MB      40.8MB / 1.22MB   11

Повторение первого запроса с ответом "температуры за окном" приводят к увеличению занятости памяти на 1.5-2MB

from silero-tts-service.

Navatusein avatar Navatusein commented on July 26, 2024

К сожалению течь памяти у моделей Silero. Я пока не знаю удастся ли вообще эту проблему починить. Пока ничего не помогает.

from silero-tts-service.

Navatusein avatar Navatusein commented on July 26, 2024

Всё проблема исправлена, правда костылём. Из-за чего запросы могут выполняться чуть дольше.

from silero-tts-service.

Omirax avatar Omirax commented on July 26, 2024

Здравствуйте!

А не могли бы Вы залить на докерхаб под другим тэгом образ без внесенных изменений?
Дело в том, что у меня много у кого сделаны автоматизации с таймаутами.

              timeout: 00:00:20
              continue_on_timeout: true   

И у меня стали "выпадать" голосовые оповещения. То есть за 20 секунд не успевает отработать.

P.S. Возможно, что я не правильно понял, но вроде модели Silero помешают в память транскрипцию отдельных слов. А потом пользуются ими при комплектации текста. Если это так, то это объясняет то, что повторное сообщение о погоде, но с другими цифрами отрабатывает в 5-6 раз быстрее, чем первое.
Сейчас же получается, что 2 одинаковых сообщений о погоде отрабатывает одинаково долго.

from silero-tts-service.

Navatusein avatar Navatusein commented on July 26, 2024

Здравствуйте!

А не могли бы Вы залить на докерхаб под другим тэгом образ без внесенных изменений? Дело в том, что у меня много у кого сделаны автоматизации с таймаутами.

              timeout: 00:00:20
              continue_on_timeout: true   

И у меня стали "выпадать" голосовые оповещения. То есть за 20 секунд не успевает отработать.

P.S. Возможно, что я не правильно понял, но вроде модели Silero помешают в память транскрипцию отдельных слов. А потом пользуются ими при комплектации текста. Если это так, то это объясняет то, что повторное сообщение о погоде, но с другими цифрами отрабатывает в 5-6 раз быстрее, чем первое. Сейчас же получается, что 2 одинаковых сообщений о погоде отрабатывает одинаково долго.

Да, поведение вы поняли правильно. Просто есть проблема что память которую они заняли не как не получается освободить. Так что я вынес синтез речи в отдельный процесс, который запускается каждый раз когда нужно что-то синтезировать. Но это плохое решение. Тут получается закономерность. Либо модели жрут много памяти и работают +- быстро или жрут мало памяти и работают долго.

from silero-tts-service.

Navatusein avatar Navatusein commented on July 26, 2024

У меня в тестах, получилось добиться жора в 4.5 гб памяти. Что есть много так как у меня на сервере всего 6.

from silero-tts-service.

Omirax avatar Omirax commented on July 26, 2024

Я хочу попробовать ограничить память контейнеру.

from silero-tts-service.

Navatusein avatar Navatusein commented on July 26, 2024

Я хочу попробовать ограничить память контейнеру.

Хорошо, я как домой дойду, выложу в хаб образ з отдельным лейблом, со старой генерацией речи.

from silero-tts-service.

Omirax avatar Omirax commented on July 26, 2024

Не знаю, относится ли это к проблеме, но:

Important Information for VAD Python Users ⚠️

If you are using the VAD in a:

    multi-threaded or
    a multi-process application

**Do not forget to disable gradients in EACH process and / or thread.
Otherwise memory may leak noticeably.**

Ну и вот еще snakers4/silero-models#43

from silero-tts-service.

Navatusein avatar Navatusein commented on July 26, 2024

Не знаю, относится ли это к проблеме, но:

Important Information for VAD Python Users ⚠️

If you are using the VAD in a:

    multi-threaded or
    a multi-process application

**Do not forget to disable gradients in EACH process and / or thread.
Otherwise memory may leak noticeably.**

Ну и вот еще snakers4/silero-models#43

VAD Это их система для обнаружения речи, для захвата её микрофоном. Silero также имеют модель stt.

from silero-tts-service.

Navatusein avatar Navatusein commented on July 26, 2024

А проблема которую вы нашли, также касается stt моделей.

from silero-tts-service.

Navatusein avatar Navatusein commented on July 26, 2024

Я хочу попробовать ограничить память контейнеру.

Ограничение памяти помогло. Но по тестам скорость все рано не много но упала.

from silero-tts-service.

Omirax avatar Omirax commented on July 26, 2024

Ну хоть так. А то сейчас - перебор!
Будем тестить, как зальете на докхаб!

from silero-tts-service.

Navatusein avatar Navatusein commented on July 26, 2024

Ну хоть так. А то сейчас - перебор! Будем тестить, как зальете на докхаб!

Всё новая версия в хабе.

from silero-tts-service.

Omirax avatar Omirax commented on July 26, 2024

Отлично! Уже в работе!

from silero-tts-service.

Related Issues (14)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.