run method

Implementation

List<OrtValueWrapper> run(Map<String, OrtValueWrapper> inputs) {
  _ensureNotDisposed();

  final orderedInputNames = <String>[];
  final orderedInputPtrs = <Pointer<OrtValue>>[];

  for (final name in _inputNames) {
    if (!inputs.containsKey(name)) {
      throw ArgumentError(
        'Missing input: "$name". '
        'Expected inputs: ${_inputNames.join(", ")}',
      );
    }
    orderedInputNames.add(name);
    orderedInputPtrs.add(inputs[name]!.pointer);
  }

  final outputPtrs = _runtime.run(
    _session,
    inputNames: orderedInputNames,
    inputValues: orderedInputPtrs,
    outputNames: _outputNames,
  );

  return outputPtrs
      .map((ptr) => OrtValueWrapper.fromPointer(_runtime, ptr))
      .toList();
}