Развертывание из консольного инсталлятора

Для развертывания FindFace используется консольный инсталлятор.

Совет

Перед тем как приступить к развертыванию, обязательно ознакомьтесь с системными требованиями.

Важно

Для успешного функционирования системы после установки из инсталлятора IP-адрес сервера должен быть статическим. Для того чтобы сделать IP-адрес статическим, откройте файл /etc/network/interfaces и измените текущую запись для основного сетевого интерфейса так, как показано в примере ниже. Не забудьте заменить адреса в примере на актуальные с учетом настроек сети.

sudo vi /etc/network/interfaces

iface eth0 inet static
address 192.168.112.144
netmask 255.255.255.0
gateway 192.168.112.254
dns-nameservers 192.168.112.254

Перезапустите сетевые интерфейсы.

sudo service networking restart

С осторожностью редактируйте файл etc/network/interfaces. Перед тем как приступить к редактированию, ознакомьтесь c инструкцией по настройке сетей Ubuntu.

Для развертывания FindFace из инсталлятора выполните следующие действия:

  1. Загрузите файл инсталлятора findface-*.run.

  2. Поместите файл .run в любой каталог на сервере установки (например, /home/username).

  3. Из данного каталога сделайте файл .run исполняемым.

    Примечание

    Вместо findface-* укажите актуальное имя файла.

    chmod +x findface-*.run
    
  4. Запустите файл .run.

    sudo ./findface-*.run
    

    Инсталлятор задаст вам несколько вопросов, после чего проверит, соответствует ли сервер системным требованиям. Ответьте на вопросы надлежащим образом, после ответа каждый раз нажимая Enter. Вопросы и ответы следующие:

    1. В: Which product should be installed? (Какой продукт следует установить?)

      О: 1

      Which product should be installed?
      
        1. [security]  FindFace Multi
        2. [server  ]  FindFace Server
        3. [video-worker]  FindFace Video Worker
        4. [nvidia-drivers]  NVIDIA CUDA drivers (installed automatically when you install gpu-variant of the products above)
      
      (default: security)
      product> 1
      
    2. В: Please choose installation type: (Пожалуйста, выберите тип установки:)

      О: Выберите один из следующих вариантов в зависимости от архитектуры и плана развертывания:

      Примечание

      Если вы выбираете тип установки №3 или №4, не забудьте установить необходимые модели нейронных сетей вместе с компонентом findface-extraction-api.

      Please choose installation type:
      
      -  1 [stand-alone ]  Single Server
      -  2 [multi-worker]  Single Server, Multiple video workers
      -  3 [repo        ]  Don't install anything, just set up the APT repository
      -  4 [custom      ]  Fully customized installation
      
      (default: stand-alone)
      type> 1
      
    3. В: Do you want to install Video Recorder?(y/n) (Хотите ли вы установить Видеомагнитофон?)

      О: n (нет)

      Do you want to install Video Recorder?(y/n)
      install_video_recorder> n
      
    4. В: Found X interface(s). Which one should we announce as our external address? (Было найдено X сетевых интерфейсов. Какой интерфейс следует использовать в качестве внешнего IP-адреса?)

      О: Выберите интерфейс, который вы собираетесь использовать в качестве IP-адреса FindFace.

      Found 1 interface(s). Which one should we announce as our external address?
      
      -  1 [lo      ]  127.0.0.1
      -  2 [ens3    ]  192.168.112.254
      
      (default: 192.168.112.254)
      ext_ip.advertised> 2
      
    5. В: Which variant of Video Worker should be installed? (Какой вариант Video Worker следует установить?)

      О: Укажите тип пакета findface-video-worker, CPU или GPU.

      Which variant of Video Worker should be installed?
      
      -  1 [cpu]  CPU-based implementation, slower but doesn't require GPU
      -  2 [gpu]  CUDA-based implementation of video detector, requires NVIDIA GPU
      
      (default: cpu)
      findface-video-worker.variant> 1
      
    6. В: Which variant of Extraction API should be installed? (Какой вариант Extraction API следует установить?)

      О: Укажите тип пакета findface-extraction-api, CPU или GPU.

      Which variant of Extraction API should be installed?
      
      -  1 [cpu]  CPU-only implementation, slower but doesn't require GPU
      -  2 [gpu]  CUDA-based implementation, faster, requires NVIDIA GPU (supports both CPU and GPU models)
      
      (default: cpu)
      findface-extraction-api.variant> 1
      
    7. В: Do you want to configure detectors and features right now?(y/n) (Хотите ли вы настроить детекторы и распознавание атрибутов объектов сейчас?)

      О: y (да)

      Do you want to configure detectors and features right now?(y/n)
      configure> y
      
    8. В: Do you want to configure detectors and features right now?(y/n) (Хотите ли вы настроить детекторы и распознавание атрибутов объектов сейчас?)

      О: y (да)

      Do you want to configure detectors and features right now?(y/n)
      configure> y
      
    9. В: Please select detectors to install: (Пожалуйста, выберите детекторы для установки:)

      О: Детектор лиц выбран по умолчанию. Введите done, чтобы продолжить.

      Please select detectors to install:
      
      -  1 [v]  Face
      -  2 [ ]  Body
      -  3 [ ]  Car
      
      Enter keyword to select matching choices or -keyword to clear selection.
      Enter "done" to save your selection and proceed to another step.
      detectors>
      -  1 [v]  Face
      -  2 [ ]  Body
      -  3 [ ]  Car
      
      detectors> done
      
    10. В: Please select face features to install: (Пожалуйста, выберите атрибуты лиц для установки:)

      О: По умолчанию установке подлежат все атрибуты лиц. Мы рекомендуем оставить все как есть, ответив done. Если определенный атрибут не нужен, вы можете ввести ключевое слово (порядковый номер), связанное с ним. Например, введите «7», чтобы исключить распознавание положения головы. Затем введите done.

      Please select face features to install:
      
      -  1 [v]  Age
      -  2 [v]  Gender
      -  3 [v]  Emotions
      -  4 [v]  Beard
      -  5 [v]  Glasses
      -  6 [v]  Medicine masks
      -  7 [v]  Headpose
      
      Enter keyword to select matching choices or -keyword to clear selection.
      Enter "done" to save your selection and proceed to another step.
      face_features> done
      

    Компоненты FindFace будут автоматически установлены, настроены и запущены в соответствии со следующей конфигурацией:

    Сервис

    Конфигурация

    postgresql-10

    Устанавливается и запускается.

    nats-server

    Устанавливается и запускается.

    etcd

    Устанавливается и запускается.

    pgbouncer

    Устанавливается и запускается.

    memcached

    Устанавливается и запускается.

    nginx

    Устанавливается и запускается.

    django

    Устанавливается и запускается как веб-фреймворк для веб-интерфейса FindFace.

    findface-ntls

    Устанавливается и запускается.

    findface-tarantool-server

    Устанавливается и запускается. Количество экземпляров (шардов) рассчитывается по формуле: N = min(max(min(mem_mb // 2000, cpu_cores), 1), 16 * cpu_cores). Т. е. количество равно размеру оперативной памяти в Мб, разделенному на 2000, или количеству физических ядер процессора (но не менее 1 шарда), или же количеству физических ядер процессора, умноженному на 16, если первое полученное значение больше.

    findface-extraction-api

    Устанавливается и запускается (CPU/GPU-ускорение).

    findface-sf-api

    Устанавливается и запускается.

    findface-upload

    Устанавливается.

    findface-video-manager

    Устанавливается и запускается.

    findface-video-worker-*

    Устанавливается и запускается (CPU/GPU-ускорение).

    findface-data-*

    Модели нейронных сетей для распознавания объектов и их атрибутов. Устанавливаются.

    findface-security

    Устанавливается и запускается.

    findface-security-onvif

    Устанавливается и запускается.

    findface-counter

    Устанавливается и запускается.

    findface-liveness-api

    Устанавливается и запускается.

    jq

    Устанавливается. Используется для структурирования API-ответов от FindFace в формате JSON.

    python3-ntech.*

    Внутренние и вспомогательные сервисы. Устанавливаются и запускаются.

    По завершении установки в консоль будет выведена информация, необходимая для использования FindFace:

    Совет

    Обязательно сохраните эти данные: они вам понадобятся.

    #############################################################################
    #                       Installation is complete                            #
    #############################################################################
    - upload your license to http://192.168.112.254/#/license/
    - user interface: http://192.168.112.254/
      superuser:      admin
      password:       admin
      documentation:  http://192.168.112.254/doc/
    
  5. Укажите свою временную зону в файле конфигурации /etc/findface-security/config.py в формате Регион/Страна/Город или Etc/GMT+H. Временная зона определяет время в отчетах, логах, именах артефактов FindFace, таких как полные кадры, миниатюры событий и т. п.

    Совет

    Лучший способ сделать это — скопировать и вставить часовой пояс из таблицы в Википедии.

    sudo vi /etc/findface-security/config.py
    
    # time zone
    TIME_ZONE = 'America/Argentina/Buenos_Aires'
    
  6. Перезапустите сервис findface-security.

    sudo systemctl restart findface-security.service
    
  7. Загрузите файл лицензии FindFace через основной веб-интерфейс http://<IP_адрес_сервера>/#/license. Для доступа в веб-интерфейс используйте логин и пароль пользователя superuser, выведенные в консоли.

    Важно

    Не передавайте данные superuser (Супер Администратора) третьим лицам. Для администрирования системы создайте назначаемого администратора. Отличие назначаемого администратора от Супер Администратора в том, что последний не может лишиться прав администратора даже при смене роли.

  8. Ответы на вопросы инсталлятора были сохранены в файл /tmp/<findface-installer-*>.json. Вы можете отредактировать его и использовать для установки FindFace на других серверах, не отвечая на вопросы повторно.

    Для этого выполните следующую команду:

    sudo ./<findface-*>.run -f /tmp/<findface-installer-*>.json
    

    Совет

    Пример данного файла можно посмотреть в разделе Файл с параметрами установки.

Важно

Для того чтобы сохранить совместимость FindFace со средой установки, настоятельно рекомендуется отключить автоматическое обновление Ubuntu. В этом случае вы сможете обновлять ОС вручную, контролируя процесс обновления отдельных пакетов.

Для отключения автоматического обновления Ubuntu выполните следующие команды:

sudo apt-get remove unattended-upgrades
sudo systemctl stop apt-daily.timer
sudo systemctl disable apt-daily.timer
sudo systemctl disable apt-daily.service
sudo systemctl daemon-reload

Важно

Сервисы FindFace логируют большой объем данных, что в конечном итоге может привести к чрезмерной загрузке диска. Чтобы этого не произошло, рекомендуется отключить сервис rsyslog из-за его неоптимальной схемы ротации логов и вместо него использовать правильно настроенный сервис systemd-journal. См. пошаговые инструкции в разделе Логи сервисов.