class_docstr: The RelDN Model
class_docstr_tok: ["The","RelDN","Model"]
code: def __init__(self, n_classes, prior_pkl, semantic_only=False):
      super(RelDN, self).__init__()
      # output layers
      self.edge_bbox_extend = EdgeBBoxExtend()
      # semantic through mlp encoding
      if prior_pkl is not None:
          self.freq_prior = EdgeFreqPrior(prior_pkl)
  
      # with predicate class and a link class
      self.spatial = EdgeSpatial(n_classes + 1)
      # with visual features
      self.visual = EdgeVisual(n_classes + 1)
      self.edge_conf_mlp = EdgeConfMLP()
      self.semantic_only = semantic_only
  
imports: import pickle
  import dgl
  import gluoncv
  import mxnet
  import numpy
  from dgl.nn.mxnet import GraphConv
  from dgl.utils import toindex
  from mxnet import nd
  from mxnet.gluon import nn
label_desc: Use image node_id 1 to create a new RelDN object from inherited base classes: nn with example: obj = RelDN(n_classes, prior_pkl, semantic_only)