比较与torch.Tensor.float的功能差异
torch.Tensor.float
torch.Tensor.float(memory_format=torch.preserve_format)
更多内容详见torch.Tensor.float。
mindspore.ops.Cast
class mindspore.ops.Cast(*args, **kwargs)(
input_x,
type
)
更多内容详见mindspore.ops.Cast。
使用方式
PyTorch:将tensor类型转成为float类型。
MindSpore:将输入类型转换为指定的数据类型。
代码示例
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, mindspore.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])