class_docstr: Scope for managing NumPy shape semantics.
  In NumPy shape semantics, `()` represents the shape of scalar tensors,
  and tuples with `0` elements, for example, `(0,)`, `(1, 0, 2)`, represent
  the shapes of zero-size tensors.
  
  Do not use this class directly. Use `np_shape(active)` instead.
  
  Example::
  
      with _NumpyShapeScope(True):
          y = model(x)
          backward([y])
code: def __enter__(self):
      if self._enter_is_np_shape is not None:
          self._prev_is_np_shape = set_np_shape(self._enter_is_np_shape)
  
imports: import ctypes
  import functools
  import inspect
  import threading
  import tempfile
  import platform
  from contextlib import contextmanager
  from struct import calcsize
  from .base import _LIB, check_call, c_str, py_str, numeric_types, integer_types, long, _MAX_VALUE_64_BIT_UNSIGNED_, _MAX_VALUE_64_BIT_SIGNED_, _MAX_VALUE_FLOAT32_REPRESENT_
label_desc: Use image node_id 2 for calling the _NumpyShapeScope obj's underlying member method code with example usage: obj.__enter__() without return types