mindspore.dataset.transforms.Concatenate

class mindspore.dataset.transforms.Concatenate(axis=0, prepend=None, append=None)[源代码]

在输入数据的某一个轴上进行数组拼接,目前仅支持拼接形状为1D的数组。

参数:
  • axis (int, 可选) - 指定一个轴用于拼接数组。默认值: 0

  • prepend (numpy.ndarray, 可选) - 想要拼接到输入数据首部的数组。默认值: None ,不在首部拼接数组。

  • append (numpy.ndarray, 可选) - 想要拼接到输入数据尾部的数组。默认值: None ,不在尾部拼接数组。

异常:
  • TypeError - 参数 axis 的类型不为int。

  • TypeError - 参数 prepend 的类型不为 numpy.ndarray

  • TypeError - 参数 append 的类型不为 numpy.ndarray

支持平台:

CPU

样例:

>>> import numpy as np
>>> import mindspore.dataset as ds
>>> import mindspore.dataset.transforms as transforms
>>>
>>> # Use the transform in dataset pipeline mode
>>> # concatenate string
>>> prepend_tensor = np.array(["dw", "df"])
>>> append_tensor = np.array(["dwsdf", "df"])
>>> concatenate_op = transforms.Concatenate(0, prepend_tensor, append_tensor)
>>> data = [["This","is","a","string"]]
>>> numpy_slices_dataset = ds.NumpySlicesDataset(data)
>>> numpy_slices_dataset = numpy_slices_dataset.map(operations=concatenate_op)
>>> for item in numpy_slices_dataset.create_dict_iterator(num_epochs=1, output_numpy=True):
...     print(item["column_0"].shape, item["column_0"].dtype)
(8,) <U6
>>>
>>> # Use the transform in eager mode
>>> data = np.array([1, 2, 3])
>>> prepend_tensor = np.array([10, 20])
>>> append_tensor = np.array([100])
>>> output = transforms.Concatenate(0, prepend_tensor, append_tensor)(data)
>>> print(output.shape, output.dtype)
(6,) int64