Function Differences with torch.nn.Hardshrink
torch.nn.Hardshrink
torch.nn.Hardshrink(lambd=0.5)(input) -> Tensor
For more information, see torch.nn.Hardshrink.
mindspore.nn.HShrink
mindspore.nn.HShrink(lambd=0.5)(input_x) -> Tensor
For more information, see mindspore.nn.HShrink.
Differences
PyTorch: Activation function, and calculate the output by the input elements.
MindSpore: MindSpore API implements the same function as PyTorch, and only the parameter names are different.
Categories |
Subcategories |
PyTorch |
MindSpore |
Difference |
---|---|---|---|---|
Parameter |
Parameter 1 |
lambd |
lambd |
- |
Input |
Single input |
input |
input_x |
Same function, different parameter names |
Code Example
The two APIs achieve the same function and have the same usage.
# PyTorch
import torch
import torch.nn as nn
m = nn.Hardshrink()
input = torch.tensor([[0.5, 1, 2.0], [0.0533, 0.0776, -2.1233]], dtype=torch.float32)
output = m(input)
output = output.detach().numpy()
print(output)
# [[ 0. 1. 2. ]
# [ 0. 0. -2.1233]]
# MindSpore
import mindspore
from mindspore import Tensor, nn
import numpy as np
input_x = Tensor(np.array([[0.5, 1, 2.0], [0.0533, 0.0776, -2.1233]]), mindspore.float32)
hshrink = nn.HShrink()
output = hshrink(input_x)
print(output)
# [[ 0. 1. 2. ]
# [ 0. 0. -2.1233]]