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

tf.estimator.experimental.RNNClassifier

Ver código fuente en GitHub

Un clasificador para los modelos TensorFlow RNN.

Hereda de: RNNEstimator

Trenes un modelo de red neuronal recurrente a instancias Clasificar en una de varias clases.

Ejemplo:

 token_sequence = sequence_categorical_column_with_hash_bucket(...)
token_emb = embedding_column(categorical_column=token_sequence, ...)

estimator = RNNClassifier(
    sequence_feature_columns=[token_emb],
    units=[32, 16], cell_type='lstm')

# Input builders
def input_fn_train: # returns x, y
  pass
estimator.train(input_fn=input_fn_train, steps=100)

def input_fn_eval: # returns x, y
  pass
metrics = estimator.evaluate(input_fn=input_fn_eval, steps=10)
def input_fn_predict: # returns x, None
  pass
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 sequence_feature_columns :
    • una característica con key=column.name cuyo value es un SparseTensor .
  • para cada column en context_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.

sequence_feature_columns Un iterable que contiene los FeatureColumn s que representan la entrada secuencial. Todos los elementos en el conjunto debe ser o bien la secuencia de columnas (por ejemplo sequence_numeric_column ) o construidas a partir de uno (por ejemplo embedding_column con sequence_categorical_column_* como entrada).
context_feature_columns Un iterable que contiene el FeatureColumn s para la entrada contextual. Los datos representados por estas columnas se replicarán y dados a la RNN en cada paso de tiempo. Estas columnas deben ser instancias de clases derivadas de DenseColumn tales como numeric_column , no el secuencial variantes.
units Iterable de número entero número de unidades ocultas por capa RNN. Si se establece, cell_type También se debe especificar y rnn_cell_fn debe ser None .
cell_type Una clase de fabricación de una pila RNN o una cadena que especifica el tipo de célula. Cuerdas soportados son: 'simple_rnn' , 'lstm' , y 'gru' . Si se establece, units también deben especificarse y rnn_cell_fn deben ser None .
rnn_cell_fn Una función que devuelve una instancia de célula RNN que será utilizado para construir el RNN. Si se establece, units y cell_type no se pueden ajustar. Esto es para usuarios avanzados que necesitan personalización adicional más allá de units y cell_type . Tenga en cuenta que tf.keras.layers.StackedRNNCells es necesario para RNNs apilados.
return_sequences Un booleano que indica si se debe devolver la última salida en la secuencia de salida, o la secuencia completa. Tenga en cuenta que si es cierto, weight_column debe ser None o una cadena.
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.Optimizer o cadena que especifica el tipo optimizador. Por defecto es Adagrad optimizador.
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 .
sequence_mask Una cadena con el nombre del tensor de la máscara de secuencia. Si sequence_mask está en las características de diccionario, se utiliza el tensor proporcionado, de lo contrario la máscara de secuencia se calcula a partir de la longitud de características secuenciales. La secuencia de máscara se utiliza en el modo de evaluación y capacitación a la pérdida y la métrica agregada cómputo excluyendo los pasos de relleno. También se añade a las predicciones diccionario en el modo de predicción para indicar qué pasos son relleno.
config RunConfig objeto de configurar los ajustes de tiempo de ejecución.

ValueError Si units , cell_type y rnn_cell_fn no son compatibles.

Compatibilidad ansiosos

Estimadores no son compatibles con la ejecución ansiosos.

config

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 Número de pasos para la cual evaluar modelo. Si None , evalúa hasta input_fn genera una excepción al final de la entrada.
hooks Lista de tf.train.SessionRunHook casos subclase. Se utiliza para las devoluciones de llamada dentro de la llamada evaluación.
checkpoint