比较与torch.full的功能差异

torch.full

torch.full(
    size,
    fill_value,
    *,
    out=None,
    dtype=None,
    layout=torch.strided,
    device=None,
    requires_grad=False
) -> Tensor

更多内容详见torch.full

mindspore.numpy.full

mindspore.numpy.full(shape, fill_value, dtype=None) -> Tensor

更多内容详见mindspore.numpy.full

差异对比

PyTorch:返回用fill_value填充的给定大小的张量。

MindSpore:MindSpore此API实现功能与PyTorch基本一致,但参数名不同。

分类

子类

PyTorch

MindSpore

差异

参数

参数1

size

shape

功能一致,参数名不同

参数2

fill_value

fill_value

功能一致

参数3

dtype

dtype

功能一致

参数4

out

-

不涉及

参数5

layout

-

不涉及

参数6

device

-

不涉及

参数7

requires_grad

-

MindSpore无此参数,默认支持反向求导

代码示例1

对于参数fill_value,PyTorch的full算子支持类型为number,MindSpore支持类型包括int,float,bool,list,tuple。当MindSpore的full算子输入类型为list或tuple时,注意其shape要符合广播规则。

# PyTorch
import torch

torch_output = torch.full((2, 3), 1)
print(torch_output.numpy())
# [[1 1 1]
#  [1 1 1]]

# MindSpore
import mindspore

full_value = [[1, 1, 1],[1, 1, 1]]
ms_tensor_output = mindspore.numpy.full((2, 3), full_value)
print(ms_tensor_output)
# [[1 1 1]
#  [1 1 1]]