ml — 머신 러닝¶
ml 모듈은 OpenMV Cam에서 TensorFlow Lite 모델을 로드하고 실행하는 기능을 제공합니다. 이 모듈은 사용자 대상 클래스인 ml.Model 하나를 노출하며, 이 클래스는 기본 C Model 클래스를 래핑하면서 Python 측에서 추가적인 편의 기능(자동 레이블 로딩 및 자동 이미지-텐서 변환)을 제공합니다.
하위 모듈¶
class Model – 모델 컨테이너¶
- class ml.Model(path: str, *, postprocess: object = None) Model¶
path에 있는 TensorFlow Lite 모델을 메모리로 로드하고 추론을 위해 준비합니다.path는 파일 시스템에 있는 파일이거나 펌웨어 이미지에 내장된 모델의 이름일 수 있습니다.postprocess 는 추론 후
Model.predict가 호출하는 선택적 후처리 콜러블입니다. 이 콜러블은(model, inputs, outputs)를 받으며 임의의 값(예: 경계 상자 목록)을 반환할 수 있습니다. 지정된 경우, 성능을 위해 후처리기는 원시 모델 출력 텐서(역양자화되지 않은 상태)를 받습니다.생성 시, 래퍼는 추가로
path와 동일한 기본 이름을 가진.txt파일을 로드하려고 시도합니다. 파일이 발견되면 각 줄이Model.labels로 로드됩니다. 그렇지 않으면Model.labels는None입니다.- predict(inputs: list, *, callback: object = None) list¶
모델에 대해 추론을 실행하고 출력 텐서를 반환합니다.
inputs 는 모델 입력 텐서당 하나의 항목을 갖는 목록입니다. 각 항목은 다음 중 하나일 수 있습니다:
Model.input_shape의 해당 항목과 형태가 일치하는ndarray. 값은 입력 텐서의 스케일과 영점을 사용하여 양자화됩니다(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).