Se usó la API de Cloud Translation para traducir esta página.
Switch to English

tf.estimator.DNNClassifier

TensorFlow 1 versión Ver código fuente en GitHub

Un clasificador para los modelos TensorFlow DNN.

Hereda de: Estimator

Se utiliza en los cuadernos

Se utiliza en los tutoriales

Ejemplo:

 categorical_feature_a = categorical_column_with_hash_bucket(...)
categorical_feature_b = categorical_column_with_hash_bucket(...)

categorical_feature_a_emb = embedding_column(
    categorical_column=categorical_feature_a, ...)
categorical_feature_b_emb = embedding_column(
    categorical_column=categorical_feature_b, ...)

estimator = tf.estimator.DNNClassifier(
    feature_columns=[categorical_feature_a_emb, categorical_feature_b_emb],
    hidden_units=[1024, 512, 256])

# Or estimator using the ProximalAdagradOptimizer optimizer with
# regularization.
estimator = tf.estimator.DNNClassifier(
    feature_columns=[categorical_feature_a_emb, categorical_feature_b_emb],
    hidden_units=[1024, 512, 256],
    optimizer=tf.compat.v1.train.ProximalAdagradOptimizer(
      learning_rate=0.1,
      l1_regularization_strength=0.001
    ))

# Or estimator using an optimizer with a learning rate decay.
estimator = tf.estimator.DNNClassifier(
    feature_columns=[categorical_feature_a_emb, categorical_feature_b_emb],
    hidden_units=[1024, 512, 256],
    optimizer=lambda: tf.keras.optimizers.Adam(
        learning_rate=tf.compat.v1.train.exponential_decay(
            learning_rate=0.1,
            global_step=tf.compat.v1.train.get_global_step(),
            decay_steps=10000,
            decay_rate=0.96))

# Or estimator with warm-starting from a previous checkpoint.
estimator = tf.estimator.DNNClassifier(
    feature_columns=[categorical_feature_a_emb, categorical_feature_b_emb],
    hidden_units=[1024, 512, 256],
    warm_start_from="/path/to/checkpoint/dir")

# Input builders
def input_fn_train:
  # Returns tf.data.Dataset of (x, y) tuple where y represents label's class
  # index.
  pass
def input_fn_eval:
  # Returns tf.data.Dataset of (x, y) tuple where y represents label's class
  # index.
  pass
def input_fn_predict:
  # Returns tf.data.Dataset of (x, None) tuple.
  pass
estimator.train(input_fn=input_fn_train)
metrics = estimator.evaluate(input_fn=input_fn_eval)
predictions = estimator.predict(input_fn=input_fn_predict)
 

Entrada del train y evaluate debería haber siguientes características, de lo contrario habrá un KeyError :

  • Si weight_column no es None , una característica con key=weight_column cuyo valor es un Tensor .
  • para cada column en feature_columns :
    • Si column es una CategoricalColumn , una característica con key=column.name cuyo value es un SparseTensor .
    • Si column es una WeightedCategoricalColumn , dos características: la primera con key el nombre de columna ID, el segundo con key el nombre de columna de peso. Ambas características value debe ser un SparseTensor .
    • Si column es una DenseColumn , una característica con key=column.name cuyo value es un Tensor .

La pérdida se calcula utilizando softmax entropía cruzada.

hidden_units Iterable de unidades ocultas Número por capa. Todas las capas están completamente conectados. Ex. [64, 32] medios primera capa tiene 64 nodos y segundo uno tiene 32.
feature_columns Un iterable que contiene todas las columnas de función utilizado por el modelo. Todos los elementos del conjunto deben ser instancias de clases derivadas de _FeatureColumn .
model_dir Directorio para guardar los parámetros del modelo, gráfico, etc Esto también puede ser usado para los puestos de control de carga desde el directorio en un estimador para continuar la formación de un modelo previamente guardado.
n_classes Número de clases de etiquetas. El valor predeterminado es 2, la clasificación a saber binario. Debe ser> 1.
weight_column Una cadena o una NumericColumn creados por tf.feature_column.numeric_column definir columna característica que representa los pesos. Se utiliza para impulsar ejemplos peso o hacia abajo durante el entrenamiento. Se multiplica por la pérdida del ejemplo. Si se trata de una cadena, se utiliza como una clave a buscar tensor de peso de las features . Si se trata de un _NumericColumn , tensor de la prima se trae por la clave weight_column.key , entonces weight_column.normalizer_fn se aplica en él para obtener tensor de peso.
label_vocabulary Una lista de cadenas representa valores posibles de la etiqueta. Si se les da, las etiquetas deben ser de tipo cadena y tienen ningún valor en label_vocabulary . Si no se le da, que las etiquetas de medios que ya se codifican como número entero o flotador dentro de [0, 1] para n_classes=2 y codificados como valores enteros en {0, 1, ..., n_classes-1} para n_classes > 2. También habrá errores si no se proporciona el vocabulario y las etiquetas son de cadena.
optimizer Una instancia de tf.keras.optimizers.* Usado para entrenar el modelo. También puede ser una cadena (uno de 'Adagrad', 'Adán', 'Ftrl', 'RMSProp', SGD '), o exigible. Por defecto es Adagrad optimizador.
activation_fn función de activación aplicada a cada capa. Si None , utilizará tf.nn.relu .
dropout Cuando no None , la probabilidad vamos a abandonar una coordenada dada.
config RunConfig objeto de configurar los ajustes de tiempo de ejecución.
warm_start_from Una ruta de archivo de cadena a un puesto de control de arranque en caliente de productos o la WarmStartSettings objeto a partir calentamiento totalmente configure. Si se proporciona la ruta de archivo de una cadena en lugar WarmStartSettings , a continuación, todos los pesos son empezado-caliente, y se supone que los vocabularios y nombres de tensor no se han modificado.
loss_reduction Uno de tf.losses.Reduction excepto NONE . Describe la forma de reducir la pérdida de la formación sobre lote. Por defecto es SUM_OVER_BATCH_SIZE .
batch_norm Si desea utilizar la normalización de lotes después de cada capa oculta.

Compatibilidad ansiosos

Estimadores se pueden utilizar mientras que la ejecución ansiosa está activado. Tenga en cuenta que input_fn y todos los ganchos se ejecutan dentro de un contexto gráfico, así que tienen que ser escrito para ser compatible con el modo gráfico. Tenga en cuenta que input_fn código usando tf.data general funciona tanto en el modo gráfico y ansiosos.

config

export_savedmodel

model_dir

model_fn Devuelve el model_fn que está obligado a self.params .
params

Métodos

eval_dir

Ver fuente

Muestra el nombre del directorio en el que se vierten métricas de evaluación.

args
name Nombre de la evaluación si las necesidades del usuario para ejecutar múltiples evaluaciones en diferentes conjuntos de datos, como en el entrenamiento de los datos frente a los datos de prueba. Métricas para diferentes evaluaciones se guardan en carpetas separadas, y aparecen por separado en tensorboard.

Devoluciones
Una cadena que es la ruta de directorio contiene métricas de evaluación.

evaluate

Ver fuente

Evalúa la modelo dado datos de la evaluación input_fn .

Para cada paso, las llamadas input_fn , que devuelve un lote de datos. Evalúa hasta que:

args
input_fn Una función que construye los datos de entrada para la evaluación. Ver preparado de antemano estimadores para más información. La función debe construir y devolver uno de los siguientes:

  • A tf.data.Dataset objeto: Salidas de Dataset de objeto debe ser una tupla (features, labels) con mismas restricciones que a continuación.
  • Una tupla (features, labels) : ¿Dónde features es un tf.Tensor o un diccionario de nombre de elemento de cadena para Tensor y labels es una Tensor o un diccionario de nombre de etiqueta cadena a Tensor . Ambas features y labels son consumidos por model_fn . Deben satisfacer las expectativas de model_fn de entradas.
steps