如何将pytorch的adaptive_avg_pool2d方法转换为keras或tensorflow

时间:2018-10-03 08:06:51

标签: tensorflow keras deep-learning pytorch spatial-pooling

我不知道如何将PyTorch方法adaptive_avg_pool2d转换为Keras或TensorFlow。有人可以帮忙吗? PyTorch方法是

adaptive_avg_pool2d(14,[14])

我尝试使用平均池,在Keras中重塑张量,但出现错误:

  

ValueError:新数组的总大小必须保持不变

1 个答案:

答案 0 :(得分:0)

我不确定是否理解您的问题,但是在PyTorch中,您将空间尺寸传递给了AdaptiveAvgPool2d。例如,如果您希望输出尺寸为5x7,则可以使用nn.AdaptiveAvgPool2d((5,7))

如果要使用全局平均池化层,可以使用nn.AdaptiveAvgPool2d(1)。在Keras中,您可以只使用GlobalAveragePooling2D

对于Keras中的其他输出尺寸,您需要使用AveragePooling2D,但不能直接指定输出形状。您需要根据所需的输出形状来计算/定义pool_sizestridepadding参数。如果您需要计算方面的帮助,请检查this page of CS231n course