code: def add_net(self, net_str, net_val):
      assert self.net_str2id.get(net_str) is None, "%s exists" % net_str
      net_id = net_str.__hash__()
      while net_id in self.net_id2val:
          net_id += 1
      self.net_str2id[net_str] = net_id
      self.net_id2val[net_id] = net_val
      return net_id
  
imports: import os
  import subprocess
  import json
  import pickle
  import numpy
  from ..data_providers.utils import get_data_provider_by_name
  from .expdir_monitor import ExpdirMonitor
  from ..expdir_monitor import distributed
label_desc: Use image node_id 5 for calling the NetPool obj's underlying member method code with example usage: obj.add_net(net_str, net_val) and returns: net_id