getAvailableProviders method
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;
}