code: def get_neighbors_layer(self, n_id):
      neighbors = []
      neighbor_src = []
      last_count = self.fanouts[0]
      for hop_edge_types, count in zip(
          self.metapath[1:], self.fanouts[1:]
      ):
          unique_neighbor, adj = tf_euler.sample_neighbor_layerwise(
              tf.reshape(n_id, [-1, last_count]), hop_edge_types, count
          )
          neighbor_idx = adj.indices[:, 2] + adj.indices[:, 0] * count
          one_neighbor = tf.gather(
              tf.reshape(unique_neighbor, [-1]), neighbor_idx
          )
          one_indices = (
              adj.indices[:, 1] + adj.indices[:, 0] * last_count
          )
          neighbors.append(tf.reshape(one_neighbor, [-1]))
          neighbor_src.append(tf.cast(one_indices, tf.int32))
          n_id = one_neighbor
          last_count = count
      return neighbors, neighbor_src
  
file_path: euler/tf_euler/python/dataflow/layerwise_dataflow.py
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import tensorflow
  import tf_euler
  from tf_euler.python.dataflow.neighbor_dataflow import UniqueDataFlow
  from tf_euler.python.dataflow.neighbor_dataflow import NeighborDataFlow
label_desc: Use image node_id 3 for calling the LayerwiseEachDataFlow obj's underlying member method code with example usage: obj.get_neighbors_layer(n_id) and returns: neighbors,  neighbor_src