@@ -70,13 +70,13 @@ def __init__(
7070 logging .info ("PoolLayer %s: ksize:%s strides:%s padding:%s pool:%s" % (name , str (ksize ), str (strides ), padding , pool .__name__ ))
7171
7272 self .inputs = prev_layer .outputs
73-
73+ # operation (customized)
7474 self .outputs = pool (self .inputs , ksize = ksize , strides = strides , padding = padding , name = name )
75+ # update layer (customized)
7576 self .all_layers .append (self .outputs )
7677
7778
78- @deprecated_alias (net = 'prev_layer' , end_support_version = 1.9 ) # TODO remove this line for the 1.9 release
79- def maxpool1d (prev_layer , filter_size = 3 , strides = 2 , padding = 'valid' , data_format = 'channels_last' , name = None ):
79+ class MaxPool1d (Layer ):
8080 """Max pooling for 1D signal [batch, length, channel]. Wrapper for `tf.layers.max_pooling1d <https://www.tensorflow.org/api_docs/python/tf/layers/max_pooling1d>`__ .
8181
8282 Parameters
@@ -97,23 +97,20 @@ def maxpool1d(prev_layer, filter_size=3, strides=2, padding='valid', data_format
9797 name : str
9898 A unique layer name.
9999
100- Returns
101- -------
102- :class:`Layer`
103- A max pooling 1-D layer with a output rank as 3.
104-
105100 """
106- logging .info ("MaxPool1d %s: filter_size:%s strides:%s padding:%s" % (name , str (filter_size ), str (strides ), str (padding )))
107- outputs = tf .layers .max_pooling1d (prev_layer .outputs , filter_size , strides , padding = padding , data_format = data_format , name = name )
108101
109- net_new = copy .copy (prev_layer )
110- net_new .outputs = outputs
111- net_new .all_layers .extend ([outputs ])
112- return net_new
102+ @deprecated_alias (net = 'prev_layer' , end_support_version = 1.9 ) # TODO remove this line for the 1.9 release
103+ def __init__ (self , prev_layer , filter_size = 3 , strides = 2 , padding = 'valid' , data_format = 'channels_last' , name = 'maxpool1d' ):
104+ super (MaxPool1d , self ).__init__ (prev_layer = prev_layer , name = name )
105+ logging .info ("MaxPool1d %s: filter_size:%s strides:%s padding:%s" % (name , str (filter_size ), str (strides ), str (padding )))
106+ self .inputs = prev_layer .outputs
107+ # operation (customized)
108+ self .outputs = tf .layers .max_pooling1d (self .inputs , filter_size , strides , padding = padding , data_format = data_format , name = name )
109+ # update layer (customized)
110+ self .all_layers .append (self .outputs )
113111
114112
115- @deprecated_alias (net = 'prev_layer' , end_support_version = 1.9 ) # TODO remove this line for the 1.9 release
116- def meanpool1d (prev_layer , filter_size = 3 , strides = 2 , padding = 'valid' , data_format = 'channels_last' , name = None ):
113+ class MeanPool1d (Layer ):
117114 """Mean pooling for 1D signal [batch, length, channel]. Wrapper for `tf.layers.average_pooling1d <https://www.tensorflow.org/api_docs/python/tf/layers/average_pooling1d>`__ .
118115
119116 Parameters
@@ -134,24 +131,28 @@ def meanpool1d(prev_layer, filter_size=3, strides=2, padding='valid', data_forma
134131 name : str
135132 A unique layer name.
136133
137- Returns
138- -------
139- :class:`Layer`
140- A mean pooling 1-D layer with a output rank as 3.
141-
142134 """
143- logging .info ("MeanPool1d %s: filter_size:%s strides:%s padding:%s" % (name , str (filter_size ), str (strides ), str (padding )))
144- outputs = tf .layers .average_pooling1d (prev_layer .outputs , filter_size , strides , padding = padding , data_format = data_format , name = name )
135+ # logging.info("MeanPool1d %s: filter_size:%s strides:%s padding:%s" % (name, str(filter_size), str(strides), str(padding)))
136+ # outputs = tf.layers.average_pooling1d(prev_layer.outputs, filter_size, strides, padding=padding, data_format=data_format, name=name)
137+ #
138+ # net_new = copy.copy(prev_layer)
139+ # net_new.outputs = outputs
140+ # net_new.all_layers.extend([outputs])
141+ # return net_new
142+ @deprecated_alias (net = 'prev_layer' , end_support_version = 1.9 ) # TODO remove this line for the 1.9 release
143+ def __init__ (self , prev_layer , filter_size = 3 , strides = 2 , padding = 'valid' , data_format = 'channels_last' , name = 'meanpool1d' ):
144+ super (MeanPool1d , self ).__init__ (prev_layer = prev_layer , name = name )
145+ logging .info ("MeanPool1d %s: filter_size:%s strides:%s padding:%s" % (name , str (filter_size ), str (strides ), str (padding )))
145146
146- net_new = copy .copy (prev_layer )
147- net_new .outputs = outputs
148- net_new .all_layers .extend ([outputs ])
149- return net_new
147+ # operation (customized)
148+ self .outputs = tf .layers .average_pooling1d (prev_layer .outputs , filter_size , strides , padding = padding , data_format = data_format , name = name )
149+
150+ # update layer (customized)
151+ self .all_layers .append (self .outputs )
150152
151153
152- @deprecated_alias (net = 'prev_layer' , end_support_version = 1.9 ) # TODO remove this line for the 1.9 release
153- def maxpool2d (prev_layer , filter_size = (3 , 3 ), strides = (2 , 2 ), padding = 'SAME' , name = 'maxpool' ):
154- """Max pooling for 2D image [batch, height, width, channel]. Wrapper for :class:`PoolLayer`.
154+ class MaxPool2d (Layer ):
155+ """Max pooling for 2D image [batch, height, width, channel].
155156
156157 Parameters
157158 -----------
@@ -166,33 +167,31 @@ def maxpool2d(prev_layer, filter_size=(3, 3), strides=(2, 2), padding='SAME', na
166167 name : str
167168 A unique layer name.
168169
169- Returns
170- -------
171- :class:`Layer`
172- A max pooling 2-D layer with a output rank as 4.
173-
174170 """
175- if strides is None :
176- strides = filter_size
177- if tf .__version__ > '1.5' :
178- outputs = tf .layers .max_pooling2d (prev_layer .outputs , filter_size , strides , padding = padding , data_format = 'channels_last' , name = name )
179- net_new = copy .copy (prev_layer )
180- net_new .outputs = outputs
181- net_new .all_layers .extend ([outputs ])
182- return net_new
183- else :
184171
185- assert len (strides ) == 2 , "len(strides) should be 2, MaxPool2d and PoolLayer are different."
172+ @deprecated_alias (net = 'prev_layer' , end_support_version = 1.9 ) # TODO remove this line for the 1.9 release
173+ def __init__ (self , prev_layer , filter_size = (3 , 3 ), strides = (2 , 2 ), padding = 'SAME' , name = 'maxpool2d' ):
174+ if strides is None :
175+ strides = filter_size
186176
187- prev_layer = PoolLayer (
188- prev_layer , ksize = [1 , filter_size [0 ], filter_size [1 ], 1 ], strides = [1 , strides [0 ], strides [1 ], 1 ], padding = padding , pool = tf .nn .max_pool , name = name )
189-
190- return prev_layer
177+ super (MaxPool2d , self ).__init__ (prev_layer = prev_layer , name = name )
178+ logging .info ("MaxPool2d %s: filter_size:%s strides:%s padding:%s" % (name , str (filter_size ), str (strides ), str (padding )))
179+ self .inputs = prev_layer .outputs
180+ # operation (customized)
181+ if tf .__version__ > '1.5' :
182+ self .outputs = tf .layers .max_pooling2d (self .inputs , filter_size , strides , padding = padding , data_format = 'channels_last' , name = name )
183+ else :
184+ if len (strides ) == 2 :
185+ raise Exception ("len(strides) should be 2." )
186+ ksize = [1 , filter_size [0 ], filter_size [1 ], 1 ]
187+ strides = [1 , strides [0 ], strides [1 ], 1 ]
188+ self .outputs = tf .nn .max_pool (self .inputs , ksize = ksize , strides = strides , padding = padding , name = name )
189+ # update layer (customized)
190+ self .all_layers .append (self .outputs )
191191
192192
193- @deprecated_alias (net = 'prev_layer' , end_support_version = 1.9 ) # TODO remove this line for the 1.9 release
194- def meanpool2d (prev_layer , filter_size = (3 , 3 ), strides = (2 , 2 ), padding = 'SAME' , name = 'meanpool' ):
195- """Mean pooling for 2D image [batch, height, width, channel]. Wrapper for :class:`PoolLayer`.
193+ class MeanPool2d (Layer ):
194+ """Mean pooling for 2D image [batch, height, width, channel].
196195
197196 Parameters
198197 -----------
@@ -207,27 +206,27 @@ def meanpool2d(prev_layer, filter_size=(3, 3), strides=(2, 2), padding='SAME', n
207206 name : str
208207 A unique layer name.
209208
210- Returns
211- -------
212- :class:`Layer`
213- A mean pooling 2-D layer with a output rank as 4.
214-
215209 """
216- if strides is None :
217- strides = filter_size
218- if tf .__version__ > '1.5' :
219- outputs = tf .layers .average_pooling2d (prev_layer .outputs , filter_size , strides , padding = padding , data_format = 'channels_last' , name = name )
220- net_new = copy .copy (prev_layer )
221- net_new .outputs = outputs
222- net_new .all_layers .extend ([outputs ])
223- return net_new
224- else :
225210
226- assert len (strides ) == 2 , "len(strides) should be 2, MeanPool2d and PoolLayer are different."
211+ @deprecated_alias (net = 'prev_layer' , end_support_version = 1.9 ) # TODO remove this line for the 1.9 release
212+ def __init__ (self , prev_layer , filter_size = (3 , 3 ), strides = (2 , 2 ), padding = 'SAME' , name = 'meanpool2d' ):
213+ if strides is None :
214+ strides = filter_size
227215
228- prev_layer = PoolLayer (
229- prev_layer , ksize = [1 , filter_size [0 ], filter_size [1 ], 1 ], strides = [1 , strides [0 ], strides [1 ], 1 ], padding = padding , pool = tf .nn .avg_pool , name = name )
230- return prev_layer
216+ super (MeanPool2d , self ).__init__ (prev_layer = prev_layer , name = name )
217+ logging .info ("MeanPool2d %s: filter_size:%s strides:%s padding:%s" % (name , str (filter_size ), str (strides ), str (padding )))
218+ self .inputs = prev_layer .outputs
219+ # operation (customized)
220+ if tf .__version__ > '1.5' :
221+ self .outputs = tf .layers .average_pooling2d (self .inputs , filter_size , strides , padding = padding , data_format = 'channels_last' , name = name )
222+ else :
223+ if len (strides ) == 2 :
224+ raise Exception ("len(strides) should be 2." )
225+ ksize = [1 , filter_size [0 ], filter_size [1 ], 1 ]
226+ strides = [1 , strides [0 ], strides [1 ], 1 ]
227+ self .outputs = tf .nn .avg_pool (self .inputs , ksize = ksize , strides = strides , padding = padding , name = name )
228+ # update layer (customized)
229+ self .all_layers .append (self .outputs )
231230
232231
233232# def maxpool3d(net, filter_size=(3, 3, 3), strides=(2, 2, 2), padding='valid', data_format='channels_last', name='maxpool3d'):
@@ -261,13 +260,11 @@ class MaxPool3d(Layer):
261260
262261 @deprecated_alias (layer = 'prev_layer' , end_support_version = 1.9 ) # TODO remove this line for the 1.9 release
263262 def __init__ (self , prev_layer , filter_size = (3 , 3 , 3 ), strides = (2 , 2 , 2 ), padding = 'valid' , data_format = 'channels_last' , name = 'maxpool3d' ):
264-
265263 super (MaxPool3d , self ).__init__ (prev_layer = prev_layer , name = name )
266264 logging .info ("MaxPool3d %s: filter_size:%s strides:%s padding:%s" % (name , str (filter_size ), str (strides ), str (padding )))
267-
265+ # operation (customized)
268266 self .inputs = prev_layer .outputs
269-
270- self .outputs = tf .layers .max_pooling3d (prev_layer .outputs , filter_size , strides , padding = padding , data_format = data_format , name = name )
267+ self .outputs = tf .layers .max_pooling3d (self .inputs , filter_size , strides , padding = padding , data_format = data_format , name = name )
271268 # update layer (customized)
272269 self .all_layers .append (self .outputs )
273270
@@ -338,12 +335,9 @@ class GlobalMaxPool1d(Layer):
338335 def __init__ (self , prev_layer , name = 'globalmaxpool1d' ):
339336 super (GlobalMaxPool1d , self ).__init__ (prev_layer = prev_layer , name = name )
340337 logging .info ("GlobalMaxPool1d %s" % name )
341-
342338 self .inputs = prev_layer .outputs
343-
344339 # operation (customized)
345- self .outputs = tf .reduce_max (prev_layer .outputs , axis = 1 , name = name )
346-
340+ self .outputs = tf .reduce_max (self .inputs , axis = 1 , name = name )
347341 # update layer (customized)
348342 self .all_layers .append (self .outputs )
349343
@@ -370,12 +364,9 @@ class GlobalMeanPool1d(Layer):
370364 def __init__ (self , prev_layer , name = 'globalmeanpool1d' ):
371365 super (GlobalMeanPool1d , self ).__init__ (prev_layer = prev_layer , name = name )
372366 logging .info ("GlobalMeanPool1d %s" % name )
373-
374367 self .inputs = prev_layer .outputs
375-
376368 # operation (customized)
377- self .outputs = tf .reduce_mean (prev_layer .outputs , axis = 1 , name = name )
378-
369+ self .outputs = tf .reduce_mean (self .inputs , axis = 1 , name = name )
379370 # update layer (customized)
380371 self .all_layers .append (self .outputs )
381372
@@ -402,12 +393,9 @@ class GlobalMaxPool2d(Layer):
402393 def __init__ (self , prev_layer , name = 'globalmaxpool2d' ):
403394 super (GlobalMaxPool2d , self ).__init__ (prev_layer = prev_layer , name = name )
404395 logging .info ("GlobalMaxPool2d %s" % name )
405-
406396 self .inputs = prev_layer .outputs
407-
408397 # operation (customized)
409- self .outputs = tf .reduce_max (prev_layer .outputs , axis = [1 , 2 ], name = name )
410-
398+ self .outputs = tf .reduce_max (self .inputs , axis = [1 , 2 ], name = name )
411399 # update layer (customized)
412400 self .all_layers .append (self .outputs )
413401
@@ -434,12 +422,9 @@ class GlobalMeanPool2d(Layer):
434422 def __init__ (self , prev_layer , name = 'globalmeanpool2d' ):
435423 super (GlobalMeanPool2d , self ).__init__ (prev_layer = prev_layer , name = name )
436424 logging .info ("GlobalMeanPool2d %s" % name )
437-
438425 self .inputs = prev_layer .outputs
439-
440426 # operation (customized)
441- self .outputs = tf .reduce_mean (prev_layer .outputs , axis = [1 , 2 ], name = name )
442-
427+ self .outputs = tf .reduce_mean (self .inputs , axis = [1 , 2 ], name = name )
443428 # update layer (customized)
444429 self .all_layers .append (self .outputs )
445430
@@ -465,15 +450,11 @@ class GlobalMaxPool3d(Layer):
465450 @deprecated_alias (layer = 'prev_layer' , end_support_version = 1.9 ) # TODO remove this line for the 1.9 release
466451 def __init__ (self , prev_layer , name = 'globalmaxpool3d' ):
467452 super (GlobalMaxPool3d , self ).__init__ (prev_layer = prev_layer , name = name )
468-
469453 self .inputs = prev_layer .outputs
470-
471454 # print out info (customized)
472455 logging .info ("GlobalMaxPool3d %s" % name )
473-
474456 # operation (customized)
475- self .outputs = tf .reduce_max (prev_layer .outputs , axis = [1 , 2 , 3 ], name = name )
476-
457+ self .outputs = tf .reduce_max (self .inputs , axis = [1 , 2 , 3 ], name = name )
477458 # update layer (customized)
478459 self .all_layers .append (self .outputs )
479460
@@ -500,18 +481,15 @@ class GlobalMeanPool3d(Layer):
500481 def __init__ (self , prev_layer , name = 'globalmeanpool3d' ):
501482 super (GlobalMeanPool3d , self ).__init__ (prev_layer = prev_layer , name = name )
502483 logging .info ("GlobalMeanPool3d %s" % name )
503-
504484 self .inputs = prev_layer .outputs
505-
506485 # operation (customized)
507- self .outputs = tf .reduce_mean (prev_layer .outputs , axis = [1 , 2 , 3 ], name = name )
508-
486+ self .outputs = tf .reduce_mean (self .inputs , axis = [1 , 2 , 3 ], name = name )
509487 # update layer (customized)
510488 self .all_layers .append (self .outputs )
511489
512490
513491# Alias
514- MaxPool1d = maxpool1d
515- MaxPool2d = maxpool2d
516- MeanPool1d = meanpool1d
517- MeanPool2d = meanpool2d
492+ # MaxPool1d = maxpool1d
493+ # MaxPool2d = maxpool2d
494+ # MeanPool1d = meanpool1d
495+ # MeanPool2d = meanpool2d
0 commit comments