code: def testBasicSub(self):
      for dtype in BASIC_TYPES:
          with test_util.use_gpu():
              x = array_ops.ones([7, 3], dtype)
              y = np.ones([7, 3], dtype.as_numpy_dtype)
              self.assertAllClose(x, y)
              x = inplace_ops.inplace_sub(
                  x, [3], array_ops.ones([1, 3], dtype)
              )
              y[3, :] -= 1
              self.assertAllClose(x, y)
              x = inplace_ops.inplace_sub(
                  x, [-1], array_ops.ones([1, 3], dtype) * 2
              )
              y[-1, :] -= 2
              self.assertAllClose(x, y)
              x = inplace_ops.inplace_sub(
                  x, 5, array_ops.ones([3], dtype) * 7
              )
              y[5, :] -= 7
              self.assertAllClose(x, y)
              x = inplace_ops.inplace_sub(
                  x, None, array_ops.ones([7, 3], dtype) * 99
              )
              y[:, :] -= 99
              self.assertAllClose(x, y)
  
file_path: tensorflow/tensorflow/python/kernel_tests/array_ops/inplace_ops_test.py
imports: import numpy
  from tensorflow.python.framework import dtypes
  from tensorflow.python.framework import errors
  from tensorflow.python.framework import ops
  from tensorflow.python.framework import test_util
  from tensorflow.python.ops import array_ops
  from tensorflow.python.ops import inplace_ops
  from tensorflow.python.platform import test
label_desc: Use image node_id 4 for calling the InplaceOpsTest obj's underlying member method code with example usage: obj.testBasicSub() without return types