run method

Pointer<OrtStatus> run({
  1. required Pointer<OrtSession> session,
  2. required Pointer<OrtRunOptions> runOptions,
  3. required Pointer<Pointer<Char>> inputNames,
  4. required Pointer<Pointer<OrtValue>> inputValues,
  5. required int inputCount,
  6. required Pointer<Pointer<Char>> outputNames,
  7. required int outputCount,
  8. required Pointer<Pointer<OrtValue>> outputValues,
})

Implementation

Pointer<OrtStatus> run({
  required Pointer<OrtSession> session,
  required Pointer<OrtRunOptions> runOptions,
  required Pointer<Pointer<Char>> inputNames,
  required Pointer<Pointer<OrtValue>> inputValues,
  required int inputCount,
  required Pointer<Pointer<Char>> outputNames,
  required int outputCount,
  required Pointer<Pointer<OrtValue>> outputValues,
}) {
  final runFn =
      Run.asFunction<
        Pointer<OrtStatus> Function(
          Pointer<OrtSession>,
          Pointer<OrtRunOptions>,
          Pointer<Pointer<Char>>,
          Pointer<Pointer<OrtValue>>,
          int,
          Pointer<Pointer<Char>>,
          int,
          Pointer<Pointer<OrtValue>>,
        )
      >();
  final status = runFn(
    session,
    runOptions,
    inputNames,
    inputValues,
    inputCount,
    outputNames,
    outputCount,
    outputValues,
  );
  if (status.isError) {
    final error =
        'Run failed. Code: ${getErrorCodeMessage(status)}\n'
        'Message: ${consumeErrorMessage(status)}';
    // rationale: Crucial for debugging, for some reason this
    // isn't bubbling to UI.
    // TODO: figure out why
    // ignore: avoid_print
    print('ONNX run result is an error. Error: $error');
    throw Exception(error);
  }
  return status;
}