Skip to content

Commit f51b952

Browse files
committed
Merge branch 'main' of github.com:tensorlayer/TensorLayerX into main
2 parents 4493775 + 6653d95 commit f51b952

File tree

9 files changed

+185
-189
lines changed

9 files changed

+185
-189
lines changed

docs/modules/nn.rst

Lines changed: 27 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -48,27 +48,26 @@ Layer list
4848
GroupConv2d
4949

5050
PadLayer
51-
PoolLayer
5251
ZeroPad1d
5352
ZeroPad2d
5453
ZeroPad3d
5554
MaxPool1d
56-
MeanPool1d
55+
AvgPool1d
5756
MaxPool2d
58-
MeanPool2d
57+
AvgPool2d
5958
MaxPool3d
60-
MeanPool3d
59+
AvgPool3d
6160
GlobalMaxPool1d
62-
GlobalMeanPool1d
61+
GlobalAvgPool1d
6362
GlobalMaxPool2d
64-
GlobalMeanPool2d
63+
GlobalAvgPool2d
6564
GlobalMaxPool3d
66-
GlobalMeanPool3d
67-
AdaptiveMeanPool1d
65+
GlobalAvgPool3d
66+
AdaptiveAvgPool1d
6867
AdaptiveMaxPool1d
69-
AdaptiveMeanPool2d
68+
AdaptiveAvgPool2d
7069
AdaptiveMaxPool2d
71-
AdaptiveMeanPool3d
70+
AdaptiveAvgPool3d
7271
AdaptiveMaxPool3d
7372
CornerPool2d
7473

@@ -410,83 +409,77 @@ Padding layer for any modes.
410409
Pooling Layers
411410
------------------------
412411

413-
Pool Layer (Expert API)
414-
^^^^^^^^^^^^^^^^^^^^^^^^^
415-
Pooling layer for any dimensions and any pooling functions.
416-
417-
.. autoclass:: PoolLayer
418-
419412
1D Max pooling
420413
^^^^^^^^^^^^^^^^^^^
421414
.. autoclass:: MaxPool1d
422415

423-
1D Mean pooling
416+
1D Avg pooling
424417
^^^^^^^^^^^^^^^^^^^
425-
.. autoclass:: MeanPool1d
418+
.. autoclass:: AvgPool1d
426419

427420
2D Max pooling
428421
^^^^^^^^^^^^^^^^^^^
429422
.. autoclass:: MaxPool2d
430423

431-
2D Mean pooling
424+
2D Avg pooling
432425
^^^^^^^^^^^^^^^^^^^
433-
.. autoclass:: MeanPool2d
426+
.. autoclass:: AvgPool2d
434427

435428
3D Max pooling
436429
^^^^^^^^^^^^^^^^^^^
437430
.. autoclass:: MaxPool3d
438431

439-
3D Mean pooling
432+
3D Avg pooling
440433
^^^^^^^^^^^^^^^^^^^
441-
.. autoclass:: MeanPool3d
434+
.. autoclass:: AvgPool3d
442435

443436
1D Global Max pooling
444437
^^^^^^^^^^^^^^^^^^^^^^^^^^
445438
.. autoclass:: GlobalMaxPool1d
446439

447-
1D Global Mean pooling
440+
1D Global Avg pooling
448441
^^^^^^^^^^^^^^^^^^^^^^^^^^
449-
.. autoclass:: GlobalMeanPool1d
442+
.. autoclass:: GlobalAvgPool1d
450443

451444
2D Global Max pooling
452445
^^^^^^^^^^^^^^^^^^^^^^^^^^
453446
.. autoclass:: GlobalMaxPool2d
454447

455-
2D Global Mean pooling
448+
2D Global Avg pooling
456449
^^^^^^^^^^^^^^^^^^^^^^^^^^
457-
.. autoclass:: GlobalMeanPool2d
450+
.. autoclass:: GlobalAvgPool2d
458451

459452
3D Global Max pooling
460453
^^^^^^^^^^^^^^^^^^^^^^^^^^
461454
.. autoclass:: GlobalMaxPool3d
462455

463-
3D Global Mean pooling
456+
3D Global Avg pooling
464457
^^^^^^^^^^^^^^^^^^^^^^^^^^
465-
.. autoclass:: GlobalMeanPool3d
458+
.. autoclass:: GlobalAvgPool3d
466459

467460
1D Adaptive Max pooling
468461
^^^^^^^^^^^^^^^^^^^^^^^^^^
469462
.. autoclass:: AdaptiveMaxPool1d
470463

471-
1D Adaptive Mean pooling
464+
1D Adaptive Avg pooling
472465
^^^^^^^^^^^^^^^^^^^^^^^^^^
473-
.. autoclass:: AdaptiveMeanPool1d
466+
.. autoclass:: AdaptiveAvgPool1d
474467

475468
2D Adaptive Max pooling
476469
^^^^^^^^^^^^^^^^^^^^^^^^^^
477470
.. autoclass:: AdaptiveMaxPool2d
478471

479-
2D Adaptive Mean pooling
472+
2D Adaptive Avg pooling
480473
^^^^^^^^^^^^^^^^^^^^^^^^^^
481-
.. autoclass:: AdaptiveMeanPool2d
474+
.. autoclass:: AdaptiveAvgPool2d
482475

483476
3D Adaptive Max pooling
484477
^^^^^^^^^^^^^^^^^^^^^^^^^^
485478
.. autoclass:: AdaptiveMaxPool3d
486479

487-
3D Adaptive Mean pooling
480+
3D Adaptive Avg pooling
488481
^^^^^^^^^^^^^^^^^^^^^^^^^^
489-
.. autoclass:: AdaptiveMeanPool3d
482+
.. autoclass:: AdaptiveAvgPool3d
490483

491484
2D Corner pooling
492485
^^^^^^^^^^^^^^^^^^^^^^^^^^

tensorlayerx/backend/ops/paddle_backend.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1211,10 +1211,10 @@ def floor(x):
12111211

12121212

12131213
def gather(params, indices, axis=None):
1214-
if axis < 0:
1215-
axis = len(params.shape) + axis
12161214
if axis is None:
12171215
axis = 0
1216+
if axis < 0:
1217+
axis = len(params.shape) + axis
12181218
return pd.gather(params, indices, axis)
12191219

12201220

tensorlayerx/backend/ops/paddle_nn.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -681,6 +681,7 @@ class MaxPool(object):
681681
def __init__(self, ksize, strides, padding, data_format=None):
682682
self.data_format, self.padding = preprocess_2d_format(data_format, padding)
683683
self.ksize = ksize
684+
print(self.data_format)
684685
if self.data_format is 'NHWC':
685686
self._stride = (strides[1], strides[2])
686687
elif self.data_format is 'NCHW':

tensorlayerx/backend/ops/tensorflow_nn.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -868,8 +868,7 @@ class AvgPool(object):
868868
def __init__(self, ksize, strides, padding, data_format=None):
869869
self.ksize = ksize
870870
self.strides = strides
871-
self.data_format = data_format
872-
self.padding = padding_format(padding)
871+
self.data_format, self.padding = preprocess_2d_format(data_format=data_format, padding=padding)
873872
self.padding_value = None
874873
if not isinstance(self.padding, str):
875874
self.padding_value = preprocess_padding(self.padding, '2d', self.data_format)
@@ -1334,7 +1333,6 @@ def __call__(self, input, filters):
13341333
output_w = input_w * strides_w + max(kernel_w - strides_w, 0) - 2 * self._padding
13351334
self.padding = [[0, 0], [self._padding, self._padding],[self._padding, self._padding], [0, 0]]
13361335
else:
1337-
print(input_h, strides_h, kernel_h, strides_h, self._padding[0], self._padding)
13381336
output_h = input_h * strides_h + max(kernel_h - strides_h, 0) - 2 * self._padding[0]
13391337
output_w = input_w * strides_w + max(kernel_w - strides_w, 0) - 2* self._padding[1]
13401338
self.padding = [[0, 0], [self._padding[0], self._padding[0]],[self._padding[1], self._padding[1]], [0, 0]]

tensorlayerx/backend/ops/torch_backend.py

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -547,11 +547,13 @@ def __init__(self, axis=None, keepdims=False):
547547

548548
def __call__(self, inputs):
549549
if self.axis is not None:
550-
out = inputs
551-
for dim in self.axis[-1]:
552-
print(dim)
553-
out = torch.max(out, dim=dim, keepdim=self.keepdims).values
554-
return out
550+
if isinstance(self.axis, (list, tuple)):
551+
out = inputs
552+
for dim in self.axis[::-1]:
553+
out = torch.max(out, dim=dim, keepdim=self.keepdims).values
554+
return out
555+
else:
556+
return torch.max(inputs, dim=self.axis, keepdim=self.keepdims).values
555557
else:
556558
return torch.max(inputs)
557559

tensorlayerx/backend/ops/torch_nn.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -792,6 +792,8 @@ def __init__(self, ksize, strides, padding, data_format=None):
792792
elif data_format in ['channels_first', 'NCL', 'NCW', 'NCHW', 'NCDHW']:
793793
self.data_format = 'channels_first'
794794
self.padding = padding
795+
if self.padding in ['VALID', 'valid']:
796+
self.padding = 0
795797

796798
def __call__(self, inputs):
797799
if self.data_format == 'channels_last':
@@ -818,7 +820,7 @@ def __call__(self, inputs):
818820
return out
819821

820822
def maxpool1d_same_padding(self, input):
821-
rows_odd, padding_rows = same_padding(input, self.ksize, self.strides, 1)
823+
rows_odd, padding_rows = same_padding(input, self.ksize, self.strides[0], 1)
822824
if rows_odd:
823825
input = F.pad(input, [0, int(rows_odd)], 'constant', float('-inf'))
824826
return F.max_pool1d(input, self.ksize, self.strides, padding=(padding_rows // 2))
@@ -894,6 +896,8 @@ def __init__(self, ksize, strides, padding, data_format=None):
894896
elif data_format in ['channels_first', 'NCL', 'NCW', 'NCHW', 'NCDHW']:
895897
self.data_format = 'channels_first'
896898
self.padding = padding
899+
if self.padding in ['VALID', 'valid']:
900+
self.padding = 0
897901

898902
def __call__(self, inputs):
899903
if self.data_format == 'channels_last':
@@ -920,7 +924,7 @@ def __call__(self, inputs):
920924
return out
921925

922926
def avgpool1d_same_padding(self, input):
923-
rows_odd, padding_rows = same_padding(input, self.ksize, self.strides, 1)
927+
rows_odd, padding_rows = same_padding(input, self.ksize, self.strides[0], 1)
924928
if rows_odd:
925929
input = F.pad(input, [0, int(rows_odd)], 'replicate')
926930
return F.avg_pool1d(input, self.ksize, self.strides, padding=(padding_rows // 2))

tensorlayerx/nn/core/core_tensorflow.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1118,8 +1118,6 @@ class ParameterDict(Module):
11181118
---------
11191119
__init__()
11201120
Initializing the ParameterDict.
1121-
setdefault()
1122-
11231121
clear()
11241122
Remove all items from the ParameterDict.
11251123
setdefault(key, default=None)

0 commit comments

Comments
 (0)