mirror of
https://github.com/ente-io/ente.git
synced 2025-05-02 12:08:03 +00:00
29 lines
622 B
Dart
29 lines
622 B
Dart
import "package:onnxruntime/onnxruntime.dart";
|
|
|
|
class ONNXEnvFFI {
|
|
final Set<String> _loadedModels = {};
|
|
|
|
// Singleton pattern
|
|
ONNXEnvFFI._privateConstructor();
|
|
static final instance = ONNXEnvFFI._privateConstructor();
|
|
factory ONNXEnvFFI() => instance;
|
|
|
|
void initONNX(String modelName) {
|
|
if (_loadedModels.isEmpty) {
|
|
OrtEnv.instance.init();
|
|
}
|
|
_loadedModels.add(modelName);
|
|
}
|
|
|
|
void releaseONNX(String modelName) {
|
|
_loadedModels.remove(modelName);
|
|
if (_loadedModels.isEmpty) {
|
|
OrtEnv.instance.release();
|
|
}
|
|
}
|
|
|
|
bool isInit() {
|
|
return _loadedModels.isNotEmpty;
|
|
}
|
|
}
|