ml — Makine Öğrenmesi

ml modülü, OpenMV Cam üzerinde TensorFlow Lite modellerini yükleme ve çalıştırma işlevselliğini içerir. Modül, temel C Model sınıfını ek Python tarafı kolaylıklarla (otomatik etiket yükleme ve otomatik görüntü-tensör dönüşümü) saran tek bir kullanıcıya yönelik sınıf, ml.Model, sunar.

Alt Modüller

class Model – Model Konteyneri

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

Bir TensorFlow Lite modelini path konumundan belleğe yükler ve çıkarım için hazırlar. path dosya sistemindeki bir dosya olabileceği gibi aygıt yazılımı (firmware) görüntüsüne gömülü bir modelin adı da olabilir.

postprocess, çıkarımdan sonra Model.predict tarafından çağrılan isteğe bağlı bir son işleme çağrılabiliridir. (model, inputs, outputs) alır ve herhangi bir değer (örneğin bir sınırlayıcı kutu listesi) döndürebilir. Sağlandığında, son işleyici performans için ham model çıktı tensörlerini (dequantize edilmemiş) alır.

Oluşturma sırasında sarmalayıcı ayrıca path ile aynı temel ada sahip bir .txt dosyası yüklemeye çalışır; bulunursa her satır Model.labels içine yüklenir. Aksi takdirde Model.labels None olur.

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

Model üzerinde çıkarım çalıştırır ve çıktı tensörlerini döndürür.

inputs, her model girdi tensörü için bir girişe sahip bir listedir. Her giriş şunlardan biri olabilir:

  • Şekli Model.input_shape içindeki ilgili girişle eşleşen bir ndarray. Değerler, girdi tensörünün ölçeği ve sıfır noktası kullanılarak nicelendirilir (float32 girdiler değiştirilmeden geçirilir).

  • Bir image.Image nesnesi. Sarmalayıcı, beklenen tensöre dönüştürmek için onu otomatik olarak bir ml.preprocessing.Normalization nesnesi içine sarar.

  • Bir çağrılabilir. (bytearray, shape, dtype) ile çağrılır ve bytearray’i girdi tensörü verisiyle doldurması beklenir.

callback, isteğe bağlı bir çağrı başına son işleme çağrılabiliridir. Sağlandığında, yalnızca bu çağrı için yapıcıda ayarlanan postprocess değerini geçersiz kılar. Geri çağırma (callback) (model, inputs, outputs) alır ve döndürdüğü değer predict tarafından döndürülür.

Her model çıktı tensörü için bir tane olmak üzere bir ndarray çıktı listesi döndürür. Etkin bir son işleyici yoksa çıktılar float32 türüne dequantize edilir; etkin bir son işleyici varsa bunun yerine ham çıktı tensörleri (her tensörün yerel dtype’ı kullanılarak) ona aktarılır.

len: int

Yüklenen modelin bayt cinsinden boyutu.

ram: int

Modelin tensör arenası tarafından kullanılan RAM miktarı, bayt cinsinden.

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

Her girdi tensörünün şeklini veren demetlerin listesi.

input_dtype: list[str]

Her girdi tensörünün dtype’ını veren tek karakterli dizgelerin listesi: 'b' (int8), 'B' (uint8), 'h' (int16), 'H' (uint16), 'f' (float32).

input_scale: list[float]

Her girdi tensörünün nicelendirme ölçeğini veren ondalıkların listesi.

input_zero_point: list[int]

Her girdi tensörünün nicelendirme sıfır noktasını veren tam sayıların listesi.

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

Her çıktı tensörünün şeklini veren demetlerin listesi.

output_dtype: list[str]

Her çıktı tensörünün dtype’ını veren tek karakterli dizgelerin listesi: 'b' (int8), 'B' (uint8), 'h' (int16), 'H' (uint16), 'f' (float32).

output_scale: list[float]

Her çıktı tensörünün nicelendirme ölçeğini veren ondalıkların listesi.

output_zero_point: list[int]

Her çıktı tensörünün nicelendirme sıfır noktasını veren tam sayıların listesi.

postprocess: object

Yapıcıya sağlanan son işleme çağrılabiliri veya None.

labels: list[str]

Modelin yanındaki .txt dosyasından yüklenen etiket dizgelerinin listesi veya böyle bir dosya yoksa None.