ml --- Machine Learning

Modul ml berisi fungsionalitas untuk memuat dan menjalankan model TensorFlow Lite pada OpenMV Cam. Modul ini mengekspos satu kelas yang menghadap pengguna, ml.Model, yang membungkus kelas C Model yang mendasarinya dengan kemudahan tambahan di sisi Python (pemuatan label otomatis dan konversi citra-ke-tensor otomatis).

Sub Modul

class Model -- Kontainer Model

class ml.Model(path: str, *, postprocess: object = None) Model

Memuat model TensorFlow Lite dari path ke dalam memori dan mempersiapkannya untuk inferensi. path dapat berupa berkas pada sistem berkas atau nama model yang sudah tertanam dalam citra firmware.

postprocess adalah callable pasca-pemrosesan opsional yang dipanggil oleh Model.predict setelah inferensi. Ini menerima (model, inputs, outputs) dan dapat mengembalikan nilai apa pun (misalnya daftar kotak pembatas). Jika disediakan, pasca-prosesor menerima tensor output model mentah (tidak di-dequantize) untuk performa.

Saat konstruksi, wrapper juga mencoba memuat berkas .txt dengan nama dasar yang sama dengan path; jika ditemukan, setiap baris dimuat ke dalam Model.labels. Jika tidak, Model.labels bernilai None.

predict(inputs: list, *, callback: object = None) list

Menjalankan inferensi pada model dan mengembalikan tensor output.

inputs adalah daftar dengan satu entri per tensor input model. Setiap entri dapat berupa:

  • Sebuah ndarray yang bentuknya sesuai dengan entri yang sesuai di Model.input_shape. Nilai dikuantisasi menggunakan skala dan zero point tensor input (input float32 diteruskan tanpa perubahan).

  • Sebuah objek image.Image. Wrapper secara otomatis membungkusnya dalam objek ml.preprocessing.Normalization untuk mengonversinya ke tensor yang diharapkan.

  • Sebuah callable. Ini akan dipanggil dengan (bytearray, shape, dtype) dan diharapkan mengisi bytearray dengan data tensor input.

callback adalah callable pasca-pemrosesan opsional per-panggilan. Jika disediakan, ini menggantikan postprocess yang ditetapkan pada konstruktor hanya untuk panggilan ini. Callback menerima (model, inputs, outputs) dan nilai kembaliannya dikembalikan oleh predict.

Mengembalikan daftar output ndarray, satu per tensor output model. Jika tidak ada pasca-prosesor yang aktif, output di-dequantize ke float32; jika pasca-prosesor aktif, tensor output mentah (menggunakan dtype asli setiap tensor) diteruskan ke sana.

len: int

Ukuran model yang dimuat dalam byte.

ram: int

Jumlah RAM yang digunakan oleh arena tensor model, dalam byte.

input_shape: list[tuple[int, ...]]

Daftar tuple yang memberikan bentuk setiap tensor input.

input_dtype: list[str]

Daftar string satu karakter yang memberikan dtype setiap tensor input: 'b' (int8), 'B' (uint8), 'h' (int16), 'H' (uint16), 'f' (float32).

input_scale: list[float]

Daftar float yang memberikan skala kuantisasi setiap tensor input.

input_zero_point: list[int]

Daftar int yang memberikan zero point kuantisasi setiap tensor input.

output_shape: list[tuple[int, ...]]

Daftar tuple yang memberikan bentuk setiap tensor output.

output_dtype: list[str]

Daftar string satu karakter yang memberikan dtype setiap tensor output: 'b' (int8), 'B' (uint8), 'h' (int16), 'H' (uint16), 'f' (float32).

output_scale: list[float]

Daftar float yang memberikan skala kuantisasi setiap tensor output.

output_zero_point: list[int]

Daftar int yang memberikan zero point kuantisasi setiap tensor output.

postprocess: object

Callable pasca-pemrosesan yang diberikan ke konstruktor, atau None.

labels: list[str]

Daftar string label yang dimuat dari berkas .txt di samping model, atau None jika berkas tersebut tidak ada.