fix some error.

This commit is contained in:
zhangyi 2022-01-25 16:41:47 +08:00
parent a9b9d87273
commit 60e15f80cc
10 changed files with 338 additions and 338 deletions

View File

@ -2,41 +2,41 @@
.. py:method:: get_num_samples()
返回采样器采集样本数量如果存在子采样器则子采样器计数可以是数值或None。这些条件会影响最终的采样结果。
下表显示了调用此函数的可能结果。
.. list-table::
:widths: 25 25 25 25
:header-rows: 1
.. list-table::
:widths: 25 25 25 25
:header-rows: 1
* - 子采样器
- num_samples
- child_samples
- 结果
* - T
- x
- y
- min(x, y)
* - T
- x
- None
- x
* - T
- None
- y
- y
* - T
- None
- None
- None
* - None
- x
- n/a
- x
* - None
- None
- n/a
- None
* - 子采样器
- num_samples
- child_samples
- 结果
* - T
- x
- y
- min(x, y)
* - T
- x
- None
- x
* - T
- None
- y
- y
* - T
- None
- None
- None
* - None
- x
- n/a
- x
* - None
- None
- n/a
- None
**返回:**

View File

@ -1,477 +1,477 @@
.. py:method:: close_pool()
.. py:method:: close_pool()
关闭数据集对象中的多进程池。如果您熟悉多进程库,可以将此视为进程池对象的析构函数。
关闭数据集对象中的多进程池。如果您熟悉多进程库,可以将此视为进程池对象的析构函数。
.. py:method:: concat(datasets)
.. py:method:: concat(datasets)
对传入的多个数据集对象进行拼接操作,也可以使用"+"运算符来进行数据集进行拼接。
对传入的多个数据集对象进行拼接操作,也可以使用"+"运算符来进行数据集进行拼接。
.. note::
用于拼接的多个数据集对象每个数据集对象的列名、每列数据的维度rank和数据类型必须相同。
.. note::
用于拼接的多个数据集对象每个数据集对象的列名、每列数据的维度rank和数据类型必须相同。
**参数:**
**参数:**
- **datasets** (Union[list, Dataset]) - 与当前数据集对象拼接的数据集对象列表或单个数据集对象。
- **datasets** (Union[list, Dataset]) - 与当前数据集对象拼接的数据集对象列表或单个数据集对象。
**返回:**
**返回:**
Dataset拼接后的数据集对象。
Dataset拼接后的数据集对象。
.. py:method:: create_dict_iterator(num_epochs=-1, output_numpy=False)
.. py:method:: create_dict_iterator(num_epochs=-1, output_numpy=False)
基于数据集对象创建迭代器,输出的数据为字典类型。
基于数据集对象创建迭代器,输出的数据为字典类型。
**参数:**
**参数:**
- **num_epochs** (int, 可选) - 迭代器可以迭代的最大次数。默认值:-1迭代器可以迭代无限次。
- **output_numpy** (bool, 可选) - 输出的数据是否转为NumPy类型。如果为False迭代器输出的每列数据类型为MindSpore.Tensor否则为NumPy。默认值False。
- **num_epochs** (int, 可选) - 迭代器可以迭代的最大次数。默认值:-1迭代器可以迭代无限次。
- **output_numpy** (bool, 可选) - 输出的数据是否转为NumPy类型。如果为False迭代器输出的每列数据类型为MindSpore.Tensor否则为NumPy。默认值False。
**返回:**
**返回:**
DictIterator基于数据集对象创建的字典迭代器。
DictIterator基于数据集对象创建的字典迭代器。
.. py:method:: create_tuple_iterator(columns=None, num_epochs=-1, output_numpy=False, do_copy=True)
.. py:method:: create_tuple_iterator(columns=None, num_epochs=-1, output_numpy=False, do_copy=True)
基于数据集对象创建迭代器输出数据为ndarray组成的列表。
基于数据集对象创建迭代器输出数据为ndarray组成的列表。
可以通过参数 `columns` 指定输出的所有列名及列的顺序。如果columns未指定列的顺序将保持不变。
可以通过参数 `columns` 指定输出的所有列名及列的顺序。如果columns未指定列的顺序将保持不变。
**参数:**
**参数:**
- **columns** (list[str], 可选) - 用于指定输出的数据列和列的顺序。默认值None输出所有数据列。
- **num_epochs** (int, 可选) - 迭代器可以迭代的最大次数。默认值:-1迭代器可以迭代无限次。
- **output_numpy** (bool, 可选) - 输出的数据是否转为NumPy类型。如果为False迭代器输出的每列数据类型为MindSpore.Tensor否则为NumPy。默认值False。
- **do_copy** (bool, 可选) - 当参数 `output_numpy` 为False即输出数据类型为mindspore.Tensor时可以将此参数指定为False以减少拷贝获得更好的性能。默认值True。
- **columns** (list[str], 可选) - 用于指定输出的数据列和列的顺序。默认值None输出所有数据列。
- **num_epochs** (int, 可选) - 迭代器可以迭代的最大次数。默认值:-1迭代器可以迭代无限次。
- **output_numpy** (bool, 可选) - 输出的数据是否转为NumPy类型。如果为False迭代器输出的每列数据类型为MindSpore.Tensor否则为NumPy。默认值False。
- **do_copy** (bool, 可选) - 当参数 `output_numpy` 为False即输出数据类型为mindspore.Tensor时可以将此参数指定为False以减少拷贝获得更好的性能。默认值True。
**返回:**
**返回:**
TupleIterator基于数据集对象创建的元组迭代器。
TupleIterator基于数据集对象创建的元组迭代器。
.. py:method:: device_que(send_epoch_end=True, create_data_info_queue=False)
.. py:method:: device_que(send_epoch_end=True, create_data_info_queue=False)
将数据异步传输到Ascend/GPU设备上。
将数据异步传输到Ascend/GPU设备上。
**参数:**
**参数:**
- **send_epoch_end** (bool, 可选) - 数据发送完成后是否发送结束标识到设备上默认值True。
- **create_data_info_queue** (bool, 可选) - 是否创建一个队列用于存储每条数据的数据类型和shape。默认值False不创建。
- **send_epoch_end** (bool, 可选) - 数据发送完成后是否发送结束标识到设备上默认值True。
- **create_data_info_queue** (bool, 可选) - 是否创建一个队列用于存储每条数据的数据类型和shape。默认值False不创建。
.. note::
如果设备类型为Ascend每次传输的数据大小限制为256MB。
.. note::
如果设备类型为Ascend每次传输的数据大小限制为256MB。
**返回:**
**返回:**
Dataset用于帮助发送数据到设备上的数据集对象。
Dataset用于帮助发送数据到设备上的数据集对象。
.. py:method:: dynamic_min_max_shapes()
.. py:method:: dynamic_min_max_shapes()
当数据集对象中的数据shape不唯一动态shape获取数据的最小shape和最大shape。
当数据集对象中的数据shape不唯一动态shape获取数据的最小shape和最大shape。
**返回:**
**返回:**
两个列表代表最小shape和最大shape每个列表中的shape按照数据列的顺序排列。
两个列表代表最小shape和最大shape每个列表中的shape按照数据列的顺序排列。
.. py:method:: filter(predicate, input_columns=None, num_parallel_workers=None)
.. py:method:: filter(predicate, input_columns=None, num_parallel_workers=None)
通过自定义判断条件对数据集对象中的数据进行过滤。
通过自定义判断条件对数据集对象中的数据进行过滤。
**参数:**
**参数:**
- **predicate** (callable) - Python可调用对象。要求该对象接收n个入参用于指代每个数据列的数据最后返回值一个bool值。
如果返回值为False则表示过滤掉该条数据。注意n的值与参数 `input_columns` 表示的输入列数量一致。
- **input_columns** (Union[str, list[str]], 可选) - `filter` 操作的输入数据列。默认值None`predicate` 将应用于数据集中的所有列。
- **num_parallel_workers** (int, 可选) - 指定 `filter` 操作的并发线程数。默认值None使用mindspore.dataset.config中配置的线程数。
- **predicate** (callable) - Python可调用对象。要求该对象接收n个入参用于指代每个数据列的数据最后返回值一个bool值。
如果返回值为False则表示过滤掉该条数据。注意n的值与参数 `input_columns` 表示的输入列数量一致。
- **input_columns** (Union[str, list[str]], 可选) - `filter` 操作的输入数据列。默认值None`predicate` 将应用于数据集中的所有列。
- **num_parallel_workers** (int, 可选) - 指定 `filter` 操作的并发线程数。默认值None使用mindspore.dataset.config中配置的线程数。
**返回:**
**返回:**
Dataset执行给定筛选过滤操作的数据集对象。
Dataset执行给定筛选过滤操作的数据集对象。
.. py:method:: flat_map(func)
.. py:method:: flat_map(func)
对数据集对象中每一条数据执行给定的数据处理,并将结果展平。
对数据集对象中每一条数据执行给定的数据处理,并将结果展平。
**参数:**
**参数:**
- **func** (function) - 数据处理函数,要求输入必须为一个'ndarray',返回值是一个'Dataset'对象。
- **func** (function) - 数据处理函数,要求输入必须为一个'ndarray',返回值是一个'Dataset'对象。
**返回:**
**返回:**
执行给定操作后的数据集对象。
执行给定操作后的数据集对象。
**异常:**
**异常:**
- **TypeError** - `func` 不是函数。
- **TypeError** - `func` 的返回值不是数据集对象。
- **TypeError** - `func` 不是函数。
- **TypeError** - `func` 的返回值不是数据集对象。
.. py:method:: get_batch_size()
.. py:method:: get_batch_size()
获得数据集对象定义的批处理大小,即一个批处理数据中包含的数据条数。
获得数据集对象定义的批处理大小,即一个批处理数据中包含的数据条数。
**返回:**
**返回:**
int一个批处理数据中包含的数据条数。
int一个批处理数据中包含的数据条数。
.. py:method:: get_class_indexing()
.. py:method:: get_class_indexing()
返回类别索引。
返回类别索引。
**返回:**
**返回:**
dict描述类别名称到索引的键值对映射关系通常为str-to-int格式。针对COCO数据集类别名称到索引映射关系描述形式为str-to-list<int>格式,列表中的第二个数字表示超级类别。
dict描述类别名称到索引的键值对映射关系通常为str-to-int格式。针对COCO数据集类别名称到索引映射关系描述形式为str-to-list<int>格式,列表中的第二个数字表示超级类别。
.. py:method:: get_col_names()
.. py:method:: get_col_names()
返回数据集对象中包含的列名。
返回数据集对象中包含的列名。
**返回:**
**返回:**
list数据集中所有列名组成列表。
list数据集中所有列名组成列表。
.. py:method:: get_dataset_size()
.. py:method:: get_dataset_size()
返回一个epoch中的batch数。
返回一个epoch中的batch数。
**返回:**
**返回:**
intbatch的数目。
intbatch的数目。
.. py:method:: get_repeat_count()
.. py:method:: get_repeat_count()
获取 `RepeatDataset` 中定义的repeat操作的次数。默认值1。
获取 `RepeatDataset` 中定义的repeat操作的次数。默认值1。
**返回:**
**返回:**
intrepeat操作的次数。
intrepeat操作的次数。
.. py:method:: input_indexs
:property:
.. py:method:: input_indexs
:property:
获取input index信息。
获取input index信息。
**返回:**
**返回:**
input index信息的元组。
input index信息的元组。
.. py:method:: map(operations, input_columns=None, output_columns=None, column_order=None, num_parallel_workers=None, python_multiprocessing=False, cache=None, callbacks=None, max_rowsize=16, offload=None)
.. py:method:: map(operations, input_columns=None, output_columns=None, column_order=None, num_parallel_workers=None, python_multiprocessing=False, cache=None, callbacks=None, max_rowsize=16, offload=None)
给定一组数据增强列表,按顺序将数据增强作用在数据集对象上。
给定一组数据增强列表,按顺序将数据增强作用在数据集对象上。
每个数据增强操作将数据集对象中的一个或多个数据列作为输入,将数据增强的结果输出为一个或多个数据列。
第一个数据增强操作将 `input_columns` 中指定的列作为输入。
如果数据增强列表中存在多个数据增强操作,则上一个数据增强的输出列将作为下一个数据增强的输入列。
每个数据增强操作将数据集对象中的一个或多个数据列作为输入,将数据增强的结果输出为一个或多个数据列。
第一个数据增强操作将 `input_columns` 中指定的列作为输入。
如果数据增强列表中存在多个数据增强操作,则上一个数据增强的输出列将作为下一个数据增强的输入列。
最后一个数据增强的输出列的列名由 `output_columns` 指定,如果没有指定 `output_columns` ,输出列名与 `input_columns` 一致。
最后一个数据增强的输出列的列名由 `output_columns` 指定,如果没有指定 `output_columns` ,输出列名与 `input_columns` 一致。
**参数:**
**参数:**
- **operations** (Union[list[TensorOp], list[functions]]) - 一组数据增强操作支持数据集增强算子或者用户自定义的Python Callable对象。map操作将按顺序将一组数据增强作用在数据集对象上。
- **input_columns** (Union[str, list[str]], 可选) - 第一个数据增强操作的输入数据列。此列表的长度必须与 `operations` 列表中第一个数据增强的预期输入列数相匹配。默认值None。表示所有数据列都将传递给第一个数据增强操作。
- **output_columns** (Union[str, list[str]], 可选) - 最后一个数据增强操作的输出数据列。如果 `input_columns` 长度不等于 `output_columns` 长度则必须指定此参数。列表的长度必须必须与最后一个数据增强的输出列数相匹配。默认值None输出列将与输入列具有相同的名称。
- **column_order** (Union[str, list[str]], 可选) - 指定传递到下一个数据集操作的数据列的顺序。如果 `input_columns` 长度不等于 `output_columns` 长度,则必须指定此参数。 注意:参数的列名不限定在 `input_columns``output_columns` 中指定的列也可以是上一个操作输出的未被处理的数据列。默认值None按照原输入顺序排列。
- **num_parallel_workers** (int, 可选) - 指定map操作的多进程/多线程并发数加快处理速度。默认值None将使用 `set_num_parallel_workers` 设置的并发数。
- **python_multiprocessing** (bool, 可选) - 启用Python多进程模式加速map操作。当传入的 `operations` 计算量很大时开启此选项可能会有较好效果。默认值False。
- **cache** (DatasetCache, 可选) - 单节点数据缓存服务,用于加快数据集处理,详情请阅读 `单节点数据缓存 <https://www.mindspore.cn/docs/programming_guide/zh-CN/master/cache.html>`_ 。默认值None不使用缓存。
- **callbacks** (DSCallback, list[DSCallback], 可选) - 要调用的Dataset回调函数列表。默认值None。
- **max_rowsize** (int, 可选) - 指定在多进程之间复制数据时,共享内存分配的最大空间,仅当 `python_multiprocessing` 为True时该选项有效。默认值16数量级为MB。
- **offload** (bool, 可选) - 是否进行异构硬件加速,详情请阅读 `数据准备异构加速 <https://www.mindspore.cn/docs/programming_guide/zh-CN/master/enable_dataset_offload.html>`_ 。默认值None。
- **operations** (Union[list[TensorOp], list[functions]]) - 一组数据增强操作支持数据集增强算子或者用户自定义的Python Callable对象。map操作将按顺序将一组数据增强作用在数据集对象上。
- **input_columns** (Union[str, list[str]], 可选) - 第一个数据增强操作的输入数据列。此列表的长度必须与 `operations` 列表中第一个数据增强的预期输入列数相匹配。默认值None。表示所有数据列都将传递给第一个数据增强操作。
- **output_columns** (Union[str, list[str]], 可选) - 最后一个数据增强操作的输出数据列。如果 `input_columns` 长度不等于 `output_columns` 长度则必须指定此参数。列表的长度必须必须与最后一个数据增强的输出列数相匹配。默认值None输出列将与输入列具有相同的名称。
- **column_order** (Union[str, list[str]], 可选) - 指定传递到下一个数据集操作的数据列的顺序。如果 `input_columns` 长度不等于 `output_columns` 长度,则必须指定此参数。 注意:参数的列名不限定在 `input_columns``output_columns` 中指定的列也可以是上一个操作输出的未被处理的数据列。默认值None按照原输入顺序排列。
- **num_parallel_workers** (int, 可选) - 指定map操作的多进程/多线程并发数加快处理速度。默认值None将使用 `set_num_parallel_workers` 设置的并发数。
- **python_multiprocessing** (bool, 可选) - 启用Python多进程模式加速map操作。当传入的 `operations` 计算量很大时开启此选项可能会有较好效果。默认值False。
- **cache** (DatasetCache, 可选) - 单节点数据缓存服务,用于加快数据集处理,详情请阅读 `单节点数据缓存 <https://www.mindspore.cn/docs/programming_guide/zh-CN/master/cache.html>`_ 。默认值None不使用缓存。
- **callbacks** (DSCallback, list[DSCallback], 可选) - 要调用的Dataset回调函数列表。默认值None。
- **max_rowsize** (int, 可选) - 指定在多进程之间复制数据时,共享内存分配的最大空间,仅当 `python_multiprocessing` 为True时该选项有效。默认值16数量级为MB。
- **offload** (bool, 可选) - 是否进行异构硬件加速,详情请阅读 `数据准备异构加速 <https://www.mindspore.cn/docs/programming_guide/zh-CN/master/enable_dataset_offload.html>`_ 。默认值None。
.. note::
- `operations` 参数主要接收 `mindspore.dataset` 模块中c_transforms、py_transforms算子以及用户定义的Python函数(PyFuncs)。
- 不要将 `mindspore.nn``mindspore.ops` 或其他的网络计算算子添加到 `operations` 中。
.. note::
- `operations` 参数主要接收 `mindspore.dataset` 模块中c_transforms、py_transforms算子以及用户定义的Python函数(PyFuncs)。
- 不要将 `mindspore.nn``mindspore.ops` 或其他的网络计算算子添加到 `operations` 中。
**返回:**
**返回:**
MapDatasetmap操作后的数据集。
MapDatasetmap操作后的数据集。
.. py:method:: num_classes()
.. py:method:: num_classes()
获取数据集对象中所有样本的类别数目。
获取数据集对象中所有样本的类别数目。
**返回:**
**返回:**
int类别的数目。
int类别的数目。
.. py:method:: output_shapes()
.. py:method:: output_shapes()
获取数据集对象中每列数据的shape。
获取数据集对象中每列数据的shape。
**返回:**
**返回:**
list每列数据的shape列表。
list每列数据的shape列表。
.. py:method:: output_types()
.. py:method:: output_types()
获取数据集对象中每列数据的数据类型。
获取数据集对象中每列数据的数据类型。
**返回:**
**返回:**
list每列数据的数据类型列表。
list每列数据的数据类型列表。
.. py:method:: project(columns)
.. py:method:: project(columns)
从数据集对象中选择需要的列,并按给定的列名的顺序进行排序,
未指定的数据列将被丢弃。
从数据集对象中选择需要的列,并按给定的列名的顺序进行排序,
未指定的数据列将被丢弃。
**参数:**
**参数:**
- **columns** (Union[str, list[str]]) - 要选择的数据列的列名列表。
- **columns** (Union[str, list[str]]) - 要选择的数据列的列名列表。
**返回:**
**返回:**
ProjectDatasetproject操作后的数据集对象。
ProjectDatasetproject操作后的数据集对象。
.. py:method:: rename(input_columns, output_columns)
.. py:method:: rename(input_columns, output_columns)
对数据集对象按指定的列名进行重命名。
对数据集对象按指定的列名进行重命名。
**参数:**
**参数:**
- **input_columns** (Union[str, list[str]]) - 待重命名的列名列表。
- **output_columns** (Union[str, list[str]]) - 重命名后的列名列表。
- **input_columns** (Union[str, list[str]]) - 待重命名的列名列表。
- **output_columns** (Union[str, list[str]]) - 重命名后的列名列表。
**返回:**
**返回:**
RenameDatasetrename操作后的数据集对象。
RenameDatasetrename操作后的数据集对象。
.. py:method:: repeat(count=None)
.. py:method:: repeat(count=None)
重复此数据集 `count` 次。如果 `count` 为None或-1则无限重复。
重复此数据集 `count` 次。如果 `count` 为None或-1则无限重复。
.. note::
repeat和batch的顺序反映了batch的数量。建议repeat操作在batch操作之后使用。
.. note::
repeat和batch的顺序反映了batch的数量。建议repeat操作在batch操作之后使用。
**参数:**
**参数:**
- **count** (int) - 数据集重复的次数。默认值None。
- **count** (int) - 数据集重复的次数。默认值None。
**返回:**
**返回:**
RepeatDatasetrepeat操作后的数据集对象。
RepeatDatasetrepeat操作后的数据集对象。
.. py:method:: reset()
.. py:method:: reset()
重置下一个epoch的数据集对象。
重置下一个epoch的数据集对象。
.. py:method:: save(file_name, num_files=1, file_type='mindrecord')
.. py:method:: save(file_name, num_files=1, file_type='mindrecord')
将数据处理管道中正处理的数据保存为通用的数据集格式。支持的数据集格式:'mindrecord'。
将数据处理管道中正处理的数据保存为通用的数据集格式。支持的数据集格式:'mindrecord'。
将数据保存为'mindrecord'格式时存在隐式类型转换。转换表展示如何执行类型转换。
将数据保存为'mindrecord'格式时存在隐式类型转换。转换表展示如何执行类型转换。
.. list-table:: 保存为'mindrecord'格式时的隐式类型转换
:widths: 25 25 50
:header-rows: 1
.. list-table:: 保存为'mindrecord'格式时的隐式类型转换
:widths: 25 25 50
:header-rows: 1
* - 'dataset'类型
- 'mindrecord'类型
- 详细
* - bool
- None
- 不支持
* - int8
- int32
-
* - uint8
- bytes
- 丢失维度信息
* - int16
- int32
-
* - uint16
- int32
-
* - int32
- int32
-
* - uint32
- int64
-
* - int64
- int64
-
* - uint64
- None
- 不支持
* - float16
- float32
-
* - float32
- float32
-
* - float64
- float64
-
* - string
- string
- 不支持多维字符串
* - 'dataset'类型
- 'mindrecord'类型
- 详细
* - bool
- None
- 不支持
* - int8
- int32
-
* - uint8
- bytes
- 丢失维度信息
* - int16
- int32
-
* - uint16
- int32
-
* - int32
- int32
-
* - uint32
- int64
-
* - int64
- int64
-
* - uint64
- None
- 不支持
* - float16
- float32
-
* - float32
- float32
-
* - float64
- float64
-
* - string
- string
- 不支持多维字符串
.. note::
1. 如需按顺序保存数据,将数据集的 `shuffle` 设置为False`num_files` 设置为1。
2. 在执行保存操作之前不要使用batch操作、repeat操作或具有随机属性的数据增强的map操作。
3. 当数据的维度可变时只支持1维数组或者在第0维变化的多维数组。
4. 不支持UINT64类型、多维的UINT8类型、多维STRING类型。
.. note::
1. 如需按顺序保存数据,将数据集的 `shuffle` 设置为False`num_files` 设置为1。
2. 在执行保存操作之前不要使用batch操作、repeat操作或具有随机属性的数据增强的map操作。
3. 当数据的维度可变时只支持1维数组或者在第0维变化的多维数组。
4. 不支持UINT64类型、多维的UINT8类型、多维STRING类型。
**参数:**
**参数:**
- **file_name** (str) - 数据集文件的路径。
- **num_files** (int, 可选) - 数据集文件的数量默认值1。
- **file_type** (str, 可选) - 数据集格式,默认值:'mindrecord'。
- **file_name** (str) - 数据集文件的路径。
- **num_files** (int, 可选) - 数据集文件的数量默认值1。
- **file_type** (str, 可选) - 数据集格式,默认值:'mindrecord'。
.. py:method:: set_dynamic_columns(columns=None)
.. py:method:: set_dynamic_columns(columns=None)
设置数据集的动态shape信息需要在定义好完整的数据处理管道后进行设置。
设置数据集的动态shape信息需要在定义好完整的数据处理管道后进行设置。
**参数:**
**参数:**
- **columns** (dict) - 包含数据集中每列shape信息的字典。shape[i]为 `None` 表示shape[i]的数据长度是动态的。
- **columns** (dict) - 包含数据集中每列shape信息的字典。shape[i]为 `None` 表示shape[i]的数据长度是动态的。
.. py:method:: shuffle(buffer_size)
.. py:method:: shuffle(buffer_size)
使用以下策略混洗此数据集的行:
使用以下策略混洗此数据集的行:
1. 生成一个混洗缓冲区包含 `buffer_size` 条数据行。
1. 生成一个混洗缓冲区包含 `buffer_size` 条数据行。
2. 从混洗缓冲区中随机选择一个数据行,传递给下一个操作。
2. 从混洗缓冲区中随机选择一个数据行,传递给下一个操作。
3. 从上一个操作获取下一个数据行(如果有的话),并将其放入混洗缓冲区中。
3. 从上一个操作获取下一个数据行(如果有的话),并将其放入混洗缓冲区中。
4. 重复步骤2和3直到混洗缓冲区中没有数据行为止。
4. 重复步骤2和3直到混洗缓冲区中没有数据行为止。
在第一个epoch中可以通过 `dataset.config.set_seed` 来设置随机种子在随后的每个epoch种子都会被设置成一个新产生的随机值。
在第一个epoch中可以通过 `dataset.config.set_seed` 来设置随机种子在随后的每个epoch种子都会被设置成一个新产生的随机值。
**参数:**
**参数:**
- **buffer_size** (int) - 用于混洗的缓冲区大小必须大于1。将 `buffer_size` 设置为数据集大小将进行全局混洗。
- **buffer_size** (int) - 用于混洗的缓冲区大小必须大于1。将 `buffer_size` 设置为数据集大小将进行全局混洗。
**返回:**
**返回:**
ShuffleDataset混洗后的数据集对象。
ShuffleDataset混洗后的数据集对象。
**异常:**
**异常:**
- **RuntimeError** - 混洗前存在通过 `dataset.sync_wait` 进行同步操作。
- **RuntimeError** - 混洗前存在通过 `dataset.sync_wait` 进行同步操作。
.. py:method:: skip(count)
.. py:method:: skip(count)
跳过此数据集对象的前 `count` 条数据。
跳过此数据集对象的前 `count` 条数据。
**参数:**
**参数:**
- **count** (int) - 要跳过数据的条数。
- **count** (int) - 要跳过数据的条数。
**返回:**
**返回:**
SkipDataset跳过指定条数据后的数据集对象。
SkipDataset跳过指定条数据后的数据集对象。
.. py:method:: split(sizes, randomize=True)
.. py:method:: split(sizes, randomize=True)
将数据集拆分为多个不重叠的子数据集。
将数据集拆分为多个不重叠的子数据集。
**参数:**
**参数:**
- **sizes** (Union[list[int], list[float]]) - 如果指定了一列整数[s1, s2, …, sn]数据集将被拆分为n个大小为s1、s2、...、sn的数据集。如果所有输入大小的总和不等于原始数据集大小则报错。如果指定了一列浮点数[f1, f2, …, fn]则所有浮点数必须介于0和1之间并且总和必须为1否则报错。数据集将被拆分为n个大小为round(f1*K)、round(f2*K)、...、round(fn*K)的数据集其中K是原始数据集的大小。
- **sizes** (Union[list[int], list[float]]) - 如果指定了一列整数[s1, s2, …, sn]数据集将被拆分为n个大小为s1、s2、...、sn的数据集。如果所有输入大小的总和不等于原始数据集大小则报错。如果指定了一列浮点数[f1, f2, …, fn]则所有浮点数必须介于0和1之间并且总和必须为1否则报错。数据集将被拆分为n个大小为round(f1*K)、round(f2*K)、...、round(fn*K)的数据集其中K是原始数据集的大小。
如果round四舍五入计算后
如果round四舍五入计算后
- 任何子数据集的的大小等于0都将发生错误。
- 如果子数据集大小的总和小于KK - sigma(round(fi * k))的值将添加到第一个子数据集sigma为求和操作。
- 如果子数据集大小的总和大于Ksigma(round(fi * K)) - K的值将从第一个足够大的子数据集中删除且删除后的子数据集大小至少大于1。
- 任何子数据集的的大小等于0都将发生错误。
- 如果子数据集大小的总和小于KK - sigma(round(fi * k))的值将添加到第一个子数据集sigma为求和操作。
- 如果子数据集大小的总和大于Ksigma(round(fi * K)) - K的值将从第一个足够大的子数据集中删除且删除后的子数据集大小至少大于1。
- **randomize** (bool, 可选) - 确定是否随机拆分数据默认值True数据集将被随机拆分。否则将按顺序拆分为多个不重叠的子数据集。
- **randomize** (bool, 可选) - 确定是否随机拆分数据默认值True数据集将被随机拆分。否则将按顺序拆分为多个不重叠的子数据集。
.. note::
1. 如果进行拆分操作的数据集对象为MappableDataset类型则将自动调用一个优化后的split操作。
2. 如果进行split操作则不应对数据集对象进行分片操作如指定num_shards或使用DistributerSampler。相反如果创建一个DistributerSampler并在split操作拆分后的子数据集对象上进行分片操作强烈建议在每个子数据集上设置相同的种子否则每个分片可能不是同一个子数据集的一部分请参见示例
3. 强烈建议不要对数据集进行混洗而是使用随机化randomize=True。对数据集进行混洗的结果具有不确定性每个拆分后的子数据集中的数据在每个epoch可能都不同。
.. note::
1. 如果进行拆分操作的数据集对象为MappableDataset类型则将自动调用一个优化后的split操作。
2. 如果进行split操作则不应对数据集对象进行分片操作如指定num_shards或使用DistributerSampler。相反如果创建一个DistributerSampler并在split操作拆分后的子数据集对象上进行分片操作强烈建议在每个子数据集上设置相同的种子否则每个分片可能不是同一个子数据集的一部分请参见示例
3. 强烈建议不要对数据集进行混洗而是使用随机化randomize=True。对数据集进行混洗的结果具有不确定性每个拆分后的子数据集中的数据在每个epoch可能都不同。
**异常:**
**异常:**
- **RuntimeError** - 数据集对象不支持 `get_dataset_size` 或者 `get_dataset_size` 返回None。
- **RuntimeError** - sizes是整数列表并且size中所有元素的总和不等于数据集大小。
- **RuntimeError** - sizes是float列表并且计算后存在大小为0的拆分子数据集。
- **RuntimeError** - 数据集对象在调用拆分之前已进行分片。
- **ValueError** - sizes是float列表且并非所有float数都在0和1之间或者float数的总和不等于1。
- **RuntimeError** - 数据集对象不支持 `get_dataset_size` 或者 `get_dataset_size` 返回None。
- **RuntimeError** - sizes是整数列表并且size中所有元素的总和不等于数据集大小。
- **RuntimeError** - sizes是float列表并且计算后存在大小为0的拆分子数据集。
- **RuntimeError** - 数据集对象在调用拆分之前已进行分片。
- **ValueError** - sizes是float列表且并非所有float数都在0和1之间或者float数的总和不等于1。
**返回:**
**返回:**
tuple(Dataset)split操作后子数据集对象的元组。
tuple(Dataset)split操作后子数据集对象的元组。
.. py:method:: sync_update(condition_name, num_batch=None, data=None)
.. py:method:: sync_update(condition_name, num_batch=None, data=None)
释放阻塞条件并使用给定数据触发回调函数。
释放阻塞条件并使用给定数据触发回调函数。
**参数:**
**参数:**
- **condition_name** (str) - 用于触发发送下一个数据行的条件名称。
- **num_batch** (Union[int, None]) - 释放的batchrow数。当 `num_batch` 为None时将默认为 `sync_wait` 操作指定的值默认值None。
- **data** (Any) - 用户自定义传递给回调函数的数据默认值None。
- **condition_name** (str) - 用于触发发送下一个数据行的条件名称。
- **num_batch** (Union[int, None]) - 释放的batchrow数。当 `num_batch` 为None时将默认为 `sync_wait` 操作指定的值默认值None。
- **data** (Any) - 用户自定义传递给回调函数的数据默认值None。
.. py:method:: sync_wait(condition_name, num_batch=1, callback=None)
.. py:method:: sync_wait(condition_name, num_batch=1, callback=None)
为同步操作在数据集对象上添加阻塞条件。
为同步操作在数据集对象上添加阻塞条件。
**参数:**
**参数:**
- **condition_name** (str) - 用于触发发送下一行数据的条件名称。
- **num_batch** (int) - 每个epoch开始时无阻塞的batch数。
- **callback** (function) - `sync_update` 操作中将调用的回调函数。
- **condition_name** (str) - 用于触发发送下一行数据的条件名称。
- **num_batch** (int) - 每个epoch开始时无阻塞的batch数。
- **callback** (function) - `sync_update` 操作中将调用的回调函数。
**返回:**
**返回:**
SyncWaitDataset添加了阻塞条件的数据集对象。
SyncWaitDataset添加了阻塞条件的数据集对象。
**异常:**
**异常:**
- **RuntimeError** - 条件名称已存在。
- **RuntimeError** - 条件名称已存在。
.. py:method:: take(count=-1)
.. py:method:: take(count=-1)
从数据集中获取最多 `count` 的元素。
从数据集中获取最多 `count` 的元素。
.. note::
1. 如果 `count` 大于数据集中的数据条数或等于-1则取数据集中的所有数据。
2. take和batch操作顺序很重要如果take在batch操作之前则取给定条数否则取给定batch数。
.. note::
1. 如果 `count` 大于数据集中的数据条数或等于-1则取数据集中的所有数据。
2. take和batch操作顺序很重要如果take在batch操作之前则取给定条数否则取给定batch数。
**参数:**
**参数:**
- **count** (int, 可选) - 要从数据集对象中获取的数据条数,默认值:-1获取所有数据。
- **count** (int, 可选) - 要从数据集对象中获取的数据条数,默认值:-1获取所有数据。
**返回:**
**返回:**
TakeDatasettake操作后的数据集对象。
TakeDatasettake操作后的数据集对象。
.. py:method:: to_device(send_epoch_end=True, create_data_info_queue=False)
.. py:method:: to_device(send_epoch_end=True, create_data_info_queue=False)
将数据从CPU传输到GPU、Ascend或其他设备。
将数据从CPU传输到GPU、Ascend或其他设备。
**参数:**
**参数:**
- **send_epoch_end** (bool, 可选) - 是否将epoch结束符 `end_of_sequence` 发送到设备默认值True。
- **create_data_info_queue** (bool, 可选) - 是否创建存储数据类型和shape的队列默认值False。
- **send_epoch_end** (bool, 可选) - 是否将epoch结束符 `end_of_sequence` 发送到设备默认值True。
- **create_data_info_queue** (bool, 可选) - 是否创建存储数据类型和shape的队列默认值False。
.. note::
如果设备为Ascend则逐个传输数据。每次数据传输的限制为256M。
.. note::
如果设备为Ascend则逐个传输数据。每次数据传输的限制为256M。
**返回:**
**返回:**
TransferDataset用于传输的数据集对象。
TransferDataset用于传输的数据集对象。
**异常:**
**异常:**
- **RuntimeError** - 如果提供了分布式训练的文件路径但读取失败。
- **RuntimeError** - 如果提供了分布式训练的文件路径但读取失败。
.. py:method:: to_json(filename='')
.. py:method:: to_json(filename='')
将数据处理管道序列化为JSON字符串如果提供了文件名则转储到文件中。
将数据处理管道序列化为JSON字符串如果提供了文件名则转储到文件中。
**参数:**
**参数:**
- **filename** (str) - 保存JSON文件的路径包含文件名
- **filename** (str) - 保存JSON文件的路径包含文件名
**返回:**
**返回:**
str数据处理管道序列化后的JSON字符串。
str数据处理管道序列化后的JSON字符串。

View File

@ -10,9 +10,9 @@ mindspore.dataset.audio.transforms.AmplitudeToDB
**参数:**
- **stype** ( :class:`mindspore.dataset.audio.utils.ScaleType` , 可选) - 输入音频的原始标度取值可为ScaleType.MAGNITUDE或ScaleType.POWER默认值ScaleType.POWER。
- **ref_value** (float, 可选) - 系数参考值默认值1.0,用于计算分贝系数 `db_multiplier` ,公式为
:math:`db\_multiplier = Log10(max(ref\_value, amin))`
- **ref_value** (float, 可选) - 系数参考值默认值1.0,用于计算分贝系数 `db_multiplier` ,公式为
:math:`db\_multiplier = Log10(max(ref\_value, amin))`
- **amin** (float, 可选) - 波形取值下界低于该值的波形将会被裁切取值必须大于0默认值1e-10。
- **top_db** (float, 可选) - 最小负截止分贝值默认值80.0。

View File

@ -22,7 +22,7 @@ mindspore.dataset.audio.transforms
mindspore.dataset.audio.transforms.LowpassBiquad
mindspore.dataset.audio.transforms.TimeMasking
mindspore.dataset.audio.transforms.TimeStretch
mindspore.dataset.audio.utils
-----------------------------

View File

@ -19,9 +19,9 @@ mindspore.nn.Conv2dTranspose
- **stride** (`Union[int, tuple[int]]`) 二维卷积核的移动步长。数据类型为整型或两个整型的tuple。一个整数表示在高度和宽度方向的移动步长均为该值。两个整数的tuple分别表示在高度和宽度方向的移动步长。默认值1。
- **pad_mode** (`str`) 指定填充模式。可选值为"same"、"valid"、"pad"。默认值:"same"。
- **same**:输出的高度和宽度分别与输入整除 `stride` 后的值相同。若设置该模式,`padding` 的值必须为0。
- **valid**:在不填充的前提下返回有效计算所得的输出。不满足计算的多余像素会被丢弃。如果设置此模式,则 `padding` 的值必须为0。
- **pad**:对输入进行填充。在输入的高度和宽度方向上填充 `padding` 大小的0。如果设置此模式 `padding` 必须大于或等于0。
- **same**:输出的高度和宽度分别与输入整除 `stride` 后的值相同。若设置该模式,`padding` 的值必须为0。
- **valid**:在不填充的前提下返回有效计算所得的输出。不满足计算的多余像素会被丢弃。如果设置此模式,则 `padding` 的值必须为0。
- **pad**:对输入进行填充。在输入的高度和宽度方向上填充 `padding` 大小的0。如果设置此模式 `padding` 必须大于或等于0。
- **padding** (`Union[int, tuple[int]]`) 输入的高度和宽度方向上填充的数量。数据类型为整型或包含四个整数的tuple。如果 `padding` 是一个整数,那么上、下、左、右的填充都等于 `padding` 。如果 `padding` 是一个有四个整数的tuple那么上、下、左、右的填充分别等于 `padding[0]``padding[1]``padding[2]``padding[3]` 。值应该要大于等于0默认值0。
- **dilation** (`Union[int, tuple[int]]`) 二维卷积核膨胀尺寸。数据类型为整型或具有两个整型的tuple。若 :math:`k > 1` 则kernel间隔 `k` 个元素进行采样。高度和宽度方向上的 k ,其取值范围分别为[1, H]和[1, W]。默认值1。

View File

@ -6,13 +6,13 @@ mindspore.nn.Conv3d
三维卷积层。
对输入Tensor计算三维卷积该Tensor的shape通常为 :math:`(N, C_{in}, D_{in}, H_{in}, W_{in})` ,其中 :math:`N` 为batch size :math:`C` 是空间维度。:math:`D_{in}, H_{in}, W_{in}` 分别为特征层的深度、高度和宽度。对于每个batch中的Tensor其shape为 :math:`(C_{in}, D_{in}, H_{in}, W_{in})` ,公式定义如下:
.. math::
\text{out}(N_i, C_{\text{out}_j}) = \text{bias}(C_{\text{out}_j}) +
\sum_{k = 0}^{C_{in} - 1} \text{ccor}({\text{weight}(C_{\text{out}_j}, k), \text{X}(N_i, k)})
其中,:math:`ccor``cross-correlation <https://en.wikipedia.org/wiki/Cross-correlation>`_ :math:`C_{in}` 为输入空间维度, :math:`out_{j}` 对应输出的第 :math:`j` 个空间维度,:math:`j` 的范围在 :math:`[0C_{out}-1]` 内,
:math:`\text{weight}(C_{\text{out}_j}, k)` 是shape为 :math:`(\text{kernel_size[0]}, \text{kernel_size[1]}, \text{kernel_size[2]})` 的卷积核切片,其中 :math:`\text{kernel_size[0]}` , :math:`\text{kernel_size[1]}和 :math:`\text{kernel_size[2]}` 是卷积核的深度、高度和宽度。 :math:`\text{bias}` 为偏置参数, :math:`\text{X}` 为输入Tensor。
:math:`\text{weight}(C_{\text{out}_j}, k)` 是shape为 :math:`(\text{kernel_size[0]}, \text{kernel_size[1]}, \text{kernel_size[2]})` 的卷积核切片,其中 :math:`\text{kernel_size[0]}` , :math:`\text{kernel_size[1]}` 和 :math:`\text{kernel_size[2]}` 是卷积核的深度、高度和宽度。 :math:`\text{bias}` 为偏置参数, :math:`\text{X}` 为输入Tensor。
完整卷积核的shape为 :math:`(C_{out}, C_{in} / \text{group}, \text{kernel_size[0]}, \text{kernel_size[1]}, \text{kernel_size[2]})` ,其中 `group` 是在空间维度上分割输入 `x` 的组数。
详细介绍请参考论文 `Gradient Based Learning Applied to Document Recognition <http://vision.stanford.edu/cs598_spring07/papers/Lecun98.pdf>`_

View File

@ -43,5 +43,5 @@ mindspore.nn.Fbeta
**异常:**
- **ValueError** - 当前输入的 `y_pred` 和历史 `y_pred` 类别数不匹配。
- **ValueError** - 预测值和真实值包含的类别不同。
- **ValueError** - 当前输入的 `y_pred` 和历史 `y_pred` 类别数不匹配。
- **ValueError** - 预测值和真实值包含的类别不同。

View File

@ -4,9 +4,9 @@ mindspore.nn.probability.distribution.Beta
.. py:class:: mindspore.nn.probability.distribution.Beta(concentration1=None, concentration0=None, seed=None, dtype=mstype.float32, name='Beta')
Beta 分布Beta Distribution
连续随机分布,取值范围为 :math:`[0, 1]` ,概率密度函数为
连续随机分布,取值范围为 :math:`[0, 1]` ,概率密度函数为
.. math::
.. math::
f(x, \alpha, \beta) = x^\alpha (1-x)^{\beta - 1} / B(\alpha, \beta).
其中 :math:`B` 为 Beta 函数。
@ -19,7 +19,7 @@ mindspore.nn.probability.distribution.Beta
- **dtype** (mindspore.dtype) - 采样结果的数据类型。默认值mindspore.float32。
- **name** (str) - 分布的名称。默认值:'Beta'。
.. note::
.. note::
- `concentration1``concentration0` 中元素必须大于零。
- `dtype` 必须是float因为 Beta 分布是连续的。
@ -28,12 +28,12 @@ mindspore.nn.probability.distribution.Beta
- **ValueError** - `concentration1` 或者 `concentration0` 中元素小于0。
- **TypeError** - `dtype` 不是float的子类。
返回concentration0也称为 Beta 分布的beta
返回concentration0也称为 Beta 分布的beta
**返回:**
**返回:**
Tensor, concentration0 的值。
Tensor, concentration0 的值。
.. py:method:: concentration1
:property:

View File

@ -9,7 +9,7 @@ mindspore.ops.Gather
.. image:: Gather.png
其中params代表输入`input_params`indices代表要切片的索引`input_indices`
其中params代表输入 `input_params` indices代表要切片的索引 `input_indices`
.. note::
input_indices的值必须在 `[0, input_param.shape[axis])` 范围内,超出该范围结果未定义。

View File

@ -22,9 +22,9 @@
- **raise_exception** (bool, 可选) - 设置在记录数据中发生RuntimeError或OSError异常时是否抛出异常。默认值False表示打印错误日志不抛出异常。
- **export_options** (Union[None, dict]) - 可以将保存在summary中的数据导出并使用字典自定义所需的数据和文件格式。注导出的文件大小不受 `max_file_size` 的限制。例如,您可以设置{'tensor_format':'npy'}将Tensor导出为 `npy` 文件。支持导出的数据类型如下所示。默认值None表示不导出数据。
- **tensor_format** (Union[str, None]) - 自定义导出的Tensor的格式。支持["npy", None]。默认值None表示不导出Tensor。
- **tensor_format** (Union[str, None]) - 自定义导出的Tensor的格式。支持["npy", None]。默认值None表示不导出Tensor。
- **npy**将Tensor导出为NPY文件。
- **npy**将Tensor导出为NPY文件。
**异常:**