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 17from __future__ import absolute_import 18from __future__ import division 19from __future__ import print_function 20 21# Generic layers. 22# pylint: disable=g-bad-import-order 23from tensorflow.python.keras.engine.input_spec import InputSpec 24from tensorflow.python.keras.engine.base_layer import Layer 25from tensorflow.python.keras.engine.input_layer import Input 26from tensorflow.python.keras.engine.input_layer import InputLayer 27 28# Advanced activations. 29from tensorflow.python.keras.layers.advanced_activations import LeakyReLU 30from tensorflow.python.keras.layers.advanced_activations import PReLU 31from tensorflow.python.keras.layers.advanced_activations import ELU 32from tensorflow.python.keras.layers.advanced_activations import ThresholdedReLU 33 34# Convolution layers. 35from tensorflow.python.keras.layers.convolutional import Conv1D 36from tensorflow.python.keras.layers.convolutional import Conv2D 37from tensorflow.python.keras.layers.convolutional import Conv3D 38from tensorflow.python.keras.layers.convolutional import Conv2DTranspose 39from tensorflow.python.keras.layers.convolutional import Conv3DTranspose 40from tensorflow.python.keras.layers.convolutional import SeparableConv2D 41 42# Convolution layer aliases. 43from tensorflow.python.keras.layers.convolutional import Convolution1D 44from tensorflow.python.keras.layers.convolutional import Convolution2D 45from tensorflow.python.keras.layers.convolutional import Convolution3D 46from tensorflow.python.keras.layers.convolutional import Convolution2DTranspose 47from tensorflow.python.keras.layers.convolutional import Convolution3DTranspose 48from tensorflow.python.keras.layers.convolutional import SeparableConvolution2D 49 50# Image processing layers. 51from tensorflow.python.keras.layers.convolutional import UpSampling1D 52from tensorflow.python.keras.layers.convolutional import UpSampling2D 53from tensorflow.python.keras.layers.convolutional import UpSampling3D 54from tensorflow.python.keras.layers.convolutional import ZeroPadding1D 55from tensorflow.python.keras.layers.convolutional import ZeroPadding2D 56from tensorflow.python.keras.layers.convolutional import ZeroPadding3D 57from tensorflow.python.keras.layers.convolutional import Cropping1D 58from tensorflow.python.keras.layers.convolutional import Cropping2D 59from tensorflow.python.keras.layers.convolutional import Cropping3D 60 61# Convolutional-recurrent layers. 62from tensorflow.python.keras.layers.convolutional_recurrent import ConvLSTM2D 63 64# Core layers. 65from tensorflow.python.keras.layers.core import Masking 66from tensorflow.python.keras.layers.core import Dropout 67from tensorflow.python.keras.layers.core import SpatialDropout1D 68from tensorflow.python.keras.layers.core import SpatialDropout2D 69from tensorflow.python.keras.layers.core import SpatialDropout3D 70from tensorflow.python.keras.layers.core import Activation 71from tensorflow.python.keras.layers.core import Reshape 72from tensorflow.python.keras.layers.core import Permute 73from tensorflow.python.keras.layers.core import Flatten 74from tensorflow.python.keras.layers.core import RepeatVector 75from tensorflow.python.keras.layers.core import Lambda 76from tensorflow.python.keras.layers.core import Dense 77from tensorflow.python.keras.layers.core import ActivityRegularization 78 79# Embedding layers. 80from tensorflow.python.keras.layers.embeddings import Embedding 81 82# Locally-connected layers. 83from tensorflow.python.keras.layers.local import LocallyConnected1D 84from tensorflow.python.keras.layers.local import LocallyConnected2D 85 86# Merge layers. 87from tensorflow.python.keras.layers.merge import Add 88from tensorflow.python.keras.layers.merge import Multiply 89from tensorflow.python.keras.layers.merge import Average 90from tensorflow.python.keras.layers.merge import Maximum 91from tensorflow.python.keras.layers.merge import Concatenate 92from tensorflow.python.keras.layers.merge import Dot 93from tensorflow.python.keras.layers.merge import add 94from tensorflow.python.keras.layers.merge import multiply 95from tensorflow.python.keras.layers.merge import average 96from tensorflow.python.keras.layers.merge import maximum 97from tensorflow.python.keras.layers.merge import concatenate 98from tensorflow.python.keras.layers.merge import dot 99 100# Noise layers. 101from tensorflow.python.keras.layers.noise import AlphaDropout 102from tensorflow.python.keras.layers.noise import GaussianNoise 103from tensorflow.python.keras.layers.noise import GaussianDropout 104 105# Normalization layers. 106from tensorflow.python.keras.layers.normalization import BatchNormalization 107 108# Pooling layers. 109from tensorflow.python.keras.layers.pooling import MaxPooling1D 110from tensorflow.python.keras.layers.pooling import MaxPooling2D 111from tensorflow.python.keras.layers.pooling import MaxPooling3D 112from tensorflow.python.keras.layers.pooling import AveragePooling1D 113from tensorflow.python.keras.layers.pooling import AveragePooling2D 114from tensorflow.python.keras.layers.pooling import AveragePooling3D 115from tensorflow.python.keras.layers.pooling import GlobalAveragePooling1D 116from tensorflow.python.keras.layers.pooling import GlobalAveragePooling2D 117from tensorflow.python.keras.layers.pooling import GlobalAveragePooling3D 118from tensorflow.python.keras.layers.pooling import GlobalMaxPooling1D 119from tensorflow.python.keras.layers.pooling import GlobalMaxPooling2D 120from tensorflow.python.keras.layers.pooling import GlobalMaxPooling3D 121 122# Pooling layer aliases. 123from tensorflow.python.keras.layers.pooling import MaxPool1D 124from tensorflow.python.keras.layers.pooling import MaxPool2D 125from tensorflow.python.keras.layers.pooling import MaxPool3D 126from tensorflow.python.keras.layers.pooling import AvgPool1D 127from tensorflow.python.keras.layers.pooling import AvgPool2D 128from tensorflow.python.keras.layers.pooling import AvgPool3D 129from tensorflow.python.keras.layers.pooling import GlobalAvgPool1D 130from tensorflow.python.keras.layers.pooling import GlobalAvgPool2D 131from tensorflow.python.keras.layers.pooling import GlobalAvgPool3D 132from tensorflow.python.keras.layers.pooling import GlobalMaxPool1D 133from tensorflow.python.keras.layers.pooling import GlobalMaxPool2D 134from tensorflow.python.keras.layers.pooling import GlobalMaxPool3D 135 136# Recurrent layers. 137from tensorflow.python.keras.layers.recurrent import SimpleRNN 138from tensorflow.python.keras.layers.recurrent import GRU 139from tensorflow.python.keras.layers.recurrent import LSTM 140 141# Wrapper functions 142from tensorflow.python.keras.layers.wrappers import Wrapper 143from tensorflow.python.keras.layers.wrappers import Bidirectional 144from tensorflow.python.keras.layers.wrappers import TimeDistributed 145 146del absolute_import 147del division 148del print_function 149