Spec-Zone.ru › PyTorch 2

torch.jit.ignore

torch.jit.ignore(drop=False, **kwargs) [source]

Этот декоратор указывает компилятору, что функция или метод должны быть проигнорированы и оставлены как функция Python. Это позволяет вам оставлять код в вашей модели, который ещё не совместим с TorchScript. Если вызывается из TorchScript, игнорируемые функции будут перенаправлять вызов в интерпретатор Python. Модели с игнорируемыми функциями не могут быть экспортированы; используйте @torch.jit.unused вместо этого.

Пример (использование @torch.jit.ignore на методе):

import torch
import torch.nn as nn

class MyModule(nn.Module):
    @torch.jit.ignore
    def debugger(self, x):
        import pdb
        pdb.set_trace()

    def forward(self, x):
        x += 10
        # The compiler would normally try to compile `debugger`,
        # but since it is `@ignore`d, it will be left as a call
        # to Python
        self.debugger(x)
        return x

m = torch.jit.script(MyModule())

# Error! The call `debugger` cannot be saved since it calls into Python
m.save("m.pt")

Пример (использование @torch.jit.ignore(drop=True) на методе):

import torch
import torch.nn as nn

class MyModule(nn.Module):
    @torch.jit.ignore(drop=True)
    def training_method(self, x):
        import pdb
        pdb.set_trace()

    def forward(self, x):
        if self.training:
            self.training_method(x)
        return x

m = torch.jit.script(MyModule())

# This is OK since `training_method` is not saved, the call is replaced
# with a `raise`.
m.save("m.pt")

© 2024, PyTorch Contributors
PyTorch has a BSD-style license, as found in the LICENSE file.
https://pytorch.org/docs/2.1/generated/torch.jit.ignore.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API