コード例 #1
0
def pretrainFromConfig(config):
  """
  :type config: Config.Config
  :rtype: Pretrain | None
  """
  pretrainType = config.value("pretrain", "")
  if pretrainType == "default":
    network_init_args = LayerNetwork.init_args_from_config(config)
    original_network_json = LayerNetwork.json_from_config(config)
    copy_output_layer = config.bool_or_other("pretrain_copy_output_layer", "ifpossible")
    greedy = config.bool("pretrain_greedy", None)
    if config.is_typed("pretrain_repetitions"):
      repetitions = config.typed_value("pretrain_repetitions")
    else:
      repetitions = config.int_list("pretrain_repetitions", None)
    construction_algo = config.value("pretrain_construction_algo", None)
    return Pretrain(original_network_json=original_network_json,
                    network_init_args=network_init_args,
                    copy_output_layer=copy_output_layer,
                    greedy=greedy, repetitions=repetitions,
                    construction_algo=construction_algo)
  elif pretrainType == "":
    return None
  else:
    raise Exception("unknown pretrain type: %s" % pretrainType)
コード例 #2
0
def pretrainFromConfig(config):
    """
  :type config: Config.Config
  :rtype: Pretrain | None
  """
    pretrainType = config.bool_or_other("pretrain", None)
    if pretrainType == "default" or (isinstance(pretrainType, dict)
                                     and pretrainType) or pretrainType is True:
        network_init_args = LayerNetwork.init_args_from_config(config)
        original_network_json = LayerNetwork.json_from_config(config)
        opts = config.get_of_type("pretrain", dict, {})
        if config.has("pretrain_copy_output_layer"):
            opts.setdefault(
                "copy_output_layer",
                config.bool_or_other("pretrain_copy_output_layer",
                                     "ifpossible"))
        if config.has("pretrain_greedy"):
            opts.setdefault("greedy", config.bool("pretrain_greedy", None))
        if config.has("pretrain_repetitions"):
            if config.is_typed("pretrain_repetitions"):
                opts.setdefault("repetitions",
                                config.typed_value("pretrain_repetitions"))
            else:
                opts.setdefault("repetitions",
                                config.int_list("pretrain_repetitions", None))
        if config.has("pretrain_construction_algo"):
            opts.setdefault("construction_algo",
                            config.value("pretrain_construction_algo", None))
        return Pretrain(original_network_json=original_network_json,
                        network_init_args=network_init_args,
                        **opts)
    elif not pretrainType:
        return None
    else:
        raise Exception("unknown pretrain type: %s" % pretrainType)
コード例 #3
0
ファイル: Pretrain.py プロジェクト: rwth-i6/returnn
def pretrain_from_config(config):
  """
  :type config: Config.Config
  :rtype: Pretrain | None
  """
  import Util
  from Config import network_json_from_config
  pretrain_type = config.bool_or_other("pretrain", None)
  if pretrain_type == "default" or (isinstance(pretrain_type, dict) and pretrain_type) or pretrain_type is True:
    if Util.BackendEngine.is_theano_selected():
      from Network import LayerNetwork
      network_init_args = LayerNetwork.init_args_from_config(config)
    else:
      network_init_args = None
    original_network_json = network_json_from_config(config)
    opts = config.get_of_type("pretrain", dict, {})
    if config.has("pretrain_copy_output_layer"):
      opts.setdefault("copy_output_layer", config.bool_or_other("pretrain_copy_output_layer", "ifpossible"))
    if config.has("pretrain_greedy"):
      opts.setdefault("greedy", config.bool("pretrain_greedy", None))
    if config.has("pretrain_repetitions"):
      if config.is_typed("pretrain_repetitions"):
        opts.setdefault("repetitions", config.typed_value("pretrain_repetitions"))
      else:
        opts.setdefault("repetitions", config.int_list("pretrain_repetitions", None))
    if config.has("pretrain_construction_algo"):
      opts.setdefault("construction_algo", config.value("pretrain_construction_algo", None))
    return Pretrain(original_network_json=original_network_json, network_init_args=network_init_args, **opts)
  elif not pretrain_type:
    return None
  else:
    raise Exception("unknown pretrain type: %s" % pretrain_type)
コード例 #4
0
ファイル: Pretrain.py プロジェクト: atuxhe/returnn
def pretrainFromConfig(config):
  """
  :type config: Config.Config
  :rtype: Pretrain | None
  """
  pretrainType = config.value("pretrain", "")
  if pretrainType == "default":
    network_init_args = LayerNetwork.init_args_from_config(config)
    original_network_json = LayerNetwork.json_from_config(config)
    copy_output_layer = config.bool_or_other("pretrain_copy_output_layer", "ifpossible")
    greedy = config.bool("pretrain_greedy", None)
    repetitions = config.int_list("pretrain_repetitions", None)
    construction_algo = config.value("pretrain_construction_algo", None)
    return Pretrain(original_network_json=original_network_json,
                    network_init_args=network_init_args,
                    copy_output_layer=copy_output_layer,
                    greedy=greedy, repetitions=repetitions,
                    construction_algo=construction_algo)
  elif pretrainType == "":
    return None
  else:
    raise Exception("unknown pretrain type: %s" % pretrainType)