dotnet / TorchSharp

A .NET library that provides access to the library that powers PyTorch.
MIT License
1.41k stars 183 forks source link

Using TorchSharp In Unity #1372

Open StefanWRL opened 3 months ago

StefanWRL commented 3 months ago

I am trying to use the latest TorchSharp in my Unity project.

I keep running into this error: NotSupportedException: This application or script uses TorchSharp but doesn't contain a reference to libtorch-cpu-win-x64, Version=2.4.0.0.

I have TorchSharp and libtorch-cpu-win-x64 packages installed with Nuget for unity. I have also tried doing this manually with the same results.

Thanks for any help!

VisualStudio 2022 Pytorch 2.4.0+cpu Python 3.9 libtorch-cpu-win-x64 2.4.0.0 TorchSharp 2.4.0.0

GeorgeS2019 commented 3 months ago

https://github.com/dotnet/TorchSharp/discussions/874 https://github.com/dotnet/TorchSharp/discussions/1244 https://github.com/dotnet/TorchSharp/discussions/1371

Perhaps eventually we may need a documentation on Torchsharp in Unity, involving how onnx could be used in some cases.

asieradzk commented 2 months ago

Maybe someone could compile this to a guide but here's what you need to do:

  1. Use powershell script to install nuget: https://www.nurupo.io/posts/unityhowtonuget/

  2. In Unity Directory create following: Plugins>Windows>X86_x64

  3. Paste all the TorchSharp dlls in there (I dont remember how to get them, just copied them from .NET 8.0 project I had around) image

  4. Make sure that all the .dll settings in the inspector are like this: image