В чем разница между torch.jit.trace и torch.jit.script в torchscript?
Torchscript предоставляет torch.jit.trace и torch.jit.script для преобразования кода pytorch из режима ожидания в модель сценария. Из документации я могу понять, что torch.jit.trace не может обрабатывать потоки управления и другие структуры данных, присутствующие в Python. Следовательно, torch.jit.script был разработан для решения проблем в torch.jit.trace.
Но похоже, что torch.jit.script работает во всех случаях, тогда зачем нам torch.jit.trace?
Пожалуйста, помогите мне понять разницу между этими двумя методами
2 ответа
Если torch.jit.script
работает для вашего кода, тогда это все, что вам нужно. Код, использующий динамическое поведение, например полиморфизм, не поддерживается компилятором.torch.jit.script
использует, поэтому для таких случаев вам нужно будет использовать torch.jit.trace
.
Это глубокое погружение в различия между ними, в котором показано, когда «рекомендуется по умолчанию».jit.script
хуже, чемjit.trace
https://ppwwyyxx.com/blog/2022/TorchScript-Tracing-vs-Scripting/