mindspore.dataset.serialize

mindspore.dataset.serialize(dataset, json_filepath='')[源代码]

将数据处理管道序列化成JSON文件。

说明

目前不支持对Python对象进行完整的序列化。不支持的场景包括数据管道中使用了 GeneratorDataset 或包含自定义Python函数的 mapbatch 操作。 对于Python对象,序列化操作不会得到完整的对象内容,这意味着对序列化得到的JSON文件进行反序列化时,可能会导致错误。 例如,对自定义Python函数(Python user-defined functions)的数据管道进行序列化时,会出现相关警告提示,并且得到的JSON文件不能被反序列化为可用的数据管道。

参数:
  • dataset (Dataset) - 数据处理管道对象。

  • json_filepath (str) - 生成序列化JSON文件的路径。默认值: '' ,不指定JSON路径。

返回:

Dict,包含序列化数据集图的字典。

异常:
  • OSError - 无法打开文件。

样例:

>>> import mindspore.dataset as ds
>>> import mindspore.dataset.transforms as transforms
>>>
>>> mnist_dataset_dir = "/path/to/mnist_dataset_directory"
>>> dataset = ds.MnistDataset(mnist_dataset_dir, num_samples=100)
>>> one_hot_encode = transforms.OneHot(10)  # num_classes is input argument
>>> dataset = dataset.map(operations=one_hot_encode, input_columns="label")
>>> dataset = dataset.batch(batch_size=10, drop_remainder=True)
>>> # serialize it to JSON file
>>> serialized_data = ds.serialize(dataset, json_filepath="/path/to/mnist_dataset_pipeline.json")