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]¶
Список чисел з рухомою комою, що вказують масштаб квантизації кожного вихідного тензора.