mindspore.dataset.Schema
- class mindspore.dataset.Schema(schema_file=None)[源代码]
用于解析和存储数据列属性的类。
- 参数:
schema_file (str) - schema文件的路径。默认值:
None
。
- 异常:
RuntimeError - schema文件加载失败。
样例:
>>> import mindspore.dataset as ds >>> from mindspore import dtype as mstype >>> >>> # Create schema; specify column name, mindspore.dtype and shape of the column >>> schema = ds.Schema() >>> schema.add_column(name='col1', de_type=mstype.int64, shape=[2])
- add_column(name, de_type, shape=None)[源代码]
向schema中添加新列。
- 参数:
name (str) - 列的新名称。
de_type (str) - 列的数据类型。
shape (list[int], 可选) - 列shape。默认值:
None
,-1
表示该维度的shape是未知的。
- 异常:
ValueError - 列类型未知。
样例:
>>> import mindspore.dataset as ds >>> from mindspore import dtype as mstype >>> >>> schema = ds.Schema() >>> schema.add_column('col_1d', de_type=mstype.int64, shape=[2])
- from_json(json_obj)[源代码]
从JSON对象获取schema文件。
- 参数:
json_obj (dictionary) - 解析的JSON对象。
- 异常:
RuntimeError - 对象中存在未知的项。
RuntimeError - 对象中缺少数据集类型。
RuntimeError - 对象中缺少列。
样例:
>>> import json >>> from mindspore.dataset import Schema >>> >>> with open("/path/to/schema_file", "r") as file: ... json_obj = json.load(file) ... schema = Schema() ... schema.from_json(json_obj)
- parse_columns(columns)[源代码]
解析传入的数据列的属性并将其添加到自身的schema中。
- 参数:
columns (Union[dict, list[dict], tuple[dict]]) - 数据集属性信息,从schema文件解码。
list [dict]:’name’和 ‘type’必须为key值, ‘shape’可选。
dict :columns.keys()作为名称,columns.values()是dict,其中包含 ‘type’, ‘shape’可选。
- 异常:
RuntimeError - 解析列失败。
RuntimeError - 列name字段缺失。
RuntimeError - 列type字段缺失。
样例:
>>> from mindspore.dataset import Schema >>> schema = Schema() >>> columns1 = [{'name': 'image', 'type': 'int8', 'shape': [3, 3]}, ... {'name': 'label', 'type': 'int8', 'shape': [1]}] >>> schema.parse_columns(columns1) >>> columns2 = {'image': {'shape': [3, 3], 'type': 'int8'}, 'label': {'shape': [1], 'type': 'int8'}} >>> schema.parse_columns(columns2)