當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python PyTorch isinstance用法及代碼示例


本文簡要介紹python語言中 torch.jit.isinstance 的用法。

用法:

torch.jit.isinstance(obj, target_type)

參數

  • obj-對象以細化類型

  • target_type-鍵入以嘗試將 obj 細化為

返回

如果 obj 成功地細化為 target_type 的類型,則為真,

否則為假,沒有新的類型細化

返回類型

bool

此函數在 TorchScript 中提供容器類型細化。它可以細化 List、Dict、Tuple 和 Optional 類型的參數化容器。例如: List[str]Dict[str, List[torch.Tensor]]Optional[Tuple[int,str,int]]。它還可以優化 TorchScript 中可用的基本類型,例如 bool 和 int。

示例(使用torch.jit.isinstance 進行類型細化):.. 測試代碼:

import torch
from typing import Any, Dict, List

class MyModule(torch.nn.Module):
    def __init__(self):
        super(MyModule, self).__init__()

    def forward(self, input: Any): # note the Any type
        if torch.jit.isinstance(input, List[torch.Tensor]):
            for t in input:
                y = t.clamp(0, 0.5)
        elif torch.jit.isinstance(input, Dict[str, str]):
            for val in input.values():
                print(val)

m = torch.jit.script(MyModule())
x = [torch.rand(3,3), torch.rand(4,3)]
m(x)
y = {"key1":"val1","key2":"val2"}
m(y)

相關用法


注:本文由純淨天空篩選整理自pytorch.org大神的英文原創作品 torch.jit.isinstance。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。