code: def __init__(self, graph_prop_func, node_hidden_size):
      super(ChooseDestAndUpdate, self).__init__()
  
      self.graph_op = {"prop": graph_prop_func}
      self.choose_dest = nn.Linear(2 * node_hidden_size, 1)
  
imports: from functools import partial
  import dgl
  import torch
  import torch.nn
  import torch.nn.functional
  from torch.distributions import Bernoulli, Categorical
label_desc: Use image node_id 1 to create a new ChooseDestAndUpdate object from inherited base classes: nn with example: obj = ChooseDestAndUpdate(graph_prop_func, node_hidden_size)