Warning: preg_grep(): Compilation failed: quantifier does not follow a repeatable item at offset 165 in /var/www/tg-me/post.php on line 75 Библиотека дата-сайентиста | Data Science, Machine learning, анализ данных, машинное обучение | Telegram Webview: dsproglib/6390 -
▶️ Проблема: у модели меняется размер входов — обычно это мешает трассировке и оптимизации.
✅ Решение: torch.jit.trace умеет кэшировать разные формы входов. TorchScript сохраняет шаблоны и переиспользует их, ускоряя инференс без потерь гибкости.
# Пример входа для трассировки example_input = torch.randn(1, 128)
# Трассировка модели — включаем TorchScript traced_model = torch.jit.trace(model, example_input)
# Первый вызов с новым размером — форма кэшируется output1 = traced_model(torch.randn(32, 128))
# Второй вызов с такой же формой — используется кэш output2 = traced_model(torch.randn(32, 128))
# Новый батч — снова кэшируется output3 = traced_model(torch.randn(64, 128))
➡️Что это даёт: • Ускорение инференса за счёт shape specialization • Гибкость — не нужно фиксировать размер входа • TorchScript автоматически переиспользует кэш при повторении формы
▶️ Проблема: у модели меняется размер входов — обычно это мешает трассировке и оптимизации.
✅ Решение: torch.jit.trace умеет кэшировать разные формы входов. TorchScript сохраняет шаблоны и переиспользует их, ускоряя инференс без потерь гибкости.
# Пример входа для трассировки example_input = torch.randn(1, 128)
# Трассировка модели — включаем TorchScript traced_model = torch.jit.trace(model, example_input)
# Первый вызов с новым размером — форма кэшируется output1 = traced_model(torch.randn(32, 128))
# Второй вызов с такой же формой — используется кэш output2 = traced_model(torch.randn(32, 128))
# Новый батч — снова кэшируется output3 = traced_model(torch.randn(64, 128))
➡️Что это даёт: • Ускорение инференса за счёт shape specialization • Гибкость — не нужно фиксировать размер входа • TorchScript автоматически переиспользует кэш при повторении формы