Udostępnij przez


Uruchamianie modeli ONNX przy użyciu środowiska uruchomieniowego ONNX uwzględnionego w usłudze Windows ML

Środowisko uruchomieniowe ONNX dostarczane z systemem Windows ML umożliwia aplikacjom lokalne uruchamianie wnioskowania na modelach ONNX.

Tworzenie sesji wnioskowania

Interfejsy API są takie same jak w przypadku bezpośredniego używania środowiska uruchomieniowego ONNX. Aby na przykład utworzyć sesję wnioskowania:

// Create inference session using compiled model
using InferenceSession session = new(compiledModelPath, sessionOptions);

Zalecamy przeczytanie dokumentacji środowiska uruchomieniowego ONNX , aby uzyskać więcej informacji na temat używania interfejsów API środowiska uruchomieniowego ONNX w usłudze Windows ML. Kod wnioskowania modelu będzie inny dla każdego modelu.

Kompilowanie modeli

Przed użyciem modelu ONNX w sesji wnioskowania często należy ją skompilować w zoptymalizowaną reprezentację, która może być wydajnie wykonywana na podstawowym sprzęcie urządzenia.

Od wersji ONNX Runtime 1.22 istnieją nowe interfejsy API, które lepiej hermetyzują kroki kompilacji. Więcej szczegółów można znaleźć w dokumentacji kompilowania środowiska uruchomieniowego ONNX (zobacz OrtCompileApi struct).

// Prepare compilation options
OrtModelCompilationOptions compileOptions = new(sessionOptions);
compileOptions.SetInputModelPath(modelPath);
compileOptions.SetOutputModelPath(compiledModelPath);

// Compile the model
compileOptions.CompileModel();

Note

Kompilacja może potrwać kilka minut. Aby każdy interfejs użytkownika pozostał dynamiczny, rozważ wykonanie tej czynności jako operacji w tle w aplikacji.

Wskazówka

Aby uzyskać optymalną wydajność, skompiluj modele raz i użyj ponownie skompilowanej wersji. Przechowuj skompilowane modele w lokalnym folderze danych aplikacji na potrzeby kolejnych przebiegów. Należy pamiętać, że aktualizacje adresów e-mail lub środowiska uruchomieniowego mogą wymagać ponownego skompilowania.

Zobacz także