code: def __init__(
      self, axes=2, a_axes=None, b_axes=None, c_axes=None, dtype=None
  ):
      self.axes = axes
      self.a_axes = a_axes
      self.b_axes = b_axes
      self.c_axes = c_axes
      self.dtype = dtype
  
      if isinstance(axes, collections_abc.Sequence):
          if len(axes) != 2:
              raise ValueError(
                  "axes must be a pair of sequence of integers "
                  "when it is a list or tuple."
              )
      elif isinstance(axes, six.integer_types):
          pass
      else:
          raise TypeError(
              "axes must be a pair of sequence of integers or "
              "an integer"
          )
  
file_path: chainer/chainer/functions/math/tensordot.py
imports: import numpy
  import six
  from chainer import backend
  from chainer import function_node
  from chainer import utils
  from chainer.utils import collections_abc
  from chainer.utils import type_check
label_desc: Use image node_id 1 to create a new TensorDot object from inherited base classes: function_node with example: obj = TensorDot(axes, a_axes, b_axes, c_axes, dtype)