懂视

TensorFlow笔记1——20.CNN卷积神经网络padding两种模式SAME和VALID

2024-11-07 15:00:43

在构建CNN(卷积神经网络)时,TensorFlow提供了一个核心API来调用卷积核,其中包含填充方式参数。调用函数定义如下:defconv2d(input,filter,strides,padding,use_cudnn_on_gpu=None,data_format=None,name=None)源码中说明了padding参数可以使用“SAME”或“VALID”两种方式。“SAME”填充方式在输出形状计算公式中体现为比“VALID”多出一列。例如,对于一个2x3矩阵,使用2x2窗口进行最大池化,步长为2,“SAME”填充方式会增加第四列以保持2x2窗口,通常使用0填充。在文本应用中,通常使用“VALID”填充方式,卷积核大小为n×k,n为输入向量维度,k为输入向量的维度。这类似于统计语言模型中的N-gram。设置网络结构时,输入输出形状计算公式如下,其中dilation_rate默认为1,不考虑其他参数:对于“VALID”,输出形状计算公式为...了解了“SAME”与“VALID”的区别后,我们可以通过运行tf.nn.conv2d示例来深入理解strides和padding的效果。在示例中,详细解释了如何使用tf.nn.conv2d的基本参数,这些规范同样适用于其他CNN语句。例如,运行结果展示了...总之,正确理解padding参数对CNN的影响,对于构建有效模型至关重要。通过实验和实际应用,您可以更好地掌握如何选择合适的填充方式,以优化模型性能。