docstr: encoder_layer_list: a list of numbers of the neuron at each ecdoer layer, the last number is the
  dimension of the output node representation
  Eg:
  if node size is 2000, encoder_layer_list=[1000, 128], then the whole neural network would be
  2000(input)->1000->128->1000->2000, SDNE extract the middle layer as the node representation
docstr_tok: ["encoder_layer_list",":","a","list","of","numbers","of","the","neuron","at","each","ecdoer","layer",",","the","last","number","is","the","dimension","of","the","output","node","representation","Eg",":","if","node","size","is","2000",",","encoder_layer_list=","[","1000",",","128","]",",","then","the","whole","neural","network","would","be","2000","(","input",")","-",">","1000-",">","128-",">","1000-",">","2000",",","SDNE","extract","the","middle","layer","as","the","node","representation"]
code: def __init__(
      self,
      graph,
      encoder_layer_list,
      alpha=1e-6,
      beta=5.0,
      nu1=1e-5,
      nu2=1e-4,
      batch_size=200,
      epoch=100,
      learning_rate=None,
  ):
      """
      encoder_layer_list: a list of numbers of the neuron at each ecdoer layer, the last number is the
      dimension of the output node representation
      Eg:
      if node size is 2000, encoder_layer_list=[1000, 128], then the whole neural network would be
      2000(input)->1000->128->1000->2000, SDNE extract the middle layer as the node representation
      """
      self.g = graph
  
      self.node_size = self.g.G.number_of_nodes()
      self.dim = encoder_layer_list[-1]
  
      self.encoder_layer_list = [self.node_size]
      self.encoder_layer_list.extend(encoder_layer_list)
      self.encoder_layer_num = len(encoder_layer_list) + 1
  
      self.alpha = alpha
      self.beta = beta
      self.nu1 = nu1
      self.nu2 = nu2
      self.bs = batch_size
      self.epoch = epoch
      self.max_iter = (epoch * self.node_size) // batch_size
  
      self.lr = learning_rate
      if self.lr is None:
          self.lr = tf.train.inverse_time_decay(
              0.03, self.max_iter, decay_steps=1, decay_rate=0.9999
          )
  
      self.sess = tf.Session()
      self.vectors = {}
  
      self.adj_mat = self.getAdj()
      self.embeddings = self.train()
  
      look_back = self.g.look_back_list
  
      for i, embedding in enumerate(self.embeddings):
          self.vectors[look_back[i]] = embedding
  
file_path: OpenNE/src/openne/sdne.py
imports: import tensorflow
  import numpy
label_desc: Use image node_id 1 to create a new SDNE object from inherited base classes: object with example: obj = SDNE(graph, encoder_layer_list, alpha, beta, nu1, nu2, batch_size, epoch, learning_rate)