def _get_datasets_and_inputs(outputs): import tensorflow as tf all_required_inputs = find_placeholders(outputs) dataset = tf.get_collection(all_required_inputs[0].name)[0] inputs = dataset.tensors _check_the_same(all_required_inputs, inputs) return dataset, inputs
def _expand_inputs(inputs, tensors_with_value, loss): additional_inputs = [] additional_values = [] all_required_inputs = find_placeholders([loss]) all_required_inputs_names = [v.name for v in all_required_inputs] if tensors_with_value: for t, v in tensors_with_value.items(): if t.name in all_required_inputs_names: additional_inputs.append(t) additional_values.append(v) if not isinstance(inputs, list): inputs = nest.flatten(inputs) return inputs, additional_inputs, additional_values
def _get_dataset_from_loss(loss): import tensorflow as tf all_required_inputs = find_placeholders([loss]) dataset = tf.get_collection(all_required_inputs[0].name)[0] return dataset