Queremos mostrarte la mejor respuesta que encontramos en línea. Esperamos que te resulte de utilidad y si deseas compartir alguna mejora hazlo con total libertad.
Ver fuente en GitHub |
Solo su capa NN densamente conectada normal.
Hereda de: Layer
, Module
Ver alias
Alias de compatibilidad para la migración
Ver Guía de migración para más detalles.
tf.keras.layers.Dense( units, activation=None, use_bias=True, kernel_initializer='glorot_uniform', bias_initializer='zeros', kernel_regularizer=None, bias_regularizer=None, activity_regularizer=None, kernel_constraint=None, bias_constraint=None,**kwargs )
Dense
implementa la operación: output = activation(dot(input, kernel) + bias)
donde activation
es la función de activación elemento-sabia pasada como la activation
argumento, kernel
es una matriz de pesos creada por la capa, y bias
es un vector de sesgo creado por la capa (solo aplicable si use_bias
es True
).
Nota: Si la entrada a la capa tiene un rango mayor que 2, entonces
Dense
calcula el producto escalar entre elinputs
y elkernel
a lo largo del último eje de lainputs
y el eje 1 delkernel
(utilizandotf.tensordot
). Por ejemplo, si la entrada tiene dimensiones(batch_size, d0, d1)
entonces creamos unkernel
con forma(d1, units)
y elkernel
opera a lo largo del eje 2 delinput
en cada subtensor de forma(1, 1, d1)
(existenbatch_size * d0
tales subtensores). La salida en este caso tendrá forma(batch_size, d0, units)
.
Además, capa attributes no se puede modificar después de que la capa se haya llamado una vez (excepto el trainable
attribute).
Ejemplo:
# Create a `Sequential` model and add a Dense layer as the first layer. model = tf.keras.models.Sequential() model.add(tf.keras.Input(shape=(16,))) model.add(tf.keras.layers.Dense(32, activation='relu'))# Now the model will take as input arrays of shape (None, 16)# and output arrays of shape (None, 32).# Note that after the first layer, you don't need to specify# the size of the input anymore: model.add(tf.keras.layers.Dense(32)) model.output_shape (None,32)
Argumentos | |
---|---|
units |
Entero positivo, dimensionalidad del espacio de salida. |
activation |
Función de activación a utilizar. Si no especifica nada, no se aplica ninguna activación (es decir, activación “lineal”: a(x) = x ). |
use_bias |
Booleano, si la capa usa un vector de sesgo. |
kernel_initializer |
Inicializador para el kernel matriz de pesos |
bias_initializer |
Inicializador para el vector de polarización. |
kernel_regularizer |
Función de regularizador aplicada a la kernel matriz de pesos |
bias_regularizer |
Función de regularizador aplicada al vector de polarización. |
activity_regularizer |
Función de regularizador aplicada a la salida de la capa (su “activación”). |
kernel_constraint |
Función de restricción aplicada a la kernel matriz de pesos |
bias_constraint |
Función de restricción aplicada al vector de polarización. |
Forma de entrada:
Tensor ND con forma: (batch_size, ..., input_dim)
. La situación más común sería una entrada 2D con forma (batch_size, input_dim)
.
Forma de salida:
Tensor ND con forma: (batch_size, ..., units)
. Por ejemplo, para una entrada 2D con forma (batch_size, input_dim)
la salida tendría forma (batch_size, units)
.
Comentarios y calificaciones del tutorial
Al final de todo puedes encontrar las críticas de otros sys admins, tú además puedes mostrar el tuyo si dominas el tema.