global_max_pool / global_avg_pool和avg_pool_2d / 1d / 3d有什么区别?

时间:2017-03-11 05:00:48

标签: tflearn

我试图比较来自tflearn的文本分类的教程代码:https://github.com/tflearn/tflearn/blob/master/examples/nlp/cnn_sentence_classification.py

来自dennybritz的人: https://github.com/dennybritz/cnn-text-classification-tf

这2个代码显示不同的结果,我明白这可能是因为tflearn教程使用1d卷积,但有一行代码我不明白:

network = global_max_pool(网络)

global_max_pool和max_pool_2d有什么区别?

1 个答案:

答案 0 :(得分:2)

查看代码,他们对张量流库进行不同的调用:

2d_max_pool

广泛地说你会期望和回报(以及做其他事情):

tf.nn.max_pool(incoming, kernel, strides, padding)

使用指定的参数。这是一个4d张量,类似于输入的

global_max_pool

实际上输入张量的降幅非常大。输入张量具有以下维度:

[batch, height, width, in_channels]

然后函数global_max_pool返回(以及做其他一些事情)

tf.reduce_max(incoming, [1, 2])

我认为在每个in_channels

中给出每个张量的最大值