code: def set_net_from_config(
      self, net_config_json, init=None, print_info=True
  ):
      # load config and init (if exist)
      for key in self.net_config.keys():
          self.net_config[key] = net_config_json[key]
      self.blocks = []
      for _i, block_config in enumerate(net_config_json["blocks"]):
          block_init = init["blocks"][_i] if init is not None else None
          block = get_block_by_name(block_config["name"])
          self.blocks.append(
              block.set_from_config(block_config, block_init)
          )
      if print_info:
          print("Set DenseNet from config:")
          for k, v in self.net_config.items():
              print("\t%s: %s" % (k, v))
          print("\t%s: %d" % ("depth", self.depth))
      return self
  
imports: import tensorflow
  from models.basic_model import BasicModel
  from models.layers import ConvLayer, FCLayer, PoolLayer, get_magnifier, apply_noise
  from data_providers.base_provider import DataProvider
  from models.layer_cascade import LayerCascade
  from models.layer_multi_branch import LayerMultiBranch
  import numpy
label_desc: Use image node_id 15 for calling the DenseNetConfig obj's underlying member method code with example usage: obj.set_net_from_config(net_config_json, init, print_info) and returns: self