class_docstr: Implement of Edge Drop 
class_docstr_tok: ["Implement","of","Edge","Drop"]
code: def __init__(self, graph_wrapper, dropout, keep_self_loop=True):
      super(DropEdgeWrapper, self).__init__()
  
      # Copy Node's information
      for key, value in graph_wrapper.node_feat.items():
          self.node_feat_tensor_dict[key] = value
  
      self._num_nodes = graph_wrapper.num_nodes
      self._graph_lod = graph_wrapper.graph_lod
      self._num_graph = graph_wrapper.num_graph
  
      # Dropout Edges
      src, dst = graph_wrapper.edges
      u = L.uniform_random(
          shape=L.cast(L.shape(src), "int64"), min=0.0, max=1.0
      )
  
      # Avoid Empty Edges
      keeped = L.cast(u > dropout, dtype="float32")
      self._num_edges = L.reduce_sum(L.cast(keeped, "int32"))
      keeped = keeped + L.cast(self._num_edges == 0, dtype="float32")
  
      if keep_self_loop:
          self_loop = L.cast(src == dst, dtype="float32")
          keeped = keeped + self_loop
  
      keeped = keeped > 0.5
      src = paddle_helper.masked_select(src, keeped)
      dst = paddle_helper.masked_select(dst, keeped)
      src.stop_gradient = True
      dst.stop_gradient = True
      self._edges_src = src
      self._edges_dst = dst
  
      for key, value in graph_wrapper.edge_feat.items():
          self.edge_feat_tensor_dict[key] = paddle_helper.masked_select(
              value, keeped
          )
  
      self._edge_uniq_dst, _, uniq_count = L.unique_with_counts(
          dst, dtype="int32"
      )
      self._edge_uniq_dst.stop_gradient = True
      last = L.reduce_sum(uniq_count, keep_dim=True)
      uniq_count = L.cumsum(uniq_count, exclusive=True)
      self._edge_uniq_dst_count = L.concat([uniq_count, last])
      self._edge_uniq_dst_count.stop_gradient = True
      self._indegree = get_degree(self._edges_dst, self._num_nodes)
  
imports: import warnings
  import numpy
  import paddle.fluid
  import paddle.fluid.layers
  from pgl.utils import op
  from pgl.utils import paddle_helper
  from pgl.utils.logger import log
label_desc: Use image node_id 1 to create a new DropEdgeWrapper object from inherited base classes: BaseGraphWrapper with example: obj = DropEdgeWrapper(graph_wrapper, dropout, keep__loop)