getAvailableProviders method

  1. @override
Future<List<String>> getAvailableProviders()

Get the available providers

Implementation

@override
Future<List<String>> getAvailableProviders() async {
  // Return the list of execution providers supported by onnxruntime-web
  final providers = <String>[];
  // Check for WebAssembly support
  if (globalThis.has('WebAssembly')) {
    providers.add('WEB_ASSEMBLY');
  }
  // Check for WebGL support
  final canvas = HTMLCanvasElement();
  final webgl = canvas.getContext('webgl') ?? canvas.getContext('experimental-webgl');
  if (webgl != null) {
    providers.add('WEB_GL');
  }
  // Check for WebGPU support
  if ((_window.navigator as JSObject).has('gpu')) {
    providers.add('WEB_GPU');
  }
  // Check for WebNN support
  if ((_window.navigator as JSObject).has('ml')) {
    providers.add('WEB_NN');
  }
  return providers;
}