🐙Зоопарк ML Моделей

Команда Lacmus Foundation предоставляет различные типы ML моделей. Каждый тип ML модели позволяет выполнять обработку фотографий на различном оборудовании. Пользователь волен сам выбирать тип в зависимости от своего оборудования, орперационной системы и потребностей.

Скорость обработки изображений зависит от 2 факторов:

  • Архитектура ML модели - это ее внутреннее устройство, топология, комбинация слоев (например YOLO, RetinaNet, CenterNet). Команда Lacmus Foundation находится в постоянном поиске лучшей архитектуры, позволяющей распозновать объекты с высокой точностью и инимальными вычислительными затратами.

  • Тип выполнения модели - то с помошью какого оборудования будут производится вычисления.

Типы выполнения

Ниже приведена таблица с описанием типов выполнения ML моделей

Тип

Скорость (от 1 до 5)

ОС

Описание

CPU

1

Linux, Windows, OSX

Вычисления на CPU с использованием OneDNN

AnyGPU (DirectML)

3

Windows

Вычисления на GPU nVidia или AMD с использованием DirectML

AmdGPU (ROCm)

4

Linux

Вычисления на GPU AMD с использованием ROCm

CudaGPU

5

Linux, Windows

Вычисления на GPU nVidia или AMD с использованием CUDA + CuDNN

GoogleTPU

5

Linux, Windows

Вычисления на Google Coral Edge TPU

OpenVinoNPU

3

Linux, Windows

Вычисления на Intel Movidius 2

Версии ML моделей

Чтобы облегчить ориентацию в зоопарке моделей мы ввели следующую систему версионирования:

Модель имеет версию вида X.Y.Z где:

  • X - версия (API) протокола обмена данными между приложением и ML моделью. На данный момент актуальная версия API = 2 (о различиях версий API 1 и 2 рассказано тут)

  • Y - версия ревизии (весов)

  • Z - версия патча

Так, сограсно этой системе:

  • Модели версий 1.5.0 и 2.5.0 идентичны по характеристикам и отличаются способом передачи информации;

  • Модели версий 2.5.9 и 2.6.0 модели с разными ревизиями (например модель 2.6.0 была доучена на большем колличестве данных);

  • Модели версий 2.5.11 и 2.5.12 имеют внутренние изменения (например в модели 2.5.12 была улучшена предобработка данных).

Зависимости ML моделей

Очевидно что каждый тип выполнения ML модели может требовать необходимость установки дополнительных драйверов и библиотек (зависимостей).

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

Ниже приведены версии драйверов и библиотек для актуальной модели Lacmus YOLO v5 2.2.0

Вам также может быть полезна инструкция по установке зависимостей:

🤿Установка зависимостей ML моделей

Для CPU моделей

OS

Зависимости

Windows

Microsoft Visual C++ Redistributable 2019

Linux

-

OSX

-

Для CUDA моделей

OS

Зависимости

Windows

Microsoft Visual C++ Redistributable 2019

CUDA Driver == 11.6

CuDNN == 8.5.0.96

Linux

CUDA Driver == 11.6

CuDNN == 8.2.4

Для DirectML моделей

OS

Зависимости

Windows

Microsoft Visual C++ Redistributable 2019

DirectX 12.1

Для ROCm моделей

OS

Зависимости

Linux

AMD Pro Driver

Last updated