class_docstr: ngram op test
docstr: test ngram 2-order op
docstr_tok: ["test","ngram","2-order","op"]
code: def test_ngram_op_2_order(self):
      """test ngram 2-order op"""
      ground_truth_2 = [0, 0, 0, 0, 0, 0, 0]
  
      word_ngram = 2
      t_input = tf.placeholder(shape=(4,), dtype=tf.int32)
      t_ngram = py_x_ops.ngram(
          t_input,
          word_ngrams=word_ngram,
          vocab_size=5000,
          bucket_size=100000,
      )
      logging.info("t_ngram: {}".format(t_ngram))
      with tf.Session() as sess:
          sess.run(tf.global_variables_initializer())
          ngram_result = sess.run(
              t_ngram, feed_dict={t_input: self.testcase[0]}
          )
          self.assertAllEqual(ngram_result, ground_truth_2)
  
file_path: delta/core/ops/kernels/ngram_op_test.py
imports: import delta.compat
  from absl import logging
  from delta.layers.ops import py_x_ops
label_desc: Use image node_id 2 for calling the NGramOpsTest obj's underlying member method code with example usage: obj.test_ngram_op_2_order() without return types