335 Star 1.5K Fork 859

MindSpore / docs

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
log_softmax.md 2.32 KB
一键复制 编辑 原始数据 按行查看 历史
luojianing 提交于 2023-07-21 15:16 . replace target=blank

比较与torch.nn.functional.log_softmax的功能差异

查看源文件

torch.nn.functional.log_softmax

torch.nn.functional.log_softmax(
    input,
    dim=None,
    dtype=None
)

更多内容详见torch.nn.functional.log_softmax

mindspore.ops.log_softmax

class mindspore.ops.log_softmax(
    logits,
    axis=-1,
)

更多内容详见mindspore.ops.log_softmax

差异对比

PyTorch:支持使用dim参数和input输入实现函数,对softmax的结果取对数。

MindSpore:支持使用axis参数和logits输入实现函数,对softmax的结果取对数。

分类 子类 PyTorch MindSpore 差异
参数 参数1 input logits 功能一致,参数名不同
参数2 dim axis 功能一致,参数名不同
参数3 dtype - PyTorch中用来指定输出Tensor的data type,MindSpore中没有该参数

代码示例

import mindspore as ms
import mindspore.ops as ops
import torch
import numpy as np

# In MindSpore, we can define an instance of this class first, and the default value of the parameter axis is -1.
x = ms.Tensor(np.array([1, 2, 3, 4, 5]), ms.float32)
output1 = ops.log_softmax(x)
print(output1)
# Out:
# [-4.451912   -3.4519122  -2.4519122  -1.451912   -0.45191208]
x = ms.Tensor(np.array([[1, 2, 3, 4, 5], [5, 4, 3, 2, 1]]), ms.float32)
output2 = ops.log_softmax(x, axis=0)
print(output2)
# out:
# [[-4.01815    -2.126928   -0.6931472  -0.12692805 -0.01814996]
#  [-0.01814996 -0.12692805 -0.6931472  -2.126928   -4.01815   ]]

# In torch, the input and dim should be input at the same time to implement the function.
input = torch.tensor(np.array([1.0, 2.0, 3.0, 4.0, 5.0]))
output3 = torch.nn.functional.log_softmax(input, dim=0)
print(output3)
# Out:
# tensor([-4.4519, -3.4519, -2.4519, -1.4519, -0.4519], dtype=torch.float64)
1
https://gitee.com/mindspore/docs.git
git@gitee.com:mindspore/docs.git
mindspore
docs
docs
r2.0

搜索帮助