如何在张量流中实现类似keras的子样本?

时间:2016-07-31 06:31:19

标签: tensorflow keras

subsamplekeras的这个函数中做了什么?

Convolution2D(nb_filter, nb_row, nb_col,
         subsample=subsample,
         activation=activation,
         border_mode=border_mode,
         W_regularizer=W_regularizer,
         b_regularizer=b_regularizer,
         dim_ordering=dim_ordering)(x)

如何在subsample中实现此tensorflow

2 个答案:

答案 0 :(得分:9)

Keras中的

子采样与tensorflow中的步幅相同。您可以使用tensorflow tf.nn.conv2d()函数中的strides参数来实现它。

子样本/步幅告诉您在执行卷积时在每个维度中移动过滤器的数量。例如,如果每个方向的步幅为1,则每个卷积将滤波器移动一个,并产生与输入相同大小的输出(边界填充效果除外)。如果将步幅设置为2,则结果的尺寸将是原始图像的一半。

答案 1 :(得分:1)

有不同的方法进行子采样。你可以做平均合并,你可以采用补丁的平均值,或者最大池,后者更受欢迎。使用tf.nn.avg_pool()或tf.nn.max_pool(),可以找到这些函数的文档here