mindspore.dataset.Schema
- class mindspore.dataset.Schema(schema_file=None)[源代码]
用于解析和存储数据列属性的类。
参数:
schema_file (str): schema文件的路径,默认值:None。
返回:
schema对象,关于数据集的行列配置的策略信息。
异常:
RuntimeError: 模式文件加载失败。
样例:
>>> 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 列类型未知。
- from_json(json_obj)[源代码]
从JSON对象获取schema文件。
参数:
json_obj (dictionary): 解析的JSON对象。
异常:
RuntimeError 对象中存在未知的项。
RuntimeError 对象中缺少数据集类型。
RuntimeError 对象中缺少列。
- 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)