validate method
Runs the model on input and returns a validation result.
Returns MlValidationResult.unavailable if the model isn't loaded.
Implementation
Future<MlValidationResult> validate(String input) async {
if (!_isReady || _interpreter == null) {
return MlValidationResult.unavailable();
}
final inputTensor = preprocess(input);
// Allocate output buffer matching the model's output shape
final outputShapes = _interpreter!.getOutputTensors()
.map((t) => t.shape)
.toList();
final outputs = <int, Object>{};
for (int i = 0; i < outputShapes.length; i++) {
outputs[i] = _allocateOutput(outputShapes[i]);
}
_interpreter!.runForMultipleInputs([inputTensor], outputs);
return postprocess(
outputs.values.toList(),
input,
);
}