Open SergeyADoroshenko opened 4 years ago
Can you please provide some information on what the error was and when it occurred? Example code to reproduce would also be good.
@skottmckay: System.IO.FileNotFoundException: 'The specified module could not be found. (Exception from HRESULT: 0x8007007E)'
The sample is attached above.
If it is something to do with Microsoft.AI.MachineLearning, based on the nuget package, there should be a couple of dlls either in the same directory as the binary for your app or in the system path. microsoft.ai.machinelearning.dll onnxruntime.dll
If those haven't been copied to the output directory correctly when building that may cause this error.
If they are present you may need to use something like https://docs.microsoft.com/en-us/sysinternals/downloads/procmon to determine the exact file it's not finding.
@skottmckay: is there a tool that can be run on ARM64 to determine missing DLL? I can guess it's DirectML.dll. x64 and x86 packages of Microsoft.AI.MachineLearning contain that while arm64 and arm don't.
Possibly this has a procmon that works on ARM: https://mspoweruser.com/mark-russinovichs-systinternals-now-available-for-arm
Do you need the DirectX acceleration? If not you could use the Microsoft.ML.OnnxRuntime package.
@skottmckay: Thanks, procmon for ARM64 worked for me. procman shows that on calling LearningModel.LoadFromStorageFileAsync
VCRUNTIME140.DLL and MSVCP140.DLL are not found (NAME NOT FOUND).
If x86 build is run on ARM64, procman shows that VCRUNTIME140.DLL and MSVCP140.DLL are found.
Does Microsoft.AI.MachineLearning work for anybody in UWP app on Windows 10 ARM64? Is there a sample that works?
Not sure if anyone has tried building a UWP app on ARM64. I believe the missing DLLs come from the VC++ redistributable. You could try installing based on info here: https://support.microsoft.com/en-au/help/2977003/the-latest-supported-visual-c-downloads
@skottmckay: Thanks, I tried the link. It works for me. Do you plan to include the DLLs to the nuget package, or having VC++ pre-installed is a requirement?
The problem seems not related to ARM64 anymore. Technically, the package won't work on any machine without VC++ redist installed.
@SergeyADoroshenko - thanks for the feedback on this. We have added this request to our list and are looking into it now. Initial developer feedback led us to building the package dynamically linking to the VC++, but we've heard additional requests for providing a NuGet that has this included. Let me follow up with our team and get back to you on this.
This issue has been automatically marked as stale due to inactivity and will be closed in 7 days if no further activity occurs. If further support is needed, please provide an update and/or more details.
@ngeisler11 - any update on this?
Hi, I am facing the same problem when trying to run an app using Microsoft.AI.MachineLearning on Hololens 2. Any suggestions on how to solve this issue? Any workaround is appreciated.
Describe the bug Microsoft.AI.MachineLearning cannot be used in a UWP app on Windows 10 ARM64.
System information
To Reproduce
Expected behavior Model should be load-able in a UWP app on Windows 10 ARM64
Additional context An ONNX model can be loaded successfully in a UWP app on Windows 10 ARM64 in the app is built for x86.