ml — Машинное обучение¶
Модуль ml содержит функциональность для загрузки и запуска моделей TensorFlow Lite на OpenMV Cam. Модуль предоставляет единственный пользовательский класс ml.Model, который оборачивает базовый класс C Model дополнительными удобствами на стороне Python (автоматическая загрузка меток и автоматическое преобразование изображения в тензор).
Подмодули¶
class Model – Контейнер модели¶
- class ml.Model(path: str, *, postprocess: object = None) Model¶
Загружает модель TensorFlow Lite из
pathв память и подготавливает её для вывода.pathможет быть файлом в файловой системе или именем модели, встроенной в образ прошивки.postprocess — это необязательный вызываемый объект постобработки, вызываемый
Model.predictпосле вывода. Он получает(model, inputs, outputs)и может возвращать любое значение (например, список ограничивающих рамок). Если он задан, постпроцессор получает необработанные выходные тензоры модели (без деквантизации) для повышения производительности.При построении обёртка дополнительно пытается загрузить файл
.txtс тем же базовым именем, что иpath; если он найден, каждая строка загружается вModel.labels. В противном случаеModel.labelsравноNone.- predict(inputs: list, *, callback: object = None) list¶
Выполняет вывод на модели и возвращает выходные тензоры.
inputs — это список с одной записью на каждый входной тензор модели. Каждая запись может быть:
Объект
ndarray, форма которого соответствует соответствующей записи вModel.input_shape. Значения квантуются с использованием масштаба и нулевой точки входного тензора (входы float32 передаются без изменений).Объект
image.Image. Обёртка автоматически оборачивает его в объектml.preprocessing.Normalization, чтобы преобразовать его в ожидаемый тензор.Вызываемый объект. Он будет вызван с
(bytearray, shape, dtype)и должен заполнить bytearray данными входного тензора.
callback — это необязательный вызываемый объект постобработки для конкретного вызова. Если он задан, он переопределяет
postprocess, установленный в конструкторе, только для этого вызова. Функция обратного вызова получает(model, inputs, outputs), и её возвращаемое значение возвращается методомpredict.Возвращает список выходов
ndarray, по одному на каждый выходной тензор модели. Если ни один постпроцессор не активен, выходы деквантизуются вfloat32; если постпроцессор активен, ему вместо этого передаются необработанные выходные тензоры (с использованием родного типа dtype каждого тензора).
- input_dtype: list[str]¶
Список односимвольных строк, задающих тип dtype каждого входного тензора:
'b'(int8),'B'(uint8),'h'(int16),'H'(uint16),'f'(float32).
- input_scale: list[float]¶
Список значений с плавающей точкой, задающих масштаб квантизации каждого входного тензора.
- input_zero_point: list[int]¶
Список целых чисел, задающих нулевую точку квантизации каждого входного тензора.
- output_dtype: list[str]¶
Список односимвольных строк, задающих тип dtype каждого выходного тензора:
'b'(int8),'B'(uint8),'h'(int16),'H'(uint16),'f'(float32).
- output_scale: list[float]¶
Список значений с плавающей точкой, задающих масштаб квантизации каждого выходного тензора.