Este team de especialistas pasados varios días de investigación y de juntar de información, obtuvimos la solución, esperamos que todo este artículo sea de gran utilidad en tu plan.
Ver fuente en GitHub |
LSTM convolucional.
Hereda de: RNN
, Layer
, Module
Ver alias
Compat alias para la migración
Ver Guía de migración para más detalles.
tf.keras.layers.ConvLSTM2D( filters, kernel_size, strides=(1,1), padding='valid', data_format=None, dilation_rate=(1,1), activation='tanh', recurrent_activation='hard_sigmoid', use_bias=True, kernel_initializer='glorot_uniform', recurrent_initializer='orthogonal', bias_initializer='zeros', unit_forget_bias=True, kernel_regularizer=None, recurrent_regularizer=None, bias_regularizer=None, activity_regularizer=None, kernel_constraint=None, recurrent_constraint=None, bias_constraint=None, return_sequences=False, return_state=False, go_backwards=False, stateful=False, dropout=0.0, recurrent_dropout=0.0,**kwargs )
Es similar a una capa LSTM, pero las transformaciones de entrada y las transformaciones recurrentes son convolucionales.
Argumentos | |
---|---|
filters |
Entero, la dimensionalidad del espacio de salida (es decir, el número de filtros de salida en la convolución). |
kernel_size |
Un número entero o tupla / lista de n números enteros, que especifica las dimensiones de la ventana de convolución. |
strides |
Un número entero o tupla / lista de n números enteros, que especifica los pasos de la convolución. ¡Especificar cualquier valor de zancada! = 1 es incompatible con especificar cualquier dilation_rate valor! = 1. |
padding |
Uno de "valid" o "same" (no distingue entre mayúsculas y minúsculas). "valid" significa que no hay relleno. "same" da como resultado un relleno uniforme hacia la izquierda / derecha o hacia arriba / abajo de la entrada, de modo que la salida tiene la misma dimensión de altura / ancho que la entrada. |
data_format |
A string, uno de channels_last (predeterminado) o channels_first . El orden de las dimensiones en las entradas. channels_last corresponde a entradas con forma (batch, time, ..., channels) tiempo channels_first corresponde a entradas con forma (batch, time, channels, ...) . Por defecto es image_data_format valor encontrado en su archivo de configuración de Keras en ~/.keras/keras.json . Si nunca lo configura, será “channels_last”. |
dilation_rate |
Un número entero o tupla / lista de n números enteros, que especifica la tasa de dilatación que se utilizará para la convolución dilatada. Actualmente, especificando cualquier dilation_rate valor! = 1 es incompatible con especificar cualquier strides valor! = 1. |
activation |
Función de activación a utilizar. Por defecto, se aplica la función de activación de la tangente hiperbólica (tanh(x) ). |
recurrent_activation |
Función de activación a utilizar para el paso recurrente. |
use_bias |
Booleano, si la capa utiliza un vector de sesgo. |
kernel_initializer |
Inicializador para el kernel matriz de ponderaciones, utilizada para la transformación lineal de las entradas. |
recurrent_initializer |
Inicializador para el recurrent_kernel matriz de ponderaciones, utilizada para la transformación lineal del estado recurrente. |
bias_initializer |
Inicializador para el vector de polarización. |
unit_forget_bias |
Booleano. Si es verdadero, agregue 1 al sesgo de la puerta de olvido en la inicialización. Usar en combinación con bias_initializer="zeros" . Esto se recomienda en Jozefowicz et al., 2015 |
kernel_regularizer |
Función de regularizador aplicada al kernel matriz de pesos. |
recurrent_regularizer |
Función de regularizador aplicada al recurrent_kernel matriz de pesos. |
bias_regularizer |
Función de regularizador aplicada al vector de sesgo. |
activity_regularizer |
Se aplica la función de regularizador a. |
kernel_constraint |
Función de restricción aplicada a la kernel matriz de pesos. |
recurrent_constraint |
Función de restricción aplicada a la recurrent_kernel matriz de pesos. |
bias_constraint |
Función de restricción aplicada al vector de sesgo. |
return_sequences |
Booleano. Ya sea para devolver la última salida en la secuencia de salida o la secuencia completa. (predeterminado falso) |
return_state |
Booleano Si se debe devolver el último estado además de la salida. (predeterminado falso) |
go_backwards |
Booleano (por defecto Falso). Si es Verdadero, procese la secuencia de entrada al revés. |
stateful |
Booleano (por defecto Falso). Si es Verdadero, el último estado de cada muestra en el índice i en un lote se utilizará como estado inicial para la muestra del índice i en el siguiente lote. |
dropout |
Flotar entre 0 y 1. Fracción de las unidades a eliminar para la transformación lineal de las entradas. |
recurrent_dropout |
Flotar entre 0 y 1. Fracción de las unidades a eliminar para la transformación lineal del estado recurrente. |
Argumentos de llamada:
inputs
: Un tensor 5D.mask
: Tensor binario de forma(samples, timesteps)
que indica si se debe enmascarar un intervalo de tiempo determinado.training
: Python booleano que indica si la capa debe comportarse en modo de entrenamiento o en modo de inferencia. Este argumento se pasa a la celda al llamarlo. Esto solo es relevante sidropout
orecurrent_dropout
se establecen.initial_state
: Lista de tensores de estado inicial que se pasarán a la primera llamada de la celda.
Forma de entrada:
- Si data_format = ‘channels_first’ tensor 5D con forma:
(samples, time, channels, rows, cols)
- Si data_format = ‘channels_last’ tensor 5D con forma:
(samples, time, rows, cols, channels)
Forma de salida:
- Si
return_state
: una lista de tensores. El primer tensor es la salida. Los tensores restantes son los últimos estados, cada tensor 4D con forma:(samples, filters, new_rows, new_cols)
if data_format = ‘channels_first’ o tensor 4D con forma:(samples, new_rows, new_cols, filters)
si data_format = ‘channels_last’.rows
ycols
los valores pueden haber cambiado debido al relleno. - Si
return_sequences
: Tensor 5D con forma:(samples, timesteps, filters, new_rows, new_cols)
if data_format = ‘channels_first’ o tensor 5D con forma:(samples, timesteps, new_rows, new_cols, filters)
si data_format = ‘channels_last’. - De lo contrario, tensor 4D con forma:
(samples, filters, new_rows, new_cols)
if data_format = ‘channels_first’ o tensor 4D con forma:(samples, new_rows, new_cols, filters)
si data_format = ‘channels_last’.
Eleva | |
---|---|
ValueError |
en caso de argumentos de constructor no válidos. |
Referencias:
- Shi et al., 2015 (la implementación actual no incluye el circuito de retroalimentación en la salida de las celdas).
Atributos | |
---|---|
activation |
|
bias_constraint |
|
bias_initializer |
|
bias_regularizer |
|
data_format |
|
dilation_rate |
|
dropout |
|
filters |
|
kernel_constraint |
|
kernel_initializer |
|
kernel_regularizer |
|
kernel_size |
|
padding |
|
recurrent_activation |
|
recurrent_constraint |
|
recurrent_dropout |
|
recurrent_initializer |
|
recurrent_regularizer |
|
states |
|
strides |
|
unit_forget_bias |
|
use_bias |
Métodos
reset_states
reset_states( states=None)
Restablezca los estados registrados para la capa RNN con estado.
Solo se puede usar cuando la capa RNN se construye con stateful
= True
. Args: states: matrices Numpy que contienen el valor para el estado inicial, que se alimentará a la celda en el primer paso de tiempo. Cuando el valor es Ninguno, cero lleno numpy array se creará en función del tamaño del estado de la celda.
Eleva | |
---|---|
AttributeError |
Cuando la capa RNN no tiene estado. |
ValueError |
Cuando se desconoce el tamaño del lote de la capa RNN. |
ValueError |
Cuando la entrada numpy array no es compatible con el estado de la capa RNN, ya sea por tamaño o por tipo. |
Reseñas y puntuaciones
Si estás de acuerdo, puedes dejar un ensayo acerca de qué le añadirías a este post.