Source code for tensorlayer.layers.padding

# -*- coding: utf-8 -*-

from .core import *
from .. import _logging as logging
import tensorflow as tf

__all__ = [
    'PadLayer',
]


[docs]class PadLayer(Layer): """ The :class:`PadLayer` class is a padding layer for any mode and dimension. Please see `tf.pad <https://www.tensorflow.org/api_docs/python/tf/pad>`__ for usage. Parameters ---------- layer : :class:`Layer` The previous layer. paddings : Tensor The int32 values to pad. mode : str "CONSTANT", "REFLECT", or "SYMMETRIC" (case-insensitive). name : str A unique layer name. """ def __init__( self, prev_layer, paddings, mode='CONSTANT', name='pad_layer', ): Layer.__init__(self, prev_layer=prev_layer, name=name) assert paddings is not None, "paddings should be a Tensor of type int32. see https://www.tensorflow.org/api_docs/python/tf/pad" self.inputs = prev_layer.outputs logging.info("PadLayer %s: paddings:%s mode:%s" % (self.name, list(paddings), mode)) self.outputs = tf.pad(self.inputs, paddings=paddings, mode=mode, name=name) # self.all_layers = list(layer.all_layers) # self.all_params = list(layer.all_params) # self.all_drop = dict(layer.all_drop)
self.all_layers.append(self.outputs)