runForMultipleInputs method
Implementation
void runForMultipleInputs(List<Object> inputs, Map<int, Object> outputs) {
checkArgument(inputs.isNotEmpty, message: 'Input error: Inputs should not be null or empty.');
checkArgument(outputs.isNotEmpty, message: 'Input error: Outputs should not be null or empty.');
List<Tensor> inputTensors = this.inputTensors;
for (int i = 0; i < inputs.length; i++) {
final Tensor tensor = inputTensors[i];
final List<int>? newShape = tensor.getInputShapeIfDifferent(inputs[i]);
if (newShape != null) {
resizeInputTensor(i, newShape);
}
}
if (!_allocated) {
_allocateTensors();
}
inputTensors = this.inputTensors;
for (int i = 0; i < inputs.length; i++) {
inputTensors[i].copyFrom(inputs[i]);
}
// final int inferenceStartNanos = DateTime.now().microsecondsSinceEpoch;
invoke();
// final int lastNativeInferenceDurationMicroSeconds = DateTime.now().microsecondsSinceEpoch - inferenceStartNanos;
final List<Tensor> outputTensors = this.outputTensors;
for (int i = 0; i < outputTensors.length; i++) {
outputTensors[i].copyTo(outputs[i]!);
}
}