一、填充
对于图片数据的高和宽、序列信号的长度,维度长度可能各不相同。为了方便网络的
并行计算,需要将不同长度的数据扩张为相同长度,之前我们介绍了通过复制的方式可以
增加数据的长度,但是重复复制数据会破坏原有的数据结构,并不适合于此处。
通常的做法是,在需要补充长度的信号开始或结束处填充足够数量的特定数值,如0,使得填充后的长度满足系统要求。那么这种操作就叫做填充(Padding)。
填充操作可以通过tf.pad(x, paddings)
函数实现,paddings 是包含了多个
[𝐿𝑒𝑓𝑡 𝑃𝑎𝑑𝑑𝑖𝑛𝑔, 𝑅𝑖𝑔ℎ𝑡 𝑃𝑎𝑑𝑑𝑖𝑛𝑔]
的嵌套方案List,如[[0,0], [2,1], [1,2]]表示第一个维度不填充,第二个维度左边(起始处)填充两个单元,右边(结束处)填充一个单元,第三个维度左边填充一个单元,右边填充两个单元。考虑上述2下面这个例子,需要在第二个语句中的第一个维度的右边填充2 个单元,则paddings 方案为[[0,2]]:
二、复制
通过 tf.tile 函数可以在任意维度将数据重复复制多份