to_tensor

paddle.vision.transforms. to_tensor ( pic, data_format='CHW' ) [source]

Converts a PIL.Image or numpy.ndarray to paddle.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
  • pic (PIL.Image|np.ndarray) – Image to be converted to tensor.

  • data_format (str, optional) – Data format of output tensor, should be ‘HWC’ or ‘CHW’. Default: ‘CHW’.

Returns

Converted image. Data type is same as input img.

Return type

Tensor

Examples

>>> import numpy as np
>>> from PIL import Image
>>> from paddle.vision.transforms import functional as F
>>> fake_img = (np.random.rand(256, 300, 3) * 255.).astype('uint8')
>>> fake_img = Image.fromarray(fake_img)
>>> tensor = F.to_tensor(fake_img)
>>> print(tensor.shape)
[3, 256, 300]