比较与tf.nn.avg_pool2d的功能差异

tf.nn.avg_pool2d

tf.nn.avg_pool2d(
    input,
    ksize,
    strides,
    padding,
    data_format='NHWC',
    name=None
) -> Tensor

更多内容详见tf.nn.avg_pool2d

mindspore.nn.AvgPool2d

mindspore.nn.AvgPool2d(
    kernel_size=1,
    stride=1,
    pad_mode='valid',
    data_format='NCHW'
)(x) -> Tensor

更多内容详见mindspore.nn.AvgPool2d

差异对比

TensorFlow:对输入的Tensor执行平均池化。

MindSpore:MindSpore此API实现功能与TensorFlow一致,仅参数名不同以及使用输入Tensor的方式不同。

分类

子类

TensorFlow

MindSpore

差异

参数

参数1

input

x

功能一致,用于输入一个4维的Tensor,数据的输入格式不同

参数2

ksize

kernel_size

功能一致,参数名不同,TensorFlow无默认值

参数3

strides

stride

功能一致,参数名不同,TensorFlow无默认值

参数4

padding

pad_mode

功能一致,参数名不同,TensorFlow无默认值

参数5

data_format

data_format

功能一致,参数默认值不同

参数6

name

-

不涉及

代码示例

两API实现功能一致,用法相同。

# TensorFlow
import tensorflow as tf
import numpy as np

y = tf.constant([[[[1, 0, 1], [0, 1, 1]]]], dtype=tf.float32)
out = tf.nn.avg_pool2d(input=y, ksize=1, strides=1, padding='SAME')
print(out.numpy())
# [[[[1. 0. 1.]
#    [0. 1. 1.]]]]

# MindSpore
import mindspore
import mindspore.nn as nn
from mindspore import Tensor

pool = nn.AvgPool2d(kernel_size=1, stride=1, pad_mode='SAME')
x = Tensor([[[[1, 0, 1], [0, 1, 1]]]], dtype=mindspore.float32)
output = pool(x)
print(output)
# [[[[1. 0. 1.]
#    [0. 1. 1.]]]]