1 # Copyright 2016 The TensorFlow Authors. All Rights Reserved. 2 # 3 # Licensed under the Apache License, Version 2.0 (the "License"); 4 # you may not use this file except in compliance with the License. 5 # You may obtain a copy of the License at 6 # 7 # http://www.apache.org/licenses/LICENSE-2.0 8 # 9 # Unless required by applicable law or agreed to in writing, software 10 # distributed under the License is distributed on an "AS IS" BASIS, 11 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 # See the License for the specific language governing permissions and 13 # limitations under the License. 14 # ============================================================================== 15 """Keras layers API.""" 16 17 from __future__ import absolute_import 18 from __future__ import division 19 from __future__ import print_function 20 21 # Generic layers. 22 # pylint: disable=g-bad-import-order 23 from tensorflow.python.keras.engine.input_layer import Input 24 from tensorflow.python.keras.engine.input_layer import InputLayer 25 from tensorflow.python.keras.engine.input_spec import InputSpec 26 from tensorflow.python.keras.engine.base_layer import Layer 27 28 # Advanced activations. 29 from tensorflow.python.keras.layers.advanced_activations import LeakyReLU 30 from tensorflow.python.keras.layers.advanced_activations import PReLU 31 from tensorflow.python.keras.layers.advanced_activations import ELU 32 from tensorflow.python.keras.layers.advanced_activations import ReLU 33 from tensorflow.python.keras.layers.advanced_activations import ThresholdedReLU 34 from tensorflow.python.keras.layers.advanced_activations import Softmax 35 36 # Convolution layers. 37 from tensorflow.python.keras.layers.convolutional import Conv1D 38 from tensorflow.python.keras.layers.convolutional import Conv2D 39 from tensorflow.python.keras.layers.convolutional import Conv3D 40 from tensorflow.python.keras.layers.convolutional import Conv2DTranspose 41 from tensorflow.python.keras.layers.convolutional import Conv3DTranspose 42 from tensorflow.python.keras.layers.convolutional import SeparableConv1D 43 from tensorflow.python.keras.layers.convolutional import SeparableConv2D 44 45 # Convolution layer aliases. 46 from tensorflow.python.keras.layers.convolutional import Convolution1D 47 from tensorflow.python.keras.layers.convolutional import Convolution2D 48 from tensorflow.python.keras.layers.convolutional import Convolution3D 49 from tensorflow.python.keras.layers.convolutional import Convolution2DTranspose 50 from tensorflow.python.keras.layers.convolutional import Convolution3DTranspose 51 from tensorflow.python.keras.layers.convolutional import SeparableConvolution1D 52 from tensorflow.python.keras.layers.convolutional import SeparableConvolution2D 53 from tensorflow.python.keras.layers.convolutional import DepthwiseConv2D 54 55 # Image processing layers. 56 from tensorflow.python.keras.layers.convolutional import UpSampling1D 57 from tensorflow.python.keras.layers.convolutional import UpSampling2D 58 from tensorflow.python.keras.layers.convolutional import UpSampling3D 59 from tensorflow.python.keras.layers.convolutional import ZeroPadding1D 60 from tensorflow.python.keras.layers.convolutional import ZeroPadding2D 61 from tensorflow.python.keras.layers.convolutional import ZeroPadding3D 62 from tensorflow.python.keras.layers.convolutional import Cropping1D 63 from tensorflow.python.keras.layers.convolutional import Cropping2D 64 from tensorflow.python.keras.layers.convolutional import Cropping3D 65 66 # Core layers. 67 from tensorflow.python.keras.layers.core import Masking 68 from tensorflow.python.keras.layers.core import Dropout 69 from tensorflow.python.keras.layers.core import SpatialDropout1D 70 from tensorflow.python.keras.layers.core import SpatialDropout2D 71 from tensorflow.python.keras.layers.core import SpatialDropout3D 72 from tensorflow.python.keras.layers.core import Activation 73 from tensorflow.python.keras.layers.core import Reshape 74 from tensorflow.python.keras.layers.core import Permute 75 from tensorflow.python.keras.layers.core import Flatten 76 from tensorflow.python.keras.layers.core import RepeatVector 77 from tensorflow.python.keras.layers.core import Lambda 78 from tensorflow.python.keras.layers.core import Dense 79 from tensorflow.python.keras.layers.core import ActivityRegularization 80 81 # Embedding layers. 82 from tensorflow.python.keras.layers.embeddings import Embedding 83 84 # Locally-connected layers. 85 from tensorflow.python.keras.layers.local import LocallyConnected1D 86 from tensorflow.python.keras.layers.local import LocallyConnected2D 87 88 # Merge layers. 89 from tensorflow.python.keras.layers.merge import Add 90 from tensorflow.python.keras.layers.merge import Subtract 91 from tensorflow.python.keras.layers.merge import Multiply 92 from tensorflow.python.keras.layers.merge import Average 93 from tensorflow.python.keras.layers.merge import Maximum 94 from tensorflow.python.keras.layers.merge import Minimum 95 from tensorflow.python.keras.layers.merge import Concatenate 96 from tensorflow.python.keras.layers.merge import Dot 97 from tensorflow.python.keras.layers.merge import add 98 from tensorflow.python.keras.layers.merge import subtract 99 from tensorflow.python.keras.layers.merge import multiply 100 from tensorflow.python.keras.layers.merge import average 101 from tensorflow.python.keras.layers.merge import maximum 102 from tensorflow.python.keras.layers.merge import minimum 103 from tensorflow.python.keras.layers.merge import concatenate 104 from tensorflow.python.keras.layers.merge import dot 105 106 # Noise layers. 107 from tensorflow.python.keras.layers.noise import AlphaDropout 108 from tensorflow.python.keras.layers.noise import GaussianNoise 109 from tensorflow.python.keras.layers.noise import GaussianDropout 110 111 # Normalization layers. 112 from tensorflow.python.keras.layers.normalization import LayerNormalization 113 from tensorflow.python.keras.layers.normalization import BatchNormalization 114 from tensorflow.python.keras.layers.normalization_v2 import BatchNormalization as BatchNormalizationV2 115 116 # Kernelized layers. 117 from tensorflow.python.keras.layers.kernelized import RandomFourierFeatures 118 119 # Pooling layers. 120 from tensorflow.python.keras.layers.pooling import MaxPooling1D 121 from tensorflow.python.keras.layers.pooling import MaxPooling2D 122 from tensorflow.python.keras.layers.pooling import MaxPooling3D 123 from tensorflow.python.keras.layers.pooling import AveragePooling1D 124 from tensorflow.python.keras.layers.pooling import AveragePooling2D 125 from tensorflow.python.keras.layers.pooling import AveragePooling3D 126 from tensorflow.python.keras.layers.pooling import GlobalAveragePooling1D 127 from tensorflow.python.keras.layers.pooling import GlobalAveragePooling2D 128 from tensorflow.python.keras.layers.pooling import GlobalAveragePooling3D 129 from tensorflow.python.keras.layers.pooling import GlobalMaxPooling1D 130 from tensorflow.python.keras.layers.pooling import GlobalMaxPooling2D 131 from tensorflow.python.keras.layers.pooling import GlobalMaxPooling3D 132 133 # Pooling layer aliases. 134 from tensorflow.python.keras.layers.pooling import MaxPool1D 135 from tensorflow.python.keras.layers.pooling import MaxPool2D 136 from tensorflow.python.keras.layers.pooling import MaxPool3D 137 from tensorflow.python.keras.layers.pooling import AvgPool1D 138 from tensorflow.python.keras.layers.pooling import AvgPool2D 139 from tensorflow.python.keras.layers.pooling import AvgPool3D 140 from tensorflow.python.keras.layers.pooling import GlobalAvgPool1D 141 from tensorflow.python.keras.layers.pooling import GlobalAvgPool2D 142 from tensorflow.python.keras.layers.pooling import GlobalAvgPool3D 143 from tensorflow.python.keras.layers.pooling import GlobalMaxPool1D 144 from tensorflow.python.keras.layers.pooling import GlobalMaxPool2D 145 from tensorflow.python.keras.layers.pooling import GlobalMaxPool3D 146 147 # Recurrent layers. 148 from tensorflow.python.keras.layers.recurrent import RNN 149 from tensorflow.python.keras.layers.recurrent import AbstractRNNCell 150 from tensorflow.python.keras.layers.recurrent import StackedRNNCells 151 from tensorflow.python.keras.layers.recurrent import SimpleRNNCell 152 from tensorflow.python.keras.layers.recurrent import GRUCell 153 from tensorflow.python.keras.layers.recurrent import LSTMCell 154 from tensorflow.python.keras.layers.recurrent import PeepholeLSTMCell 155 from tensorflow.python.keras.layers.recurrent import SimpleRNN 156 157 from tensorflow.python.keras.layers.recurrent import GRU 158 from tensorflow.python.keras.layers.recurrent import LSTM 159 from tensorflow.python.keras.layers.recurrent_v2 import GRU as GRU_v2 160 from tensorflow.python.keras.layers.recurrent_v2 import LSTM as LSTM_v2 161 162 # Convolutional-recurrent layers. 163 from tensorflow.python.keras.layers.convolutional_recurrent import ConvLSTM2D 164 165 # CuDNN recurrent layers. 166 from tensorflow.python.keras.layers.cudnn_recurrent import CuDNNLSTM 167 from tensorflow.python.keras.layers.cudnn_recurrent import CuDNNGRU 168 169 # Wrapper functions 170 from tensorflow.python.keras.layers.wrappers import Wrapper 171 from tensorflow.python.keras.layers.wrappers import Bidirectional 172 from tensorflow.python.keras.layers.wrappers import TimeDistributed 173 174 # Serialization functions 175 from tensorflow.python.keras.layers.serialization import deserialize 176 from tensorflow.python.keras.layers.serialization import serialize 177 178 del absolute_import 179 del division 180 del print_function 181