def build_inputs(input_features_def: List[Dict[str, Any]]) -> Dict[str, InputFeature]: """Builds and returns input features in topological order.""" input_features = OrderedDict() input_features_def = topological_sort_feature_dependencies(input_features_def) for input_feature_def in input_features_def: input_features[input_feature_def[NAME]] = build_single_input(input_feature_def, input_features) return input_features
def build_inputs(input_features_def, **kwargs): input_features = OrderedDict() input_features_def = topological_sort_feature_dependencies( input_features_def) for input_feature_def in input_features_def: input_features[input_feature_def['name']] = build_single_input( input_feature_def, input_features, **kwargs) return input_features
def build_inputs(input_features_def: List[Dict[str, Any]], **kwargs) -> Dict[str, InputFeature]: input_features = OrderedDict() input_features_def = topological_sort_feature_dependencies( input_features_def) for input_feature_def in input_features_def: input_features[input_feature_def[NAME]] = build_single_input( input_feature_def, input_features, **kwargs) return input_features
def build_outputs(output_features_def, combiner, **kwargs): output_features_def = topological_sort_feature_dependencies(output_features_def) output_features = {} for output_feature_def in output_features_def: output_feature_def["input_size"] = combiner.output_shape[-1] output_feature = build_single_output(output_feature_def, combiner, output_features, **kwargs) output_features[output_feature_def[NAME]] = output_feature return output_features
def build_outputs(output_features_def, combiner, **kwargs): output_features_def = topological_sort_feature_dependencies( output_features_def) output_features = {} for output_feature_def in output_features_def: output_feature = build_single_output(output_feature_def, combiner, output_features, **kwargs) output_features[output_feature_def['name']] = output_feature return output_features
def build_outputs(output_features_def: List[Dict[str, Any]], combiner: Combiner) -> Dict[str, OutputFeature]: """Builds and returns output features in topological order.""" output_features_def = topological_sort_feature_dependencies(output_features_def) output_features = {} for output_feature_def in output_features_def: # TODO(Justin): Check that the semantics of input_size align with what the combiner's output shape returns for # seq2seq. output_feature_def["input_size"] = combiner.output_shape[-1] output_feature = build_single_output(output_feature_def, output_features) output_features[output_feature_def[NAME]] = output_feature return output_features
def build_inputs(input_features, regularizer, dropout_rate, is_training=True, **kwargs): # ================ Inputs ============= feature_representations = OrderedDict() input_features = topological_sort_feature_dependencies(input_features) for input_feature in input_features: feature_representation = build_single_input(input_feature, regularizer, dropout_rate, is_training=is_training, **kwargs) feature_representations[input_feature['name']] = feature_representation return feature_representations
def build_outputs(output_features, hidden, hidden_size, regularizer, dropout_rate, is_training=True, **kwargs): output_features = topological_sort_feature_dependencies(output_features) output_tensors = OrderedDict() final_hidden = {} output_train_losses = [] output_eval_losses = [] for output_feature in output_features: of_train_mean_loss, of_eval_loss, of_output_tensors = build_single_output( output_feature, hidden, hidden_size, final_hidden, dropout_rate, regularizer, is_training, **kwargs) output_train_losses.append(of_train_mean_loss) output_eval_losses.append(of_eval_loss) output_tensors.update(of_output_tensors) train_combined_mean_loss = tf.reduce_sum(tf.stack(output_train_losses), name='train_combined_mean_loss') if regularizer is not None: regularization_losses = tf.get_collection( tf.GraphKeys.REGULARIZATION_LOSSES) if regularization_losses: regularization_loss = tf.add_n(regularization_losses) logger.debug( '- Regularization losses: {0}'.format(regularization_losses)) else: regularization_loss = tf.constant(0.0) else: regularization_loss = tf.constant(0.0) train_reg_mean_loss = tf.add(train_combined_mean_loss, regularization_loss, name='train_combined_regularized_mean_loss') eval_combined_loss = tf.reduce_sum(tf.stack(output_eval_losses), axis=0, name='eval_combined_loss') return train_reg_mean_loss, eval_combined_loss, regularization_loss, output_tensors