Onnx невозможно прочитать с помощью Microsoft.ML в Windows 10 (19045.5854).C#

Место общения программистов C#
Ответить
Anonymous
 Onnx невозможно прочитать с помощью Microsoft.ML в Windows 10 (19045.5854).

Сообщение Anonymous »

Все, что я здесь описываю, отлично работает на моем компьютере с Windows 11 (версия 10.0.26200, сборка 26200).
Однако на компьютере с Windows 10 (22H2 19045.5854) это не работает.
Минимальный воспроизводимый пример:
1/ создайте Файл ONNX с Python и pytorch (выберите любую opset_version, которую вы хотите, в конце дня ни одна не работает - обратите внимание, что я выбираю 7 для MRE, потому что это наименьшее значение, которое я могу использовать для создания файла .onnx на своем ноутбуке, и я выбрал самую старую версию, надеясь на лучшую обратную совместимость со старыми ОС, такими как Windows 10):
class MyModel(nn.Module):
def __init__(self):
super(MyModel, self).__init__()

def forward(self, *inputs):
concatenated = torch.cat(inputs, dim=-1)
return concatenated

model: MyModel = MyModel()
torch.onnx.export(
model,
(torch.ones(1, 342), torch.ones(1, 342)),
"model.onnx",
export_params=True,
opset_version=7
)

2/ Попробуйте открыть его с помощью C# (.NET 9 опубликован с параметром PublishSingleFile, установленным на True, SelfContained, установленным на True, RuntimeIdentifier, установленным на win-x64, и PublishTrimmed, установленным на False)
using Microsoft.ML;
using Microsoft.ML.Transforms.Onnx;

string modelPath = "./model.onnx";
MLContext mlContext = new MLContext();
mlContext.Transforms.ApplyOnnxModel(modelPath);
Console.WriteLine("HelloWorld!");
Console.ReadLine();

Я получаю эту ошибку:
Unhandled exception. System.TypeInitializationException: The type initializer for 'Microsoft.ML.OnnxRuntime.NativeMethods' threw an exception.

Это единственные два пакета Nuget, необходимые для воспроизведения ошибки и выполнения приведенного выше кода:




Подробнее здесь: https://stackoverflow.com/questions/798 ... 19045-5854
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»