# Module: tf.keras.layers

<br />

|---|
| [![](https://www.tensorflow.org/images/tf_logo_32px.png) TensorFlow 2 version](https://www.tensorflow.org/api_docs/python/tf/keras/layers) |

Keras layers API.

#### View aliases


**Compat aliases for migration**

See
[Migration guide](https://www.tensorflow.org/guide/migrate) for
more details.

[`tf.compat.v1.keras.layers`](https://www.tensorflow.org/api_docs/python/tf/compat/v1/keras/layers)

<br />

## Classes

[`class AbstractRNNCell`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/keras/layers/AbstractRNNCell): Abstract object representing an RNN cell.

[`class Activation`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/keras/layers/Activation): Applies an activation function to an output.

[`class ActivityRegularization`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/keras/layers/ActivityRegularization): Layer that applies an update to the cost function based input activity.

[`class Add`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/keras/layers/Add): Layer that adds a list of inputs.

[`class AdditiveAttention`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/keras/layers/AdditiveAttention): Additive attention layer, a.k.a. Bahdanau-style attention.

[`class AlphaDropout`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/keras/layers/AlphaDropout): Applies Alpha Dropout to the input.

[`class Attention`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/keras/layers/Attention): Dot-product attention layer, a.k.a. Luong-style attention.

[`class Average`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/keras/layers/Average): Layer that averages a list of inputs.

[`class AveragePooling1D`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/keras/layers/AveragePooling1D): Average pooling for temporal data.

[`class AveragePooling2D`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/keras/layers/AveragePooling2D): Average pooling operation for spatial data.

[`class AveragePooling3D`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/keras/layers/AveragePooling3D): Average pooling operation for 3D data (spatial or spatio-temporal).

[`class AvgPool1D`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/keras/layers/AveragePooling1D): Average pooling for temporal data.

[`class AvgPool2D`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/keras/layers/AveragePooling2D): Average pooling operation for spatial data.

[`class AvgPool3D`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/keras/layers/AveragePooling3D): Average pooling operation for 3D data (spatial or spatio-temporal).

[`class BatchNormalization`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/keras/layers/BatchNormalization): Base class of Batch normalization layer (Ioffe and Szegedy, 2014).

[`class Bidirectional`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/keras/layers/Bidirectional): Bidirectional wrapper for RNNs.

[`class Concatenate`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/keras/layers/Concatenate): Layer that concatenates a list of inputs.

[`class Conv1D`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/keras/layers/Conv1D): 1D convolution layer (e.g. temporal convolution).

[`class Conv2D`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/keras/layers/Conv2D): 2D convolution layer (e.g. spatial convolution over images).

[`class Conv2DTranspose`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/keras/layers/Conv2DTranspose): Transposed convolution layer (sometimes called Deconvolution).

[`class Conv3D`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/keras/layers/Conv3D): 3D convolution layer (e.g. spatial convolution over volumes).

[`class Conv3DTranspose`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/keras/layers/Conv3DTranspose): Transposed convolution layer (sometimes called Deconvolution).

[`class ConvLSTM2D`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/keras/layers/ConvLSTM2D): Convolutional LSTM.

[`class Convolution1D`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/keras/layers/Conv1D): 1D convolution layer (e.g. temporal convolution).

[`class Convolution2D`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/keras/layers/Conv2D): 2D convolution layer (e.g. spatial convolution over images).

[`class Convolution2DTranspose`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/keras/layers/Conv2DTranspose): Transposed convolution layer (sometimes called Deconvolution).

[`class Convolution3D`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/keras/layers/Conv3D): 3D convolution layer (e.g. spatial convolution over volumes).

[`class Convolution3DTranspose`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/keras/layers/Conv3DTranspose): Transposed convolution layer (sometimes called Deconvolution).

[`class Cropping1D`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/keras/layers/Cropping1D): Cropping layer for 1D input (e.g. temporal sequence).

[`class Cropping2D`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/keras/layers/Cropping2D): Cropping layer for 2D input (e.g. picture).

[`class Cropping3D`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/keras/layers/Cropping3D): Cropping layer for 3D data (e.g. spatial or spatio-temporal).

[`class CuDNNGRU`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/keras/layers/CuDNNGRU): Fast GRU implementation backed by cuDNN.

[`class CuDNNLSTM`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/keras/layers/CuDNNLSTM): Fast LSTM implementation backed by cuDNN.

[`class Dense`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/keras/layers/Dense): Just your regular densely-connected NN layer.

[`class DenseFeatures`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/keras/layers/DenseFeatures): A layer that produces a dense `Tensor` based on given `feature_columns`.

[`class DepthwiseConv2D`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/keras/layers/DepthwiseConv2D): Depthwise separable 2D convolution.

[`class Dot`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/keras/layers/Dot): Layer that computes a dot product between samples in two tensors.

[`class Dropout`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/keras/layers/Dropout): Applies Dropout to the input.

[`class ELU`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/keras/layers/ELU): Exponential Linear Unit.

[`class Embedding`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/keras/layers/Embedding): Turns positive integers (indexes) into dense vectors of fixed size.

[`class Flatten`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/keras/layers/Flatten): Flattens the input. Does not affect the batch size.

[`class GRU`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/keras/layers/GRU): Gated Recurrent Unit - Cho et al. 2014.

[`class GRUCell`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/keras/layers/GRUCell): Cell class for the GRU layer.

[`class GaussianDropout`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/keras/layers/GaussianDropout): Apply multiplicative 1-centered Gaussian noise.

[`class GaussianNoise`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/keras/layers/GaussianNoise): Apply additive zero-centered Gaussian noise.

[`class GlobalAveragePooling1D`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/keras/layers/GlobalAveragePooling1D): Global average pooling operation for temporal data.

[`class GlobalAveragePooling2D`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/keras/layers/GlobalAveragePooling2D): Global average pooling operation for spatial data.

[`class GlobalAveragePooling3D`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/keras/layers/GlobalAveragePooling3D): Global Average pooling operation for 3D data.

[`class GlobalAvgPool1D`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/keras/layers/GlobalAveragePooling1D): Global average pooling operation for temporal data.

[`class GlobalAvgPool2D`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/keras/layers/GlobalAveragePooling2D): Global average pooling operation for spatial data.

[`class GlobalAvgPool3D`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/keras/layers/GlobalAveragePooling3D): Global Average pooling operation for 3D data.

[`class GlobalMaxPool1D`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/keras/layers/GlobalMaxPool1D): Global max pooling operation for temporal data.

[`class GlobalMaxPool2D`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/keras/layers/GlobalMaxPool2D): Global max pooling operation for spatial data.

[`class GlobalMaxPool3D`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/keras/layers/GlobalMaxPool3D): Global Max pooling operation for 3D data.

[`class GlobalMaxPooling1D`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/keras/layers/GlobalMaxPool1D): Global max pooling operation for temporal data.

[`class GlobalMaxPooling2D`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/keras/layers/GlobalMaxPool2D): Global max pooling operation for spatial data.

[`class GlobalMaxPooling3D`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/keras/layers/GlobalMaxPool3D): Global Max pooling operation for 3D data.

[`class InputLayer`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/keras/layers/InputLayer): Layer to be used as an entry point into a Network (a graph of layers).

[`class InputSpec`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/layers/InputSpec): Specifies the ndim, dtype and shape of every input to a layer.

[`class LSTM`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/keras/layers/LSTM): Long Short-Term Memory layer - Hochreiter 1997.

[`class LSTMCell`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/keras/layers/LSTMCell): Cell class for the LSTM layer.

[`class Lambda`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/keras/layers/Lambda): Wraps arbitrary expressions as a `Layer` object.

[`class Layer`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/keras/layers/Layer): Base layer class.

[`class LayerNormalization`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/keras/layers/LayerNormalization): Layer normalization layer (Ba et al., 2016).

[`class LeakyReLU`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/keras/layers/LeakyReLU): Leaky version of a Rectified Linear Unit.

[`class LocallyConnected1D`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/keras/layers/LocallyConnected1D): Locally-connected layer for 1D inputs.

[`class LocallyConnected2D`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/keras/layers/LocallyConnected2D): Locally-connected layer for 2D inputs.

[`class Masking`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/keras/layers/Masking): Masks a sequence by using a mask value to skip timesteps.

[`class MaxPool1D`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/keras/layers/MaxPool1D): Max pooling operation for temporal data.

[`class MaxPool2D`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/keras/layers/MaxPool2D): Max pooling operation for spatial data.

[`class MaxPool3D`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/keras/layers/MaxPool3D): Max pooling operation for 3D data (spatial or spatio-temporal).

[`class MaxPooling1D`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/keras/layers/MaxPool1D): Max pooling operation for temporal data.

[`class MaxPooling2D`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/keras/layers/MaxPool2D): Max pooling operation for spatial data.

[`class MaxPooling3D`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/keras/layers/MaxPool3D): Max pooling operation for 3D data (spatial or spatio-temporal).

[`class Maximum`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/keras/layers/Maximum): Layer that computes the maximum (element-wise) a list of inputs.

[`class Minimum`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/keras/layers/Minimum): Layer that computes the minimum (element-wise) a list of inputs.

[`class Multiply`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/keras/layers/Multiply): Layer that multiplies (element-wise) a list of inputs.

[`class PReLU`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/keras/layers/PReLU): Parametric Rectified Linear Unit.

[`class Permute`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/keras/layers/Permute): Permutes the dimensions of the input according to a given pattern.

[`class RNN`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/keras/layers/RNN): Base class for recurrent layers.

[`class ReLU`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/keras/layers/ReLU): Rectified Linear Unit activation function.

[`class RepeatVector`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/keras/layers/RepeatVector): Repeats the input n times.

[`class Reshape`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/keras/layers/Reshape): Reshapes an output to a certain shape.

[`class SeparableConv1D`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/keras/layers/SeparableConv1D): Depthwise separable 1D convolution.

[`class SeparableConv2D`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/keras/layers/SeparableConv2D): Depthwise separable 2D convolution.

[`class SeparableConvolution1D`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/keras/layers/SeparableConv1D): Depthwise separable 1D convolution.

[`class SeparableConvolution2D`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/keras/layers/SeparableConv2D): Depthwise separable 2D convolution.

[`class SimpleRNN`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/keras/layers/SimpleRNN): Fully-connected RNN where the output is to be fed back to input.

[`class SimpleRNNCell`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/keras/layers/SimpleRNNCell): Cell class for SimpleRNN.

[`class Softmax`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/keras/layers/Softmax): Softmax activation function.

[`class SpatialDropout1D`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/keras/layers/SpatialDropout1D): Spatial 1D version of Dropout.

[`class SpatialDropout2D`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/keras/layers/SpatialDropout2D): Spatial 2D version of Dropout.

[`class SpatialDropout3D`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/keras/layers/SpatialDropout3D): Spatial 3D version of Dropout.

[`class StackedRNNCells`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/keras/layers/StackedRNNCells): Wrapper allowing a stack of RNN cells to behave as a single cell.

[`class Subtract`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/keras/layers/Subtract): Layer that subtracts two inputs.

[`class ThresholdedReLU`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/keras/layers/ThresholdedReLU): Thresholded Rectified Linear Unit.

[`class TimeDistributed`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/keras/layers/TimeDistributed): This wrapper allows to apply a layer to every temporal slice of an input.

[`class UpSampling1D`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/keras/layers/UpSampling1D): Upsampling layer for 1D inputs.

[`class UpSampling2D`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/keras/layers/UpSampling2D): Upsampling layer for 2D inputs.

[`class UpSampling3D`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/keras/layers/UpSampling3D): Upsampling layer for 3D inputs.

[`class Wrapper`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/keras/layers/Wrapper): Abstract wrapper base class.

[`class ZeroPadding1D`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/keras/layers/ZeroPadding1D): Zero-padding layer for 1D input (e.g. temporal sequence).

[`class ZeroPadding2D`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/keras/layers/ZeroPadding2D): Zero-padding layer for 2D input (e.g. picture).

[`class ZeroPadding3D`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/keras/layers/ZeroPadding3D): Zero-padding layer for 3D data (spatial or spatio-temporal).

## Functions

[`Input(...)`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/keras/Input): `Input()` is used to instantiate a Keras tensor.

[`add(...)`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/keras/layers/add): Functional interface to the `Add` layer.

[`average(...)`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/keras/layers/average): Functional interface to the `Average` layer.

[`concatenate(...)`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/keras/layers/concatenate): Functional interface to the `Concatenate` layer.

[`deserialize(...)`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/keras/layers/deserialize): Instantiates a layer from a config dictionary.

[`dot(...)`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/keras/layers/dot): Functional interface to the `Dot` layer.

[`maximum(...)`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/keras/layers/maximum): Functional interface to the `Maximum` layer that computes

[`minimum(...)`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/keras/layers/minimum): Functional interface to the `Minimum` layer.

[`multiply(...)`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/keras/layers/multiply): Functional interface to the `Multiply` layer.

[`serialize(...)`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/keras/layers/serialize)

[`subtract(...)`](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/keras/layers/subtract): Functional interface to the `Subtract` layer.