forked from huawei/mindspore2022
90 lines
2.7 KiB
ReStructuredText
90 lines
2.7 KiB
ReStructuredText
mindspore.dataset.Schema
|
||
=========================
|
||
|
||
.. py:class:: mindspore.dataset.Schema(schema_file=None)
|
||
|
||
代表一个解析和存储数据列属性的类。
|
||
|
||
**参数:**
|
||
|
||
- **schema_file** (str): schema文件的路径(默认值为None)。
|
||
|
||
**返回:**
|
||
|
||
schema对象,关于数据集的行列配置的策略信息。
|
||
|
||
**异常:**
|
||
|
||
**RuntimeError**: 模式文件加载失败。
|
||
|
||
**样例:**
|
||
|
||
>>> from mindspore import dtype as mstype
|
||
>>>
|
||
>>> # 创建模式;指定列名、mindspore.dtype和列shape。
|
||
>>> schema = ds.Schema()
|
||
>>> schema.add_column(name='col1', de_type=mstype.int64, shape=[2])
|
||
|
||
.. py:method::add_column(name, de_type, shape=None)
|
||
|
||
向schema中添加新列。
|
||
|
||
**参数:**
|
||
|
||
- **name** (str): 列的新名称。
|
||
- **de_type** (str): 列的数据类型。
|
||
- **shape** (list[int], optional): 列shape(默认值为None,[-1]表示rank 1的未知shape)。
|
||
|
||
**异常:**
|
||
|
||
**ValueError:** 列类型未知。
|
||
|
||
.. py:method::from_json(json_obj)
|
||
|
||
从JSON对象获取schema文件。
|
||
|
||
**参数:**
|
||
|
||
- **json_obj** (dictionary): 解析的JSON对象。
|
||
|
||
**异常:**
|
||
|
||
- **RuntimeError:** 对象中存在未知的项。
|
||
- **RuntimeError:** 对象中缺少数据集类型。
|
||
- **RuntimeError:** 对象中缺少列。
|
||
|
||
.. py:method::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字段缺失。
|
||
|
||
**样例:**
|
||
|
||
>>> 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)
|
||
|
||
|
||
.. py:method::to_json()
|
||
|
||
获取schema的JSON字符串。
|
||
|
||
**返回:**
|
||
|
||
str,模式的JSON字符串。
|
||
|