Esempio n. 1
0
    def build_subnetwork_spec(self,
                              name,
                              subnetwork_builder,
                              summary,
                              features,
                              mode,
                              labels=None,
                              previous_ensemble=None,
                              config=None,
                              params=None):
        del summary
        del features
        del mode
        del labels
        del previous_ensemble
        del params
        del config

        return _SubnetworkSpec(
            name=name,
            subnetwork=None,
            builder=subnetwork_builder,
            step=tf.Variable(0.),
            predictions=None,
            loss=None,
            train_op=subnetwork_builder.build_subnetwork_train_op(
                *[None for _ in range(7)]),
            eval_metrics=tu.create_subnetwork_metrics(
                metric_fn=lambda: {"a": (tf.constant(1), tf.constant(1))}))
Esempio n. 2
0
    def build_subnetwork_spec(self,
                              name,
                              subnetwork_builder,
                              summary,
                              features,
                              mode,
                              labels=None,
                              previous_ensemble=None,
                              params=None):
        del summary
        del features
        del mode
        del labels
        del previous_ensemble
        del params

        is_training = False
        if subnetwork_builder:
            is_training = "training" in subnetwork_builder.name

        return _SubnetworkSpec(
            name=name,
            subnetwork=None,
            builder=subnetwork_builder,
            step=tf.Variable(0.),
            is_training=is_training,
            predictions=None,
            loss=None,
            train_op=subnetwork_builder.build_subnetwork_train_op(
                *[None for _ in range(7)]),
            eval_metrics=None)
Esempio n. 3
0
    def build_subnetwork_spec(self,
                              name,
                              subnetwork_builder,
                              iteration_step,
                              summary,
                              features,
                              mode,
                              labels=None,
                              previous_ensemble=None,
                              params=None):
        del iteration_step
        del summary
        del features
        del mode
        del labels
        del previous_ensemble
        del params

        return _SubnetworkSpec(
            name=name,
            subnetwork=None,
            builder=subnetwork_builder,
            predictions=None,
            loss=None,
            train_op=subnetwork_builder.build_subnetwork_train_op(
                *[None for _ in range(7)]),
            eval_metrics=None)
Esempio n. 4
0
def create_iteration_metrics(subnetwork_metrics=None,
                             ensemble_metrics=None,
                             use_tpu=False,
                             iteration_number=1):
    """Creates an instance of the _IterationMetrics class.

  Args:
    subnetwork_metrics: List of _SubnetworkMetrics objects.
    ensemble_metrics: List of _EnsembleMetrics objects.
    use_tpu: Whether to use TPU-specific variable sharing logic.
    iteration_number: What number iteration these metrics are for.

  Returns:
    An instance of _IterationMetrics that has been populated with the
    input metrics.
  """
    subnetwork_metrics = subnetwork_metrics or []
    ensemble_metrics = ensemble_metrics or []

    candidates = []
    for i, metric in enumerate(ensemble_metrics):
        spec = _EnsembleSpec(name="ensemble_{}".format(i),
                             ensemble=None,
                             architecture=None,
                             subnetwork_builders=None,
                             predictions=None,
                             step=None,
                             variables=None,
                             eval_metrics=metric)

        candidate = _Candidate(ensemble_spec=spec,
                               adanet_loss=tf.constant(i),
                               variables=None)
        candidates.append(candidate)

    subnetwork_specs = []
    for i, metric in enumerate(subnetwork_metrics):
        spec = _SubnetworkSpec(name="subnetwork_{}".format(i),
                               subnetwork=None,
                               builder=None,
                               predictions=None,
                               step=None,
                               loss=None,
                               train_op=None,
                               asset_dir=None,
                               eval_metrics=metric,
                               variables=None)
        subnetwork_specs.append(spec)

    return _IterationMetrics(iteration_number,
                             candidates,
                             subnetwork_specs=subnetwork_specs,
                             use_tpu=use_tpu)