mindspore.dataset.vision.LinearTransformation

class mindspore.dataset.vision.LinearTransformation(transformation_matrix, mean_vector)[源代码]

使用指定的变换方阵和均值向量对输入numpy.ndarray图像进行线性变换。

先将输入图像展平为一维,从中减去均值向量,然后计算其与变换方阵的点积,最后再变形回原始shape。

参数:

  • transformation_matrix (numpy.ndarray) - shape为(D, D)的变换方阵,其中

    \(D = C \times H \times W\)

  • mean_vector (numpy.ndarray) - shape为(D,)的均值向量,其中

    \(D = C \times H \times W\)

异常:

  • TypeError - 当 transformation_matrix 的类型不为 numpy.ndarray

  • TypeError - 当 mean_vector 的类型不为 numpy.ndarray

支持平台:

CPU

样例:

>>> import numpy as np
>>> from mindspore.dataset.transforms import Compose
>>>
>>> height, width = 32, 32
>>> dim = 3 * height * width
>>> transformation_matrix = np.ones([dim, dim])
>>> mean_vector = np.zeros(dim)
>>> transforms_list = Compose([vision.Decode(to_pil=True)),
...                            vision.Resize((height,width)),
...                            vision.ToTensor(),
...                            vision.LinearTransformation(transformation_matrix, mean_vector)])
>>> # apply the transform to dataset through map function
>>> image_folder_dataset = image_folder_dataset.map(operations=transforms_list,
...                                                 input_columns="image")