OrtSession.fromBuffer constructor

OrtSession.fromBuffer(
  1. Uint8List modelBuffer,
  2. OrtSessionOptions options
)

Creates a session from buffer.

Implementation

OrtSession.fromBuffer(Uint8List modelBuffer, OrtSessionOptions options) {
  final pp = calloc<ffi.Pointer<bg.OrtSession>>();
  final size = modelBuffer.length;
  final bufferPtr = calloc<ffi.Uint8>(size);
  bufferPtr.asTypedList(size).setRange(0, size, modelBuffer);
  final statusPtr = OrtEnv.instance.ortApiPtr.ref.CreateSessionFromArray
          .asFunction<
              bg.OrtStatusPtr Function(
                  ffi.Pointer<bg.OrtEnv>,
                  ffi.Pointer<ffi.Void>,
                  int,
                  ffi.Pointer<bg.OrtSessionOptions>,
                  ffi.Pointer<ffi.Pointer<bg.OrtSession>>)>()(
      OrtEnv.instance.ptr, bufferPtr.cast(), size, options._ptr, pp);
  OrtStatus.checkOrtStatus(statusPtr);
  _ptr = pp.value;
  calloc.free(pp);
  calloc.free(bufferPtr);
  _init();
}