Function Differences with torch.Tensor.float
torch.Tensor.float
torch.Tensor.float(memory_format=torch.preserve_format)
For more information, see torch.Tensor.float.
mindspore.ops.Cast
class mindspore.ops.Cast(*args, **kwargs)(
input_x,
type
)
For more information, see mindspore.ops.Cast.
Differences
PyTorch: Changes the tensor type to float.
MindSpore:Converts the input type to the specified data type.
Code Example
import mindspore as ms
import mindspore.ops as ops
import torch
import numpy as np
# In MindSpore, you can specify the data type to be transformed into.
input_x = ms.Tensor(np.random.randn(2, 3, 4, 5).astype(np.float32))
cast = ops.Cast()
output = cast(input_x, ms.int32)
print(output.dtype)
print(output.shape)
# Out:
# Int32
# (2, 3, 4, 5)
# In torch, the input will be transformed into float.
input_x = torch.Tensor(np.random.randn(2, 3, 4, 5).astype(np.int32))
output = input_x.float()
print(output.dtype)
print(output.shape)
# Out:
# torch.float32
# torch.Size([2, 3, 4, 5])