runFloat method

List<Float32List> runFloat(
  1. Map<String, OrtValueWrapper> inputs,
  2. List<int> outputElementCounts
)

Implementation

List<Float32List> runFloat(
  Map<String, OrtValueWrapper> inputs,
  List<int> outputElementCounts,
) {
  _ensureNotDisposed();

  if (outputElementCounts.length != _outputNames.length) {
    throw ArgumentError(
      'outputElementCounts length (${outputElementCounts.length}) '
      'must match output count (${_outputNames.length}).',
    );
  }

  final outputs = run(inputs);
  final results = <Float32List>[];

  try {
    for (var i = 0; i < outputs.length; i++) {
      results.add(outputs[i].toFloatList(outputElementCounts[i]));
    }
  } finally {
    for (final output in outputs) {
      output.release();
    }
  }

  return results;
}