OnnxTensor.fromList constructor

OnnxTensor.fromList(
  1. List<double> values,
  2. List<int> shape
)

Creates a tensor from a list of floats.

Implementation

factory OnnxTensor.fromList(List<double> values, List<int> shape) {
  final expectedCount = shape.fold<int>(1, (a, b) => a * b);
  if (values.length != expectedCount) {
    throw ArgumentError(
      'Value count ${values.length} does not match shape $shape '
      '(expected $expectedCount)',
    );
  }

  final data = calloc<Float>(values.length);
  for (var i = 0; i < values.length; i++) {
    data[i] = values[i];
  }

  return OnnxTensor._(
    data: data,
    shape: shape,
    elementCount: values.length,
  );
}