class_docstr: Metaclass for CrypTensor that ensures autograd is invoked for calls to
  static methods such as `crypten.cat` and `crypten.stack`.
class_docstr_tok: ["Metaclass","for","CrypTensor","that","ensures","autograd","is","invoked","for","calls","to","static","methods","such","as","`","crypten.cat","`","and","`","crypten.stack","`","."]
code: def __getattribute__(cls, name):
      if name in STATIC_FUNCTIONS:
          dummy = cls([])  # this creates an empty CrypTensor
          dummy.__IS_DUMMY__ = True
          return cls.__getattribute__(dummy, name)
      return type.__getattribute__(cls, name)
  
imports: from contextlib import contextmanager
  import torch
  from .debug import register_validation
  from .gradients import AutogradContext, BaseAutogradContext, get_grad_fn
  from .common import functions
label_desc: Use image node_id 1 for calling the CrypTensorMetaclass obj's underlying member method code with example usage: obj.__getattribute__(cls, name) and returns: type, cls