比较与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.]]]]