Coverage for /pythoncovmergedfiles/medio/medio/usr/local/lib/python3.8/site-packages/tensorflow/python/keras/layers/__init__.py: 97%
126 statements
« prev ^ index » next coverage.py v7.4.0, created at 2024-01-03 07:57 +0000
« prev ^ index » next coverage.py v7.4.0, created at 2024-01-03 07:57 +0000
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."""
17from tensorflow.python import tf2
19# Generic layers.
20# pylint: disable=g-bad-import-order
21# pylint: disable=g-import-not-at-top
22from tensorflow.python.keras.engine.input_layer import Input
23from tensorflow.python.keras.engine.input_layer import InputLayer
24from tensorflow.python.keras.engine.input_spec import InputSpec
25from tensorflow.python.keras.engine.base_layer import Layer
26from tensorflow.python.keras.engine.base_preprocessing_layer import PreprocessingLayer
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 ReLU
33from tensorflow.python.keras.layers.advanced_activations import ThresholdedReLU
34from tensorflow.python.keras.layers.advanced_activations import Softmax
36# Convolution layers.
37from tensorflow.python.keras.layers.convolutional import Conv1D
38from tensorflow.python.keras.layers.convolutional import Conv2D
39from tensorflow.python.keras.layers.convolutional import Conv3D
40from tensorflow.python.keras.layers.convolutional import Conv1DTranspose
41from tensorflow.python.keras.layers.convolutional import Conv2DTranspose
42from tensorflow.python.keras.layers.convolutional import Conv3DTranspose
43from tensorflow.python.keras.layers.convolutional import SeparableConv1D
44from tensorflow.python.keras.layers.convolutional import SeparableConv2D
46# Convolution layer aliases.
47from tensorflow.python.keras.layers.convolutional import Convolution1D
48from tensorflow.python.keras.layers.convolutional import Convolution2D
49from tensorflow.python.keras.layers.convolutional import Convolution3D
50from tensorflow.python.keras.layers.convolutional import Convolution2DTranspose
51from tensorflow.python.keras.layers.convolutional import Convolution3DTranspose
52from tensorflow.python.keras.layers.convolutional import SeparableConvolution1D
53from tensorflow.python.keras.layers.convolutional import SeparableConvolution2D
54from tensorflow.python.keras.layers.convolutional import DepthwiseConv2D
56# Image processing layers.
57from tensorflow.python.keras.layers.convolutional import UpSampling1D
58from tensorflow.python.keras.layers.convolutional import UpSampling2D
59from tensorflow.python.keras.layers.convolutional import UpSampling3D
60from tensorflow.python.keras.layers.convolutional import ZeroPadding1D
61from tensorflow.python.keras.layers.convolutional import ZeroPadding2D
62from tensorflow.python.keras.layers.convolutional import ZeroPadding3D
63from tensorflow.python.keras.layers.convolutional import Cropping1D
64from tensorflow.python.keras.layers.convolutional import Cropping2D
65from tensorflow.python.keras.layers.convolutional import Cropping3D
67# Core layers.
68from tensorflow.python.keras.layers.core import Masking
69from tensorflow.python.keras.layers.core import Dropout
70from tensorflow.python.keras.layers.core import SpatialDropout1D
71from tensorflow.python.keras.layers.core import SpatialDropout2D
72from tensorflow.python.keras.layers.core import SpatialDropout3D
73from tensorflow.python.keras.layers.core import Activation
74from tensorflow.python.keras.layers.core import Reshape
75from tensorflow.python.keras.layers.core import Permute
76from tensorflow.python.keras.layers.core import Flatten
77from tensorflow.python.keras.layers.core import RepeatVector
78from tensorflow.python.keras.layers.core import Lambda
79from tensorflow.python.keras.layers.core import Dense
80from tensorflow.python.keras.layers.core import ActivityRegularization
82# Dense Attention layers.
83from tensorflow.python.keras.layers.dense_attention import AdditiveAttention
84from tensorflow.python.keras.layers.dense_attention import Attention
86# Embedding layers.
87from tensorflow.python.keras.layers.embeddings import Embedding
89# Merge layers.
90from tensorflow.python.keras.layers.merge import Add
91from tensorflow.python.keras.layers.merge import Subtract
92from tensorflow.python.keras.layers.merge import Multiply
93from tensorflow.python.keras.layers.merge import Average
94from tensorflow.python.keras.layers.merge import Maximum
95from tensorflow.python.keras.layers.merge import Minimum
96from tensorflow.python.keras.layers.merge import Concatenate
97from tensorflow.python.keras.layers.merge import Dot
98from tensorflow.python.keras.layers.merge import add
99from tensorflow.python.keras.layers.merge import subtract
100from tensorflow.python.keras.layers.merge import multiply
101from tensorflow.python.keras.layers.merge import average
102from tensorflow.python.keras.layers.merge import maximum
103from tensorflow.python.keras.layers.merge import minimum
104from tensorflow.python.keras.layers.merge import concatenate
105from tensorflow.python.keras.layers.merge import dot
107# Pooling layers.
108from tensorflow.python.keras.layers.pooling import MaxPooling1D
109from tensorflow.python.keras.layers.pooling import MaxPooling2D
110from tensorflow.python.keras.layers.pooling import MaxPooling3D
111from tensorflow.python.keras.layers.pooling import AveragePooling1D
112from tensorflow.python.keras.layers.pooling import AveragePooling2D
113from tensorflow.python.keras.layers.pooling import AveragePooling3D
114from tensorflow.python.keras.layers.pooling import GlobalAveragePooling1D
115from tensorflow.python.keras.layers.pooling import GlobalAveragePooling2D
116from tensorflow.python.keras.layers.pooling import GlobalAveragePooling3D
117from tensorflow.python.keras.layers.pooling import GlobalMaxPooling1D
118from tensorflow.python.keras.layers.pooling import GlobalMaxPooling2D
119from tensorflow.python.keras.layers.pooling import GlobalMaxPooling3D
121# Pooling layer aliases.
122from tensorflow.python.keras.layers.pooling import MaxPool1D
123from tensorflow.python.keras.layers.pooling import MaxPool2D
124from tensorflow.python.keras.layers.pooling import MaxPool3D
125from tensorflow.python.keras.layers.pooling import AvgPool1D
126from tensorflow.python.keras.layers.pooling import AvgPool2D
127from tensorflow.python.keras.layers.pooling import AvgPool3D
128from tensorflow.python.keras.layers.pooling import GlobalAvgPool1D
129from tensorflow.python.keras.layers.pooling import GlobalAvgPool2D
130from tensorflow.python.keras.layers.pooling import GlobalAvgPool3D
131from tensorflow.python.keras.layers.pooling import GlobalMaxPool1D
132from tensorflow.python.keras.layers.pooling import GlobalMaxPool2D
133from tensorflow.python.keras.layers.pooling import GlobalMaxPool3D
135# Recurrent layers.
136from tensorflow.python.keras.layers.recurrent import RNN
137from tensorflow.python.keras.layers.recurrent import AbstractRNNCell
138from tensorflow.python.keras.layers.recurrent import StackedRNNCells
139from tensorflow.python.keras.layers.recurrent import SimpleRNNCell
140from tensorflow.python.keras.layers.recurrent import PeepholeLSTMCell
141from tensorflow.python.keras.layers.recurrent import SimpleRNN
143if tf2.enabled():
144 from tensorflow.python.keras.layers.recurrent import GRU as GRUV1
145 from tensorflow.python.keras.layers.recurrent import GRUCell as GRUCellV1
146 from tensorflow.python.keras.layers.recurrent import LSTM as LSTMV1
147 from tensorflow.python.keras.layers.recurrent import LSTMCell as LSTMCellV1
148else:
149 from tensorflow.python.keras.layers.recurrent import GRU
150 from tensorflow.python.keras.layers.recurrent import GRUCell
151 from tensorflow.python.keras.layers.recurrent import LSTM
152 from tensorflow.python.keras.layers.recurrent import LSTMCell
153 GRUV1 = GRU
154 GRUCellV1 = GRUCell
155 LSTMV1 = LSTM
156 LSTMCellV1 = LSTMCell
158# Convolutional-recurrent layers.
159from tensorflow.python.keras.layers.convolutional_recurrent import ConvLSTM2D
161# # RNN Cell wrappers.
162from tensorflow.python.keras.layers.rnn_cell_wrapper_v2 import DeviceWrapper
163from tensorflow.python.keras.layers.rnn_cell_wrapper_v2 import DropoutWrapper
164from tensorflow.python.keras.layers.rnn_cell_wrapper_v2 import ResidualWrapper
166# Serialization functions
167from tensorflow.python.keras.layers import serialization
168from tensorflow.python.keras.layers.serialization import deserialize
169from tensorflow.python.keras.layers.serialization import serialize
172class VersionAwareLayers(object):
173 """Utility to be used internally to access layers in a V1/V2-aware fashion.
175 When using layers within the Keras codebase, under the constraint that
176 e.g. `layers.BatchNormalization` should be the `BatchNormalization` version
177 corresponding to the current runtime (TF1 or TF2), do not simply access
178 `layers.BatchNormalization` since it would ignore e.g. an early
179 `compat.v2.disable_v2_behavior()` call. Instead, use an instance
180 of `VersionAwareLayers` (which you can use just like the `layers` module).
181 """
183 def __getattr__(self, name):
184 serialization.populate_deserializable_objects()
185 if name in serialization.LOCAL.ALL_OBJECTS:
186 return serialization.LOCAL.ALL_OBJECTS[name]
187 return super(VersionAwareLayers, self).__getattr__(name)