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

tf.keras.optimizers.Ftrl

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

Optimizador que implementa el algoritmo FTRL.

Hereda de: Optimizer

Ver Algoritmo 1 de este documento . Esta versión cuenta con soporte tanto para L2 en línea (la pena de L2 dado en el documento anterior) y de tipo de contracción L2 (que es la adición de una pena de L2 a la función de pérdida).

learning_rate Un Tensor , valor en puntos, o un horario que es un flotante tf.keras.optimizers.schedules.LearningRateSchedule . La tasa de aprendizaje.
learning_rate_power Un valor flotante, debe ser menor o igual a cero. Controla la forma en la tasa de aprendizaje disminuye durante el entrenamiento. Use cero para una tasa de aprendizaje fijo.
initial_accumulator_value El valor de partida para acumuladores. Sólo cero o se permiten valores positivos.
l1_regularization_strength Un valor flotante, debe ser mayor que o igual a cero.
l2_regularization_strength Un valor flotante, debe ser mayor que o igual a cero.
name Opcional prefijo de nombre para las operaciones creado al aplicar gradientes. Por defecto es "Ftrl" .
l2_shrinkage_regularization_strength Un valor flotante, debe ser mayor que o igual a cero. Esto difiere de L2 anteriormente en que la L2 de arriba es una pena de estabilización, mientras que esta contracción L2 es una pena de magnitud. Cuando la entrada está contracción escasa sólo ocurrirá en los pesos activos.
**kwargs argumentos de palabra clave. Permitido ser uno de "clipnorm" o "clipvalue" . "clipnorm" clips gradientes por norma (float); "clipvalue" (float) Clips gradientes por valor.

Referencia:

name Una cadena no vacía. El nombre que se utilizará para acumuladores creados para el optimizador.
**kwargs argumentos de palabra clave. Permitido ser { clipnorm , clipvalue , lr , decay }. clipnorm es gradientes de clip por norma; clipvalue es gradientes de clip de valor, decay se incluye por compatibilidad hacia atrás para permitir que la decadencia de tiempo dependiente de la tasa de aprendizaje. lr se incluye para la compatibilidad con versiones anteriores, recomienda el uso de learning_rate lugar.

ValueError Si está mal formado nombre.

iterations Variable. El número de los pasos de formación de este optimizador se ha ejecutado.
weights Devoluciones variables de este optimizador basado en el orden creado.

Métodos

add_slot

Ver fuente

Agregar una nueva variable ranura para var .

add_weight

Ver fuente

apply_gradients

Ver fuente

Aplicar gradientes a las variables.

Esta es la segunda parte de minimize() . Devuelve una Operation que se aplica gradientes.

El método resume gradientes de todas las réplicas en presencia de tf.distribute.Strategy por defecto. Puede agregarse gradientes mismo pasando experimental_aggregate_gradients=False .

Ejemplo:

 grads = tape.gradient(loss, vars)
grads = tf.distribute.get_replica_context().all_reduce('sum', grads)
# Processing aggregated gradients.
optimizer.apply_gradients(zip(grads, vars),
    experimental_aggregate_gradients=False)

 

args
grads_and_vars Lista de (gradiente, variables) pares.
name nombre opcional para la operación devuelto. Por defecto al nombre pasa al Optimizer constructor.
experimental_aggregate_gradients Ya sea para resumir los gradientes de diferentes réplicas en el presense de tf.distribute.Strategy . Si es falso, es responsabilidad de los usuarios agregar los gradientes. Por defecto en True.

Devoluciones
Una Operation que aplica los gradientes especificados. Las iterations se incrementarán automáticamente por 1.

aumentos
TypeError Si grads_and_vars está mal formado.
ValueError Si ninguna de las variables tiene gradientes.

from_config

Ver fuente

Crea un optimizador de su configuración.

Este método es el reverso de get_config , capaz de crear instancias de la misma optimizador del diccionario config.

argumentos
config Un diccionario de Python, normalmente la salida de GET_CONFIG.
custom_objects Un pitón nombres diccionario de mapeo a Python adicional objetos utilizados para crear esta optimizador, como una función que se utiliza para un hiperparámetro.

Devoluciones
Una instancia optimizador.

get_config

Ver fuente

Devuelve la configuración del optimizador.

Un config optimizador es un diccionario Python (serializable) que contiene la configuración de un optimizador. El mismo optimizador puede reinstantiated después (sin ningún estado guardado) a partir de esta configuración.

Devoluciones
diccionario de Python.

get_gradients

Ver fuente

Devuelve gradientes de loss con respecto al params .

argumentos
loss tensor de la pérdida.
params Lista de variables.

Devoluciones
Lista de los tensores de gradiente.

aumentos
ValueError En caso de que cualquier gradiente no se puede calcular (por ejemplo, si la función de gradiente no implementado).

get_slot

Ver fuente

get_slot_names

Ver fuente

Una lista de los nombres de las ranuras de este optimizador.

get_updates

Ver fuente

get_weights

Ver fuente

Devuelve los pesos actuales del optimizador.

Los pesos de un optimizador son su estado (es decir, variables). Esta función devuelve los valores de peso asociados con este optimizador como una lista de matrices NumPy. El primer valor es siempre cuentan las iteraciones del optimizador, seguido de las variables de estado del optimizador en el orden en que fueron creados. La lista devuelta a su vez puede ser utilizado para estado de carga en los optimizadores parametrizados de forma similar.

Por ejemplo, el optimizador RMSprop para este modelo simple devuelve una lista de tres values-- el recuento de iteración, seguido por el valor de la raíz--cuadrado medio del núcleo y el sesgo de la capa densa única:

opt = tf.keras.optimizers.RMSprop()
m = tf.keras.models.Sequential([tf.keras.layers.Dense(10)])
m.compile(opt, loss='mse')
data = np.arange(100).reshape(5, 20)
labels = np.zeros(5)
print('Training'); results = m.fit(data, labels)
Training ...
len(opt.get_weights())
3

Devoluciones
los valores de los pesos como una lista de matrices numpy.

minimize

Ver fuente

Reducir al mínimo loss de actualización var_list .

Este método simplemente calcula gradiente usando tf.GradientTape y llamadas apply_gradients() . Si desea procesar el gradiente antes de aplicar luego llamar tf.GradientTape y apply_gradients() de forma explícita en lugar de utilizar esta función.

args
loss A exigible sin argumentos que devuelve el valor para reducir al mínimo.
var_list lista o tupla de Variable objetos de actualización para reducir al mínimo loss , o una exigible devolver la lista o tupla de Variable objetos. Utilice exigible cuando