code: def __init__(
      self,
      node_type,
      edge_type,
      max_id,
      walk_len=3,
      walk_p=1,
      walk_q=1,
      left_win_size=1,
      right_win_size=1,
      num_negs=5,
      metric="mrr",
      neg_condition="",
      *args,
      **kwargs,
  ):
      super(BaseNode2Vec, self).__init__(
          node_type,
          edge_type,
          max_id,
          num_negs,
          metric,
          *args,
          **kwargs,
      )
      self.node_type = node_type
      self.edge_type = edge_type
      self.max_id = max_id
      self.walk_len = walk_len
      self.walk_p = walk_p
      self.walk_q = walk_q
      self.left_win_size = left_win_size
      self.right_win_size = right_win_size
      self.num_negs = num_negs
      self.neg_condition = neg_condition
      self.batch_size_ratio = int(
          tf_euler.gen_pair(
              tf.zeros([0, walk_len + 1], dtype=tf.int64),
              left_win_size,
              right_win_size,
          ).shape[1]
      )
  
file_path: euler/examples/deepwalk/deepwalk.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.mp_utils.base_gnn import BaseGNNNet
  from tf_euler.python.mp_utils.base import SuperviseModel, UnsuperviseModel
label_desc: Use image node_id 1 to create a new BaseNode2Vec object from inherited base classes: UnsuperviseModel with example: obj = BaseNode2Vec(node_type, edge_type, max_id, walk_len, walk_p, walk_q, left_win_size, right_win_size, num_negs, metric, neg_condition)