ToTensor¶
- class paddle.vision.transforms. ToTensor ( data_format='CHW', keys=None ) [source]
-
Convert a
PIL.Image
ornumpy.ndarray
topaddle.Tensor
.Converts a PIL.Image or numpy.ndarray (H x W x C) to a paddle.Tensor of shape (C x H x W).
If input is a grayscale image (H x W), it will be converted to an image of shape (H x W x 1). And the shape of output tensor will be (1 x H x W).
If you want to keep the shape of output tensor as (H x W x C), you can set data_format =
HWC
.Converts a PIL.Image or numpy.ndarray in the range [0, 255] to a paddle.Tensor in the range [0.0, 1.0] if the PIL Image belongs to one of the modes (L, LA, P, I, F, RGB, YCbCr, RGBA, CMYK, 1) or if the numpy.ndarray has dtype = np.uint8.
In the other cases, tensors are returned without scaling.
- Parameters
-
data_format (str, optional) – Data format of output tensor, should be ‘HWC’ or ‘CHW’. Default: ‘CHW’.
keys (list[str]|tuple[str], optional) – Same as
BaseTransform
. Default: None.
- Shape:
-
img(PIL.Image|np.ndarray): The input image with shape (H x W x C).
output(np.ndarray): A tensor with shape (C x H x W) or (H x W x C) according option data_format.
- Returns
-
A callable object of ToTensor.
Examples
>>> from PIL import Image >>> import paddle >>> import paddle.vision.transforms as T >>> import paddle.vision.transforms.functional as F >>> img_arr = ((paddle.rand((4, 5, 3)) * 255.).astype('uint8')).numpy() >>> fake_img = Image.fromarray(img_arr) >>> transform = T.ToTensor() >>> tensor = transform(fake_img) >>> print(tensor.shape) [3, 4, 5] >>> print(tensor.dtype) paddle.float32