Differences with torchvision.transforms.ConvertImageDtype
torchvision.transforms.ConvertImageDtype
class torchvision.transforms.ConvertImageDtype(
dtype: torch.dtype
)
For more information, see torchvision.transforms.ConvertImageDtype.
mindspore.dataset.transforms.TypeCast
class mindspore.dataset.transforms.TypeCast(
output_type
)
For more information, see mindspore.dataset.transforms.TypeCast.
Differences
PyTorch: Convert a tensor image to the given dtype and scale the values accordingly. This function does not support PIL Image.
MindSpore: Convert the input numpy.ndarray image to the desired dtype.
Code Example
from download import download
from PIL import Image
url = "https://mindspore-website.obs.cn-north-4.myhuaweicloud.com/notebook/datasets/flamingos.jpg"
download(url, './flamingos.jpg', replace=True)
orig_img = Image.open('flamingos.jpg')
# PyTorch
import torch
import torchvision.transforms as T
to_tensor = T.ToTensor()
convert = T.ConvertImageDtype(torch.float)
img_torch = T.Compose([to_tensor, convert])((orig_img))
print(img_torch.dtype)
# Out: torch.float32
# MindSpore
import mindspore.dataset.vision as vision
import mindspore.dataset.transforms as transforms
to_tensor = vision.ToTensor()
convert = transforms.TypeCast("float32")
img_ms = transforms.Compose([to_tensor, convert])((orig_img))
print(img_ms[0].dtype)
# Out: float32