Перейти к содержимому. | Перейти к навигации

Персональные инструменты

Вы здесь: Главная / Спиричев Вадим / СофтСервис / CVAT / Развертывание и настройка CVAT

Развертывание и настройка CVAT

для работы с нейронными моделями в режиме Semi-automatic and Automatic Annotation

 

 

Предварительные замечания.

 

Дальнейшее изложение основано на сценарии предложеном в следующем видеоролике. А точнее, в инструкции на которую отсылают из видеоролика: https://openvinotoolkit.github.io/cvat/docs/manual/advanced/serverless-tutorial/

Предполагается, что мы имеем машину под управлением Debian/Ubuntu (тестировалось на Debian10) с установленой инфраструктурой Docker и работающей docker-compose.

Установка Docker  и docker-compose проводилась с помощью ansible playbook'a. Это описано в следующей инструкции.

Машина имеет сетевой интерфейс в локальную сеть и/или в Интернет, на котором будем смотреть на результаты установки.

 

Сценарий установки.

 

1. Заходим на машину для установки пользователем (например) deploy,  у которого есть права суперпользователя по sudo.

2. Клонируем в домашний каталог версию CVAT с github'а:

git clone https://github.com/opencv/cvat
cd cvat

3. Запускам docker-compose с опцией build

docker-compose -f docker-compose.yml -f docker-compose.dev.yml -f components/serverless/docker-compose.serverless.yml up -d --build

это заняло достаточно много времени! В ходе установки была поставлена большая группа deb-пакетов и выполнялась компиляция и сборка компонент с помощью gcc (!!!). В ходе этого процесса проскакивали красные строчки, но будем надеятся, что это были предкпреждения. Хотя, надо бы заглянуть в log-файл.

4. По окончании смотрим на список контейнеров:

docker-compose -f docker-compose.yml -f docker-compose.dev.yml -f components/serverless/docker-compose.serverless.yml ps

должны увидеть картинку похожую на эту:

   Name                 Command                  State                            Ports
-------------------------------------------------------------------------------------------------------------
cvat         /usr/bin/supervisord             Up             8080/tcp
cvat_db      docker-entrypoint.sh postgres    Up             5432/tcp
cvat_proxy   /docker-entrypoint.sh /bin ...   Up             0.0.0.0:8080->80/tcp,:::8080->80/tcp
cvat_redis   docker-entrypoint.sh redis ...   Up             6379/tcp
cvat_ui      /docker-entrypoint.sh ngin ...   Up             80/tcp
nuclio       /docker-entrypoint.sh sh - ...   Up (healthy)   80/tcp, 0.0.0.0:8070->8070/tcp,:::8070->8070/tcp

или просто 

docker ps

видим, что cvat "exposed" на порт 8080 хоста, а nuclio на порт 8070.

5. Чтобы увидеть в браузере на этих портах интерфейсы cvat и nuclio необходиимо на хосте

сэкспортировать env-переменную:

export CVAT_HOST=<YOUR_HOSTNAME_OR_IP>

Это описано в F.A.Q. (How to change default CVAT hostname or port)

Смотрим какой ip  у нас на интерфейсе упомянутом в "Предварительных замечаниях"

sudo ifconfig

потом прописывам строчку с export в .bashrc

6. Перезапускаем контейнеры:

docker-compose -f docker-compose.yml -f docker-compose.dev.yml -f components/serverless/docker-compose.serverless.yml stop
docker-compose -f docker-compose.yml -f docker-compose.dev.yml -f components/serverless/docker-compose.serverless.yml up -d

7. Смотрим браузером на порты 8080 и 8070.

8. Теперь нам нужен пароль суперпользователя для cvat. Делаем:

docker exec -it cvat bash -ic 'python3 ~/manage.py createsuperuser'

можно оставить имя django и поставить пароль и почту.

9. Проверяем вход суперпользователем в cvat.

10. Ставим nuctl как в инструкции:

wget https://github.com/nuclio/nuclio/releases/download/1.9.0/nuctl-1.9.0-linux-amd64
sudo chmod +x nuctl-1.9.0-linux-amd64
sudo ln -sf $(pwd)/nuctl-1.9.0-linux-amd64 /usr/local/bin/nuctl

новые версии ищем тут https://github.com/nuclio/nuclio/releases

11. Проверяем

nuctl get functions