Я пытаюсь воспроизвести учебник по WinML, описанный в https://docs.microsoft.com/en-us/windows/ai/windows-ml/get-started-desktop, и мне нужна помощь в устранении ошибки «Место чтения нарушения доступа» при загрузке модели.
Установлена Visual studio 2017, Windows 10, соберите версию 17763 и следуйте инструкциям в руководстве.Задаваясь вопросом, может ли это быть связано с проблемой контроля доступа, я попытался поместить файл ONNX в нескольких местах, даже внутри папки решения, попробовал вариант Debug x64 и x86, изменил разрешение файла, но все равно не работает.
void LoadModel()
{
// load the model
printf("Loading modelfile '%ws' on the '%s' device\n", modelPath.c_str(), deviceName.c_str());
DWORD ticks = GetTickCount();
model = LearningModel::LoadFromFilePath(modelPath); //FAILS here.
ticks = GetTickCount() - ticks;
printf("model file loaded in %d ticks\n", ticks);
}
Я ожидал LearningModel :: LoadFromFilePath (modelPath);для успешного выполнения и возврата правильного дескриптора.
После дальнейшей отладки WINRT_RoGetActivationFactory в приведенном ниже коде возвращает REGDB_E_CLASSNOTREG Класс не зарегистрирован
namespace winrt
{
template <typename Interface = Windows::Foundation::IActivationFactory>
impl::com_ref<Interface> get_activation_factory(param::hstring const& name)
{
void* result{};
hresult hr = WINRT_RoGetActivationFactory(get_abi(name), guid_of<Interface>(), &result);