runInference method

void runInference(
  1. List<Object> inputs
)

Just run inference

Implementation

void runInference(List<Object> inputs) {
  if (inputs.isEmpty) {
    throw ArgumentError('Input error: Inputs should not be null or empty.');
  }

  var inputTensors = getInputTensors();

  for (int i = 0; i < inputs.length; i++) {
    var tensor = inputTensors.elementAt(i);
    final newShape = tensor.getInputShapeIfDifferent(inputs[i]);
    if (newShape != null) {
      resizeInputTensor(i, newShape);
    }
  }

  if (!_allocated) {
    allocateTensors();
    _allocated = true;
  }

  inputTensors = getInputTensors();
  for (int i = 0; i < inputs.length; i++) {
    inputTensors.elementAt(i).setTo(inputs[i]);
  }

  var inferenceStartNanos = DateTime.now().microsecondsSinceEpoch;
  invoke();
  _lastNativeInferenceDurationMicroSeconds =
      DateTime.now().microsecondsSinceEpoch - inferenceStartNanos;
}