From 7b865ed03d314dc73debd6ffc2975218fbe6c4a4 Mon Sep 17 00:00:00 2001 From: Andrey Date: Wed, 26 Mar 2025 08:36:48 -0300 Subject: [PATCH] use tuple in isinstance for type checking (#9583) --- examples/so_vits_svc.py | 2 +- extra/export_model.py | 2 +- extra/sqtt/rgptool.py | 2 +- extra/torch_hook/hook_torch.py | 2 +- tinygrad/ops.py | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/examples/so_vits_svc.py b/examples/so_vits_svc.py index 2d443cde2c..95e90fa696 100644 --- a/examples/so_vits_svc.py +++ b/examples/so_vits_svc.py @@ -504,7 +504,7 @@ def load_checkpoint_enc(checkpoint_path, model: ContentVec, optimizer=None, skip obj, v = getattr(parent, "weight"), weight_norm(weight_v, weight_g, 0) weight_g, weight_v, parent, skip = None, None, None, False if not skip and obj.shape == v.shape: - if "feature_extractor" in key and (isinstance(parent, nn.GroupNorm) or isinstance(parent, nn.LayerNorm)): # cast + if "feature_extractor" in key and (isinstance(parent, (nn.GroupNorm, nn.LayerNorm))): # cast obj.assign(v.to(obj.device).float()) else: obj.assign(v.to(obj.device)) diff --git a/extra/export_model.py b/extra/export_model.py index 8e60373f29..4f326432e9 100644 --- a/extra/export_model.py +++ b/extra/export_model.py @@ -38,7 +38,7 @@ def jit_model(model, *args) -> Tuple[TinyJit,Dict[int,str]]: @TinyJit def run(*x): out = model.forward(*x) if hasattr(model, "forward") else model(*x) - assert isinstance(out, tuple) or isinstance(out, list) or isinstance(out, Tensor), "model output must be a Tensor, tuple, or a list of Tensors for export" + assert isinstance(out, (tuple, list, Tensor)), "model output must be a Tensor, tuple, or a list of Tensors for export" out = [out] if isinstance(out, Tensor) else out return [o.realize() for o in out] diff --git a/extra/sqtt/rgptool.py b/extra/sqtt/rgptool.py index 3244cc153b..a0d499e62e 100755 --- a/extra/sqtt/rgptool.py +++ b/extra/sqtt/rgptool.py @@ -22,7 +22,7 @@ CHUNK_CLASSES = { } def pretty(val, pad=0) -> str: - if isinstance(val, ctypes.Structure) or isinstance(val, ctypes.Union): + if isinstance(val, (ctypes.Structure, ctypes.Union)): nl = '\n' # old python versions don't support \ in f-strings return f"{val.__class__.__name__}({nl}{' '*(pad+2)}{(f', {nl}'+' '*(pad+2)).join([f'{field[0]}={pretty(getattr(val, field[0]), pad=pad+2)}' for field in val._fields_])}{nl}{' '*pad})" if isinstance(val, ctypes.Array): diff --git a/extra/torch_hook/hook_torch.py b/extra/torch_hook/hook_torch.py index 24aa780ed1..f3b8113b4a 100644 --- a/extra/torch_hook/hook_torch.py +++ b/extra/torch_hook/hook_torch.py @@ -39,7 +39,7 @@ class DispatchLog(TorchDispatchMode): should_call_tiny = kwargs.get('device') is not None and kwargs['device'].type == "cuda" def can_print_arg(arg): - return args is None or isinstance(arg, str) or isinstance(arg, int) or isinstance(arg, float) or isinstance(arg, bool) + return args is None or isinstance(arg, (str, int, float, bool)) def create_tiny_mapping(arg): if WRAP_TINY: diff --git a/tinygrad/ops.py b/tinygrad/ops.py index 554428f927..5173ce1828 100644 --- a/tinygrad/ops.py +++ b/tinygrad/ops.py @@ -713,7 +713,7 @@ class UPat(MathTrait): def __init__(self, op:Optional[Union[Ops, tuple[Ops, ...], set[Ops]]]=None, dtype:Optional[Union[DType, tuple[DType, ...]]]=None, src:Optional[Union[tuple[UPat, ...], list[UPat], UPat]]=None, arg:Any=None, name:Optional[str]=None, allow_any_len:bool=False, location=None, custom_early_reject:Optional[set[Ops]]=None): - assert op is None or isinstance(op, Ops) or isinstance(op, tuple) or isinstance(op, set), "op must be Ops or tuple of Ops" + assert op is None or isinstance(op, (Ops, tuple, set)), "op must be Ops or tuple of Ops" self.op: Optional[tuple[Ops, ...]] = (op,) if isinstance(op, Ops) else (tuple(op) if isinstance(op, set) else op) self.dtype: Optional[tuple[DType, ...]] = (dtype,) if isinstance(dtype, DType) else dtype self.arg, self.name, self._in_src, self.custom_early_reject = arg, name, src, custom_early_reject