ml --- Machine Learning¶
Module ml chứa các chức năng để tải và chạy các mô hình TensorFlow Lite trên OpenMV Cam. Module này cung cấp một lớp duy nhất cho người dùng là ml.Model, bao bọc lớp C Model bên dưới với các tiện ích bổ sung ở phía Python (tự động tải nhãn và tự động chuyển đổi ảnh thành tensor).
Các Module Con¶
class Model -- Vùng chứa Mô hình¶
- class ml.Model(path: str, *, postprocess: object = None) Model¶
Tải một mô hình TensorFlow Lite từ
pathvào bộ nhớ và chuẩn bị cho quá trình suy luận.pathcó thể là một tệp trên hệ thống tệp hoặc tên của một mô hình được tích hợp sẵn trong firmware.postprocess là một callable xử lý hậu kỳ tùy chọn được gọi bởi
Model.predictsau khi suy luận. Nó nhận(model, inputs, outputs)và có thể trả về bất kỳ giá trị nào (ví dụ: danh sách các hộp giới hạn). Khi được cung cấp, bộ xử lý hậu kỳ nhận các tensor đầu ra thô của mô hình (chưa được dequantize) để tối ưu hiệu suất.Khi khởi tạo, wrapper còn thử tải một tệp
.txtcó cùng tên cơ sở vớipath; nếu tìm thấy, mỗi dòng sẽ được tải vàoModel.labels. Nếu không,Model.labelssẽ làNone.- predict(inputs: list, *, callback: object = None) list¶
Chạy suy luận trên mô hình và trả về các tensor đầu ra.
inputs là một danh sách với một mục cho mỗi tensor đầu vào của mô hình. Mỗi mục có thể là:
Một
ndarraycó shape khớp với mục tương ứng trongModel.input_shape. Các giá trị được lượng tử hóa bằng cách sử dụng scale và zero point của tensor đầu vào (các đầu vào float32 được truyền qua không thay đổi).Một đối tượng
image.Image. Wrapper tự động bao bọc nó trong một đối tượngml.preprocessing.Normalizationđể chuyển đổi nó sang tensor mong đợi.Một callable. Nó sẽ được gọi với
(bytearray, shape, dtype)và được kỳ vọng sẽ điền vào bytearray với dữ liệu tensor đầu vào.
callback là một callable xử lý hậu kỳ tùy chọn cho mỗi lần gọi. Khi được cung cấp, nó sẽ ghi đè
postprocessđược đặt trong constructor chỉ cho lần gọi này. Callback nhận(model, inputs, outputs)và giá trị trả về của nó được trả về bởipredict.Trả về một danh sách các đầu ra
ndarray, một mục cho mỗi tensor đầu ra của mô hình. Nếu không có bộ xử lý hậu kỳ nào đang hoạt động, các đầu ra sẽ được dequantize sangfloat32; nếu có bộ xử lý hậu kỳ đang hoạt động, các tensor đầu ra thô (sử dụng dtype gốc của mỗi tensor) sẽ được truyền vào thay thế.
- input_dtype: list[str]¶
Danh sách các chuỗi ký tự đơn cho biết dtype của mỗi tensor đầu vào:
'b'(int8),'B'(uint8),'h'(int16),'H'(uint16),'f'(float32).
- input_zero_point: list[int]¶
Danh sách các số nguyên cho biết quantization zero point của mỗi tensor đầu vào.
- output_dtype: list[str]¶
Danh sách các chuỗi ký tự đơn cho biết dtype của mỗi tensor đầu ra:
'b'(int8),'B'(uint8),'h'(int16),'H'(uint16),'f'(float32).