modify error format and index.

This commit is contained in:
zhangyi 2021-12-04 19:03:07 +08:00
parent 6275955883
commit eb34fe477b
20 changed files with 395 additions and 365 deletions

View File

@ -1,4 +1,4 @@
..py:method:: add_sampler(new_sampler)
.. py:method:: add_sampler(new_sampler)
为当前数据集添加采样器。

View File

@ -138,7 +138,7 @@
... DE_C_INTER_SENTENCEPIECE_MODE[SentencePieceModel.UNIGRAM],
... {})
..py:method:: build_vocab(columns, freq_range, top_k, special_tokens, special_first)
.. py:method:: build_vocab(columns, freq_range, top_k, special_tokens, special_first)
基于数据集对象创建词汇表。
@ -248,7 +248,7 @@
... break
<class 'list'>
..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)
返回一个能将数据传输到设备上的数据集对象。
@ -266,7 +266,7 @@
TransferDataset用于帮助发送数据到设备上的数据集对象。
..py:method:: dynamic_min_max_shapes()
.. py:method:: dynamic_min_max_shapes()
获取数据集对象中单条数据的最小和最大shape用于图编译过程。
@ -285,7 +285,7 @@
>>> min_shapes, max_shapes = dataset.dynamic_min_max_shapes()
..py:method:: filter(predicate, input_columns=None, num_parallel_workers=None)
.. py:method:: filter(predicate, input_columns=None, num_parallel_workers=None)
通过判断条件对数据集对象中的数据进行过滤。
@ -307,7 +307,7 @@
>>> dataset = dataset.filter(predicate=lambda data: data < 11, input_columns = ["data"])
..py:method:: flat_map(func)
.. py:method:: flat_map(func)
对数据集对象中每一条数据执行给定的`func`操作,并将结果展平。
@ -339,7 +339,7 @@
**TypeError** - `func` 不是函数。
**TypeError** - `func` 的返回值不是数据集对象。
..py:method:: get_batch_size()
.. py:method:: get_batch_size()
获得批处理的大小,即一个批次中包含的数据条数。
@ -350,7 +350,7 @@
>> # dataset是数据集类的实例化对象
>> batch_size = dataset.get_batch_size()
..py:method:: get_class_indexing()
.. py:method:: get_class_indexing()
返回类别索引。
@ -362,7 +362,7 @@
>> class_indexing = dataset.get_class_indexing()
..py:method:: get_col_names()
.. py:method:: get_col_names()
返回数据集对象中包含的列名。
@ -626,11 +626,11 @@
>>> dataset = dataset.repeat(50)
>>> dataset = dataset.shuffle(10)
..py:method:: reset()
.. py:method:: reset()
重置下一个epoch的数据集。
..py:method:: save(file_name, num_files=1, file_type='mindrecord')
.. py:method:: save(file_name, num_files=1, file_type='mindrecord')
将流水线正在处理的数据保存为通用的数据集格式。支持的数据集格式:'mindrecord'。
@ -695,7 +695,7 @@
- **num_files** (int, optional) - 数据集文件的数量默认为1
- **file_type** (str, optional) - 数据集格式(默认为'mindrecord')。
..py:method:: set_dynamic_columns(columns=None)
.. py:method:: set_dynamic_columns(columns=None)
设置源数据的动态shape信息需要在定义数据处理流水线后设置。
@ -703,7 +703,7 @@
**columns** (dict) - 包含数据集中每列shape信息的字典。shape[i]为 `None` 表示shape[i]的数据长度是动态的。
..py:method:: shuffle(buffer_size)
.. py:method:: shuffle(buffer_size)
使用以下策略随机打乱此数据集的行:
@ -737,7 +737,7 @@
>>> # 使用大小为4的shuffle缓冲区创建打乱后的数据集。
>>> dataset = dataset.shuffle(4)
..py:method:: skip(count)
.. py:method:: skip(count)
跳过此数据集的前N个元素。
@ -755,7 +755,7 @@
>>> # 创建一个数据集跳过前3个元素
>>> dataset = dataset.skip(3)
..py:method:: split(sizes, randomize=True)
.. py:method:: split(sizes, randomize=True)
将数据集拆分为多个不重叠的数据集。
@ -797,7 +797,7 @@
>>> dataset = ds.TextFileDataset(text_file_dataset_dir, shuffle=False)
>>> train_dataset, test_dataset = dataset.split([0.9, 0.1])
..py:method:: sync_update(condition_name, num_batch=None, data=None)
.. py:method:: sync_update(condition_name, num_batch=None, data=None)
释放阻塞条件并使用给定数据触发回调函数。
@ -807,7 +807,7 @@
- **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)
向输入数据集添加阻塞条件。 将应用同步操作。
@ -856,7 +856,7 @@
... data = {"loss": count}
... dataset.sync_update(condition_name="policy", data=data)
..py:method:: take(count=-1)
.. py:method:: take(count=-1)
从数据集中获取最多给定数量的元素。
@ -878,7 +878,7 @@
>>> # 创建一个数据集包含50个元素。
>>> dataset = dataset.take(50)
..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或其他设备。
@ -898,7 +898,7 @@
**RuntimeError** - 如果提供了分布式训练的文件路径但读取失败。
..py:method:: to_json(filename='')
.. py:method:: to_json(filename='')
将数据处理流水线序列化为JSON字符串如果提供了文件名则转储到文件中。

View File

@ -1,4 +1,4 @@
..py:method:: use_sampler(new_sampler)
.. py:method:: use_sampler(new_sampler)
为当前数据集更换一个新的采样器。

View File

@ -1,4 +1,4 @@
..py:method:: zip(datasets)
.. py:method:: zip(datasets)
将数据集和输入的数据集或者数据集元组按列进行合并压缩。输入数据集中的列名必须不同。

View File

@ -27,14 +27,15 @@
- **max_rowsize** (int可选)指定在多进程之间复制数据时共享内存分配的最大空间数量级为MB默认为6MB仅当参数 `python_multiprocessing` 设为True时此参数才会生效。
**异常:**
- **RuntimeError**Python对象 `source` 在执行期间引发异常。
- **RuntimeError**:参数 `column_names` 指定的列名数量与 `source` 的输出数据数量不匹配。
- **RuntimeError**:参数 `num_parallel_workers` 超过最大线程数。
- **RuntimeError**: 同时指定了 `sampler``shuffle`
- **RuntimeError**: 同时指定了 `sampler``num_shards`
- **RuntimeError**: 指定了 `num_shards` 参数,但是未指定 `shard_id` 参数。
- **RuntimeError**: 指定了 `shard_id` 参数,但是未指定 `num_shards` 参数。
- **ValueError**: `shard_id` 参数错误小于0或者大于等于 `num_shards` )。
- **RuntimeError** - Python对象 `source` 在执行期间引发异常。
- **RuntimeError** - 参数 `column_names` 指定的列名数量与 `source` 的输出数据数量不匹配。
- **RuntimeError** - 参数 `num_parallel_workers` 超过最大线程数。
- **RuntimeError** - 同时指定了 `sampler``shuffle`
- **RuntimeError** - 同时指定了 `sampler``num_shards`
- **RuntimeError** - 指定了 `num_shards` 参数,但是未指定 `shard_id` 参数。
- **RuntimeError** - 指定了 `shard_id` 参数,但是未指定 `num_shards` 参数。
- **ValueError** - `shard_id` 参数错误小于0或者大于等于 `num_shards` )。
.. note:: 此数据集可以指定 `sampler` 参数,但 `sampler``shuffle` 是互斥的。下表展示了几种合法的输入参数及预期的行为。

View File

@ -28,330 +28,330 @@ mindspore.dataset.GraphData
>>> features = graph_dataset.get_node_feature(node_list=nodes, feature_types=[1])
.. py:method:: get_all_edges(edge_type)
获取图的所有边。
**参数:**
**edge_type** (int):指定边的类型。
**返回:**
numpy.ndarray包含边的数组。
**样例:**
>>> edges = graph_dataset.get_all_edges(edge_type=0)
**异常:**
**TypeError**:参数 `edge_type` 的类型不为整型。
.. py:method:: get_all_neighbors(node_list, neighbor_type, output_format=<OutputFormat.NORMAL: 0。
获取 `node_list` 所有节点的邻居,以 `neighbor_type` 类型返回。格式的定义参见以下示例1表示两个节点之间连接0表示不连接。
.. list-table:: 邻接矩阵
:widths: 20 20 20 20 20
:header-rows: 1
* -
- 0
- 1
- 2
- 3
* - 0
- 0
- 1
- 0
- 0
* - 1
- 0
- 0
- 1
- 0
* - 2
- 1
- 0
- 0
- 1
* - 3
- 1
- 0
- 0
- 0
.. py:method:: get_all_edges(edge_type)
获取图的所有边。
**参数:**
**edge_type** (int):指定边的类型。
**返回:**
numpy.ndarray包含边的数组。
**样例:**
>>> edges = graph_dataset.get_all_edges(edge_type=0)
**异常:**
**TypeError**:参数 `edge_type` 的类型不为整型。
.. py:method:: get_all_neighbors(node_list, neighbor_type, output_format=<OutputFormat.NORMAL: 0。
获取 `node_list` 所有节点的邻居,以 `neighbor_type` 类型返回。格式的定义参见以下示例1表示两个节点之间连接0表示不连接。
.. list-table:: 邻接矩阵
:widths: 20 20 20 20 20
:header-rows: 1
* -
- 0
- 1
- 2
- 3
* - 0
- 0
- 1
- 0
- 0
* - 1
- 0
- 0
- 1
- 0
* - 2
- 1
- 0
- 0
- 1
* - 3
- 1
- 0
- 0
- 0
.. list-table:: 普通格式
:widths: 20 20 20 20 20
:header-rows: 1
.. list-table:: 普通格式
:widths: 20 20 20 20 20
:header-rows: 1
* - src
- 0
- 1
- 2
- 3
* - dst_0
- 1
- 2
- 0
- 1
* - dst_1
- -1
- -1
- 3
- -1
* - src
- 0
- 1
- 2
- 3
* - dst_0
- 1
- 2
- 0
- 1
* - dst_1
- -1
- -1
- 3
- -1
.. list-table:: COO格式
:widths: 20 20 20 20 20 20
:header-rows: 1
.. list-table:: COO格式
:widths: 20 20 20 20 20 20
:header-rows: 1
* - src
- 0
- 1
- 2
- 2
- 3
* - dst
- 1
- 2
- 0
- 3
- 1
* - src
- 0
- 1
- 2
- 2
- 3
* - dst
- 1
- 2
- 0
- 3
- 1
.. list-table:: CSR格式
:widths: 40 20 20 20 20 20
:header-rows: 1
.. list-table:: CSR格式
:widths: 40 20 20 20 20 20
:header-rows: 1
* - offsetTable
- 0
- 1
- 2
- 4
-
* - dstTable
- 1
- 2
- 0
- 3
- 1
* - offsetTable
- 0
- 1
- 2
- 4
-
* - dstTable
- 1
- 2
- 0
- 3
- 1
**参数:**
**参数:**
- **node_list** (Union[list, numpy.ndarray]):给定的节点列表。
- **neighbor_type** (int):指定邻居节点的类型。
- **output_format** (OutputFormat, 可选)输出存储格式默认为mindspore.dataset.engine.OutputFormat.NORMAL取值范围[OutputFormat.NORMAL, OutputFormat.COO, OutputFormat.CSR]。
- **node_list** (Union[list, numpy.ndarray]):给定的节点列表。
- **neighbor_type** (int):指定邻居节点的类型。
- **output_format** (OutputFormat, 可选)输出存储格式默认为mindspore.dataset.engine.OutputFormat.NORMAL取值范围[OutputFormat.NORMAL, OutputFormat.COO, OutputFormat.CSR]。
**返回:**
**返回:**
对于普通格式或COO格式将返回numpy.ndarray类型的数组表示邻居节点。如果指定了CSR格式将返回两个numpy.ndarray数组第一个表示偏移表第二个表示邻居节点。
对于普通格式或COO格式将返回numpy.ndarray类型的数组表示邻居节点。如果指定了CSR格式将返回两个numpy.ndarray数组第一个表示偏移表第二个表示邻居节点。
**样例:**
**样例:**
>>> from mindspore.dataset.engine import OutputFormat
>>> nodes = graph_dataset.get_all_nodes(node_type=1)
>>> neighbors = graph_dataset.get_all_neighbors(node_list=nodes, neighbor_type=2)
>>> neighbors_coo = graph_dataset.get_all_neighbors(node_list=nodes, neighbor_type=2,
... output_format=OutputFormat.COO)
>>> offset_table, neighbors_csr = graph_dataset.get_all_neighbors(node_list=nodes, neighbor_type=2,
... output_format=OutputFormat.CSR)
>>> from mindspore.dataset.engine import OutputFormat
>>> nodes = graph_dataset.get_all_nodes(node_type=1)
>>> neighbors = graph_dataset.get_all_neighbors(node_list=nodes, neighbor_type=2)
>>> neighbors_coo = graph_dataset.get_all_neighbors(node_list=nodes, neighbor_type=2,
... output_format=OutputFormat.COO)
>>> offset_table, neighbors_csr = graph_dataset.get_all_neighbors(node_list=nodes, neighbor_type=2,
... output_format=OutputFormat.CSR)
**异常:**
**异常:**
- **TypeError**:参数 `node_list` 的类型不为列表或numpy.ndarray。
- **TypeError**:参数 `neighbor_type` 的类型不为整型。
- **TypeError**:参数 `node_list` 的类型不为列表或numpy.ndarray。
- **TypeError**:参数 `neighbor_type` 的类型不为整型。
.. py:method:: get_all_nodes(node_type)
.. py:method:: get_all_nodes(node_type)
获取图中的所有节点。
获取图中的所有节点。
**参数:**
**参数:**
**node_type** (int):指定节点的类型。
**node_type** (int):指定节点的类型。
**返回:**
**返回:**
numpy.ndarray包含节点的数组。
numpy.ndarray包含节点的数组。
**样例:**
**样例:**
>>> nodes = graph_dataset.get_all_nodes(node_type=1)
>>> nodes = graph_dataset.get_all_nodes(node_type=1)
**异常:**
**异常:**
**TypeError**:参数 `node_type` 的类型不为整型。
**TypeError**:参数 `node_type` 的类型不为整型。
.. py:method:: get_edges_from_nodes(node_list)
.. py:method:: get_edges_from_nodes(node_list)
从节点获取边。
从节点获取边。
**参数:**
**参数:**
**node_list** (Union[list[tuple], numpy.ndarray])含一个或多个图节点ID对的列表。
**node_list** (Union[list[tuple], numpy.ndarray])含一个或多个图节点ID对的列表。
**返回:**
**返回:**
numpy.ndarray含一个或多个边ID的数组。
numpy.ndarray含一个或多个边ID的数组。
**示例:**
**示例:**
>>> edges = graph_dataset.get_edges_from_nodes(node_list=[(101, 201), (103, 207)])
>>> edges = graph_dataset.get_edges_from_nodes(node_list=[(101, 201), (103, 207)])
**异常:**
**异常:**
**TypeError**:参数 `edge_list` 的类型不为列表或numpy.ndarray。
**TypeError**:参数 `edge_list` 的类型不为列表或numpy.ndarray。
.. py:method:: get_edge_feature(edge_list, feature_types)
.. py:method:: get_edge_feature(edge_list, feature_types)
获取 `edge_list` 列表中边的特征,以 `feature_types` 类型返回。
获取 `edge_list` 列表中边的特征,以 `feature_types` 类型返回。
**参数:**
**参数:**
- **edge_list** (Union[list, numpy.ndarray]):包含边的列表。
- **feature_types** (Union[list, numpy.ndarray]):包含给定特征类型的列表。
- **edge_list** (Union[list, numpy.ndarray]):包含边的列表。
- **feature_types** (Union[list, numpy.ndarray]):包含给定特征类型的列表。
**返回:**
**返回:**
numpy.ndarray包含特征的数组。
numpy.ndarray包含特征的数组。
**样例:**
**样例:**
>>> edges = graph_dataset.get_all_edges(edge_type=0)
>>> features = graph_dataset.get_edge_feature(edge_list=edges, feature_types=[1])
>>> edges = graph_dataset.get_all_edges(edge_type=0)
>>> features = graph_dataset.get_edge_feature(edge_list=edges, feature_types=[1])
**异常:**
**异常:**
- **TypeError**:参数 `edge_list` 的类型不为列表或numpy.ndarray。
- **TypeError**:参数 `feature_types` 的类型不为列表或numpy.ndarray。
- **TypeError**:参数 `edge_list` 的类型不为列表或numpy.ndarray。
- **TypeError**:参数 `feature_types` 的类型不为列表或numpy.ndarray。
.. py:method:: get_neg_sampled_neighbors(node_list, neg_neighbor_num, neg_neighbor_type)
.. py:method:: get_neg_sampled_neighbors(node_list, neg_neighbor_num, neg_neighbor_type)
获取 `node_list` 列表中节所有点的负样本邻居,以 `neg_neighbor_type` 类型返回。
获取 `node_list` 列表中节所有点的负样本邻居,以 `neg_neighbor_type` 类型返回。
**参数:**
**参数:**
- **node_list** (Union[list, numpy.ndarray]):包含节点的列表。
- **neg_neighbor_num** (int):采样的邻居数量。
- **neg_neighbor_type** (int):指定负样本邻居的类型。
- **node_list** (Union[list, numpy.ndarray]):包含节点的列表。
- **neg_neighbor_num** (int):采样的邻居数量。
- **neg_neighbor_type** (int):指定负样本邻居的类型。
**返回:**
**返回:**
numpy.ndarray包含邻居的数组。
numpy.ndarray包含邻居的数组。
**样例:**
**样例:**
>>> nodes = graph_dataset.get_all_nodes(node_type=1)
>>> neg_neighbors = graph_dataset.get_neg_sampled_neighbors(node_list=nodes, neg_neighbor_num=5,
... neg_neighbor_type=2)
>>> nodes = graph_dataset.get_all_nodes(node_type=1)
>>> neg_neighbors = graph_dataset.get_neg_sampled_neighbors(node_list=nodes, neg_neighbor_num=5,
... neg_neighbor_type=2)
**异常:**
**异常:**
- **TypeError**:参数 `node_list` 的类型不为列表或numpy.ndarray。
- **TypeError**:参数 `neg_neighbor_num` 的类型不为整型。
- **TypeError**:参数 `neg_neighbor_type` 的类型不为整型。
- **TypeError**:参数 `node_list` 的类型不为列表或numpy.ndarray。
- **TypeError**:参数 `neg_neighbor_num` 的类型不为整型。
- **TypeError**:参数 `neg_neighbor_type` 的类型不为整型。
.. py:method:: get_nodes_from_edges(edge_list)
.. py:method:: get_nodes_from_edges(edge_list)
从图中的边获取节点。
从图中的边获取节点。
**参数:**
**参数:**
**edge_list** (Union[list, numpy.ndarray]):包含边的列表。
**edge_list** (Union[list, numpy.ndarray]):包含边的列表。
**返回:**
**返回:**
numpy.ndarray包含节点的数组。
numpy.ndarray包含节点的数组。
**异常:**
**异常:**
**TypeError** 参数 `edge_list` 不为列表或ndarray。
**TypeError** 参数 `edge_list` 不为列表或ndarray。
.. py:method:: get_node_feature(node_list, feature_types)
.. py:method:: get_node_feature(node_list, feature_types)
获取 `node_list` 中节点的特征,以 `feature_types` 类型返回。
获取 `node_list` 中节点的特征,以 `feature_types` 类型返回。
**参数:**
**参数:**
- **node_list** (Union[list, numpy.ndarray]):包含节点的列表。
- **feature_types** (Union[list, numpy.ndarray]):指定特征的类型。
- **node_list** (Union[list, numpy.ndarray]):包含节点的列表。
- **feature_types** (Union[list, numpy.ndarray]):指定特征的类型。
**返回:**
**返回:**
numpy.ndarray包含特征的数组。
numpy.ndarray包含特征的数组。
**示例:**
**示例:**
>>> nodes = graph_dataset.get_all_nodes(node_type=1)
>>> features = graph_dataset.get_node_feature(node_list=nodes, feature_types=[2, 3])
>>> nodes = graph_dataset.get_all_nodes(node_type=1)
>>> features = graph_dataset.get_node_feature(node_list=nodes, feature_types=[2, 3])
**异常:**
**异常:**
- **TypeError**:参数 `node_list` 的类型不为列表或numpy.ndarray。
- **TypeError**:参数 `feature_types` 的类型不为列表或numpy.ndarray。
- **TypeError**:参数 `node_list` 的类型不为列表或numpy.ndarray。
- **TypeError**:参数 `feature_types` 的类型不为列表或numpy.ndarray。
.. py:method:: get_sampled_neighbors(node_list, neighbor_nums, neighbor_types, strategy=<SamplingStrategy.RANDOM: 0>)
.. py:method:: get_sampled_neighbors(node_list, neighbor_nums, neighbor_types, strategy=<SamplingStrategy.RANDOM: 0>)
获取已采样邻居信息。此API支持多跳邻居采样。即将上一次采样结果作为下一跳采样的输入最多允许6跳。采样结果平铺成列表格式为[input node, 1-hop sampling result, 2-hop samling result ...]
获取已采样邻居信息。此API支持多跳邻居采样。即将上一次采样结果作为下一跳采样的输入最多允许6跳。采样结果平铺成列表格式为[input node, 1-hop sampling result, 2-hop samling result ...]
**参数:**
**参数:**
- **node_list** (Union[list, numpy.ndarray]):包含节点的列表。
- **neighbor_nums** (Union[list, numpy.ndarray]):每跳采样的邻居数。
- **neighbor_types** (Union[list, numpy.ndarray]):每跳采样的邻居类型。
- **strategy** (SamplingStrategy, 可选)采样策略默认为mindspore.dataset.engine.SamplingStrategy.RANDOM。取值范围[SamplingStrategy.RANDOM, SamplingStrategy.EDGE_WEIGHT]。
- **SamplingStrategy.RANDOM**:随机抽样,带放回采样。
- **SamplingStrategy.EDGE_WEIGHT**:以边缘权重为概率进行采样。
- **node_list** (Union[list, numpy.ndarray]):包含节点的列表。
- **neighbor_nums** (Union[list, numpy.ndarray]):每跳采样的邻居数。
- **neighbor_types** (Union[list, numpy.ndarray]):每跳采样的邻居类型。
- **strategy** (SamplingStrategy, 可选)采样策略默认为mindspore.dataset.engine.SamplingStrategy.RANDOM。取值范围[SamplingStrategy.RANDOM, SamplingStrategy.EDGE_WEIGHT]。
- **SamplingStrategy.RANDOM**:随机抽样,带放回采样。
- **SamplingStrategy.EDGE_WEIGHT**:以边缘权重为概率进行采样。
**返回:**
**返回:**
numpy.ndarray包含邻居的数组。
numpy.ndarray包含邻居的数组。
*样例:**
*样例:**
>>> nodes = graph_dataset.get_all_nodes(node_type=1)
>>> neighbors = graph_dataset.get_sampled_neighbors(node_list=nodes, neighbor_nums=[2, 2],
... neighbor_types=[2, 1])
>>> nodes = graph_dataset.get_all_nodes(node_type=1)
>>> neighbors = graph_dataset.get_sampled_neighbors(node_list=nodes, neighbor_nums=[2, 2],
... neighbor_types=[2, 1])
**异常:**
**异常:**
- **TypeError**:参数 `node_list` 的类型不为列表或numpy.ndarray。
- **TypeError**:参数 `neighbor_nums` 的类型不为列表或numpy.ndarray。
- **TypeError**:参数 `neighbor_types` 的类型不为列表或numpy.ndarray。
- **TypeError**:参数 `node_list` 的类型不为列表或numpy.ndarray。
- **TypeError**:参数 `neighbor_nums` 的类型不为列表或numpy.ndarray。
- **TypeError**:参数 `neighbor_types` 的类型不为列表或numpy.ndarray。
.. py:method:: graph_info()
.. py:method:: graph_info()
获取图的元信息,包括节点数、节点类型、节点特征信息、边数、边类型、边特征信息。
获取图的元信息,包括节点数、节点类型、节点特征信息、边数、边类型、边特征信息。
**返回:**
**返回:**
dict图的元信息。键为 `node_num``node_type``node_feature_type``edge_num``edge_type` 、和 `edge_feature_type`
dict图的元信息。键为 `node_num``node_type``node_feature_type``edge_num``edge_type` 、和 `edge_feature_type`
.. py:method:: random_walk(target_nodes, meta_path, step_home_param=1.0, step_away_param=1.0, default_node=-1)
.. py:method:: random_walk(target_nodes, meta_path, step_home_param=1.0, step_away_param=1.0, default_node=-1)
在节点中的随机游走。
在节点中的随机游走。
**参数:**
**参数:**
- **target_nodes** (list[int]):随机游走中的起始节点列表。
- **meta_path** (list[int]):每个步长的节点类型。
- **step_home_param** (float, 可选)返回node2vec算法中的超参默认为1.0)。
- **step_away_param** (float, 可选)node2vec算法中的in和out超参默认为1.0)。
- **default_node** (int, 可选):如果找不到更多邻居,则为默认节点(默认值为-1表示不给定节点
- **target_nodes** (list[int]):随机游走中的起始节点列表。
- **meta_path** (list[int]):每个步长的节点类型。
- **step_home_param** (float, 可选)返回node2vec算法中的超参默认为1.0)。
- **step_away_param** (float, 可选)node2vec算法中的in和out超参默认为1.0)。
- **default_node** (int, 可选):如果找不到更多邻居,则为默认节点(默认值为-1表示不给定节点
**返回:**
**返回:**
numpy.ndarray包含节点的数组。
numpy.ndarray包含节点的数组。
**示例:**
**示例:**
>>> nodes = graph_dataset.get_all_nodes(node_type=1)
>>> walks = graph_dataset.random_walk(target_nodes=nodes, meta_path=[2, 1, 2])
>>> nodes = graph_dataset.get_all_nodes(node_type=1)
>>> walks = graph_dataset.random_walk(target_nodes=nodes, meta_path=[2, 1, 2])
**异常:**
**异常:**
- **TypeError**:参数 `target_nodes` 的类型不为列表或numpy.ndarray。
- **TypeError**:参数 `meta_path` 的类型不为列表或numpy.ndarray。
- **TypeError**:参数 `target_nodes` 的类型不为列表或numpy.ndarray。
- **TypeError**:参数 `meta_path` 的类型不为列表或numpy.ndarray。

View File

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

View File

@ -16,6 +16,62 @@
某些配置适用于特定的设备,有关详细信息,请参见下表:
+-------------------------+------------------------------+----------------------------+
| Function Classification | Configuration Parameters | Hardware Platform Support|
+=========================+==============================+============================+
| System Configuration | device_id | CPU/GPU/Ascend |
| +------------------------------+----------------------------+
| | device_target | CPU/GPU/Ascend |
| +------------------------------+----------------------------+
| | max_device_memory | GPU |
| +------------------------------+----------------------------+
| | variable_memory_max_size | Ascend |
+-------------------------+------------------------------+----------------------------+
| Debug Configuration | save_graphs | CPU/GPU/Ascend |
| +------------------------------+----------------------------+
| | save_graphs_path | CPU/GPU/Ascend |
| +------------------------------+----------------------------+
| | enable_dump | Ascend |
| +------------------------------+----------------------------+
| | save_dump_path | Ascend |
| +------------------------------+----------------------------+
| | enable_profiling | Ascend |
| +------------------------------+----------------------------+
| | profiling_options | Ascend |
| +------------------------------+----------------------------+
| | print_file_path | Ascend |
| +------------------------------+----------------------------+
| | env_config_path | CPU/GPU/Ascend |
| +------------------------------+----------------------------+
| | precompile_only | CPU/GPU/Ascend |
| +------------------------------+----------------------------+
| | reserve_class_name_in_scope | CPU/GPU/Ascend |
| +------------------------------+----------------------------+
| | pynative_synchronize | GPU/Ascend |
+-------------------------+------------------------------+----------------------------+
| Executive Control | mode | CPU/GPU/Ascend |
| +------------------------------+----------------------------+
| | enable_graph_kernel | Ascend/GPU |
| +------------------------------+----------------------------+
| | graph_kernel_flags | Ascend/GPU |
| +------------------------------+----------------------------+
| | enable_reduce_precision | Ascend |
| +------------------------------+----------------------------+
| | auto_tune_mode | Ascend |
| +------------------------------+----------------------------+
| | check_bprop | CPU/GPU/Ascend |
| +------------------------------+----------------------------+
| | max_call_depth | CPU/GPU/Ascend |
| +------------------------------+----------------------------+
| | enable_sparse | CPU/GPU/Ascend |
| +------------------------------+----------------------------+
| | grad_for_scalar | CPU/GPU/Ascend |
| +------------------------------+----------------------------+
| | enable_compile_cache | CPU/GPU/Ascend |
| +------------------------------+----------------------------+
| | compile_cache_path | CPU/GPU/Ascend |
+-------------------------+------------------------------+----------------------------+
**参数:**
- **device_id** (int)表示目标设备的ID其值必须在[0, device_num_per_host-1]范围中,且 `device_num_per_host` 的值不应超过4096。默认值0。
@ -49,7 +105,7 @@
- **pynative_synchronize** (bool)表示是否在PyNative模式下启动设备同步执行。默认值False。设置为False时将在设备上异步执行算子。当算子执行出错时将无法定位特定错误脚本代码的位置。当设置为True时将在设备上同步执行算子。这将降低程序的执行性能。此时当算子执行出错时可以根据错误的调用栈来定位错误脚本代码的位置。
- **mode** (int)表示在GRAPH_MODE(0)或PYNATIVE_MODE(1)模式中的运行。默认值GRAPH_MODE(0)。GRAPH_MODE或PYNATIVE_MODE可以通过 `mode` 属性设置两种模式都支持所有后端。默认模式为GRAPH_MODE。
- **enable_graph_kernel** (bool)表示是否启用图算融合去优化网络执行性能。默认值False。表示是否启用图算融合去优化网络执行性能。如果 `enable_graph_kernel` 设置为True则可以启用加速。有关图算融合的详细信息请查看`使能图算融合`https://www.mindspore.cn/docs/programming_guide/zh-CN/master/enable_graph_kernel_fusion.html
- **enable_graph_kernel** (bool)表示是否启用图算融合去优化网络执行性能。默认值False。表示是否启用图算融合去优化网络执行性能。如果 `enable_graph_kernel` 设置为True则可以启用加速。有关图算融合的详细信息请查看 `使能图算融合 <https://www.mindspore.cn/docs/programming_guide/zh-CN/master/enable_graph_kernel_fusion.html>`_
- **graph_kernel_flags** (str)图算融合的优化选项当与enable_graph_kernel冲突时它的优先级更高。其仅适用于有经验的用户。例如context.set_context(graph_kernel_flags="--opt_level=2 --dump_as_text")。一些常用选项:
- **opt_level**设置优化级别。默认值2。当opt_level的值大于0时启动图算融合。可选值包括
@ -78,7 +134,7 @@
- **enable_sparse** (bool)表示是否启用稀疏特征。默认值False。有关稀疏特征和稀疏张量的详细信息请查看 `稀疏张量 <https://www.mindspore.cn/docs/programming_guide/zh-CN/master/tensor.html#sparse-tensor>`_
- **grad_for_scalar** (bool) 表示是否获取标量梯度。默认值False。当 `grad_for_scalar` 设置为True时则衍生函数的标量输入。默认值为False。由于后端目前不支持伸缩操作所以该接口只支持在前端可推演的简单操作。
- **enable_compile_cache** (bool):表示是否加载或者保存前端编译的图。当 `enable_compile_cache` 被设置为True时在第一次执行的过程中一个硬件无关的编译缓存会被生成并且导出为一个MINDIR文件。当该网络被再次执行时如果 `enable_compile_cache` 仍然为True并且网络脚本没有被更改那么这个编译缓存会被加载。注意目前只支持有限的Python脚本更改的自动检测这意味着可能有正确性风险。默认值False。这是一个实验原型可能会被更改或者删除。
- **compile_cache_path** (str):保存前端图编译缓存的路径。默认值:"."。如果目录不存在,系统会自动创建这个目录。缓存会被保存到如下目录:`compile_cache_path/rank_${rank_id}/``rank_id` 是集群上当前设备的ID。
- **compile_cache_path** (str):保存前端图编译缓存的路径。默认值:"."。如果目录不存在,系统会自动创建这个目录。缓存会被保存到如下目录:`compile_cache_path/rank_${rank_id}/` `rank_id` 是集群上当前设备的ID。
**异常:**
@ -143,18 +199,18 @@
某些配置适用于特定的并行模式,有关详细信息,请参见下表:
=========================== ===========================
Common AUTO_PARALLEL
=========================== ===========================
device_num gradient_fp32_sync
global_rank loss_repeated_mean
gradients_mean auto_parallel_search_mode
parallel_mode strategy_ckpt_load_file
all_reduce_fusion_config strategy_ckpt_save_file
enable_parallel_optimizer dataset_strategy
\ pipeline_stages
\ grad_accumulation_step
=========================== ===========================
========================= =========================
Common AUTO_PARALLEL
========================= =========================
device_num gradient_fp32_sync
global_rank loss_repeated_mean
gradients_mean auto_parallel_search_mode
parallel_mode strategy_ckpt_load_file
all_reduce_fusion_config strategy_ckpt_save_file
enable_parallel_optimizer dataset_strategy
\ pipeline_stages
\ grad_accumulation_step
========================= =========================
**参数:**
@ -180,7 +236,7 @@
- **strategy_ckpt_save_file** (str)表示用于保存并行策略checkpoint的路径。默认值''。
- **full_batch** (bool)如果在auto_parallel模式下加载整个batch数据集则此参数应设置为True。默认值False。目前不建议使用该接口建议使用dataset_strategy来替换它。
- **dataset_strategy** (Union[str, tuple])表示数据集分片策略。默认值data_parallel。dataset_strategy="data_parallel"等于full_batch=Falsedataset_strategy="full_batch"等于full_batch=True。对于通过模型并列策略加载到网络的数据集如ds_stra ((1, 8)、(1, 8))需要使用set_auto_parallel_context(dataset_strategy=ds_stra)。
- **enable_parallel_optimizer** (bool)这是一个开发中的特性它可以为数据并行训练对权重更新计算进行分片以节省时间和内存。目前自动和半自动并行模式支持Ascend和GPU中的所有优化器。数据并行模式仅支持Ascend中的`Lamb``AdamWeightDecay`。默认值False。
- **enable_parallel_optimizer** (bool)这是一个开发中的特性它可以为数据并行训练对权重更新计算进行分片以节省时间和内存。目前自动和半自动并行模式支持Ascend和GPU中的所有优化器。数据并行模式仅支持Ascend中的 `Lamb` `AdamWeightDecay` 。默认值False。
- **all_reduce_fusion_config** (list):通过参数索引设置 AllReduce 融合策略。仅支持ReduceOp.SUM和HCCL_WORLD_GROUP/NCCL_WORLD_GROUP。没有默认值。如果不设置则关闭算子融合。
- **pipeline_stages** (int)设置pipeline并行的阶段信息。这表明了设备如何单独分布在pipeline上。所有的设备将被划分为pipeline_stags个阶段。目前这只能在启动semi_auto_parallel模式的情况下使用。默认值1。
- **grad_accumulation_step** (int)在自动和半自动并行模式下设置梯度的累积step。其值应为正整数。默认值1。

View File

@ -29,7 +29,7 @@ Installation Verification
.. cnmsautosummary::
:toctree: mindspore
indspore.run_check
mindspore.run_check
Parameter
---------

View File

@ -1,6 +1,3 @@
mindspore.train.callback.SummaryCollector
==========================================
.. py:class:: mindspore.train.callback.SummaryCollector(summary_dir, collect_freq=10, collect_specified_data=None, keep_default_action=True, custom_lineage_data=None, collect_tensor_freq=None, max_file_size=None, export_options=None)
SummaryCollector可以收集一些常用信息。

View File

@ -1,6 +1,3 @@
mindspore.train.callback.Callback
===================================
.. py:class:: mindspore.train.callback.Callback
用于构建回调函数的基类。回调函数是一个上下文管理器,在运行模型时被调用。

View File

@ -1,6 +1,3 @@
mindspore.train.callback.CheckpointConfig
==========================================
.. py:class:: mindspore.train.callback.CheckpointConfig(save_checkpoint_steps=1, save_checkpoint_seconds=0, keep_checkpoint_max=5, keep_checkpoint_per_n_minutes=0, integrated_save=True, async_save=False, saved_network=None, append_info=None, enc_key=None, enc_mode='AES-GCM')
保存checkpoint时的配置策略。

View File

@ -1,6 +1,3 @@
mindspore.train.callback.LearningRateScheduler
===============================================
.. py:class:: mindspore.train.callback.LearningRateScheduler(learning_rate_function)
在训练期间更改学习率。

View File

@ -1,6 +1,3 @@
mindspore.train.callback.LossMonitor
=======================================
.. py:class:: mindspore.train.callback.LossMonitor(per_print_times=1)
监控训练的loss。

View File

@ -1,6 +1,3 @@
mindspore.train.callback.ModelCheckpoint
==========================================
.. py:class:: mindspore.train.callback.ModelCheckpoint(prefix='CKP', directory=None, config=None)
checkpoint的回调函数。

View File

@ -1,6 +1,3 @@
mindspore.train.callback.RunContext
====================================
.. py:class:: mindspore.train.callback.RunContext(original_args)
提供模型的相关信息。

View File

@ -1,6 +1,3 @@
mindspore.train.callback.TimeMonitor
=====================================
.. py:class:: mindspore.train.callback.TimeMonitor(data_size=None)
监控训练时间。

View File

@ -1,6 +1,3 @@
mindspore.train.summary.SummaryRecord
=======================================
.. py:class:: mindspore.train.summary.SummaryRecord(log_dir, file_prefix='events', file_suffix='_MS', network=None, max_file_size=None, raise_exception=False, export_options=None)
SummaryRecord用于记录summary数据和lineage数据。

View File

@ -26,13 +26,13 @@ mindspore.set_seed
>>> import mindspore.ops as ops
>>> from mindspore import Tensor, set_seed, Parameter
>>> from mindspore.common.initializer import initializer
...
>>> # 注意1请确保代码在动态图模式下运行
>>> # 2由于复合级别的算子需要参数为张量类型如以下样例
>>> # 当使用ops.uniform这个算子minval和maxval用以下方法初始化:
>>> minval = Tensor(1.0, ms.float32)
>>> maxval = Tensor(2.0, ms.float32)
...
>>> # 1. 如果没有设置全局种子numpy.random以及initializer将会选择随机种子
>>> np_1 = np.random.normal(0, 1, [1]).astype(np.float32) # A1
>>> np_1 = np.random.normal(0, 1, [1]).astype(np.float32) # A2
@ -43,63 +43,63 @@ mindspore.set_seed
>>> np_1 = np.random.normal(0, 1, [1]).astype(np.float32) # A4
>>> w1 = Parameter(initializer("uniform", [2, 2], ms.float32), name="w1") # W3
>>> w1 = Parameter(initializer("uniform", [2, 2], ms.float32), name="w1") # W4
>>> # 2. 如果设置了全局种子numpy.random以及initializer将会使用这个种子
>>> set_seed(1234)
>>> np_1 = np.random.normal(0, 1, [1]).astype(np.float32) # A1
>>> np_1 = np.random.normal(0, 1, [1]).astype(np.float32) # A2
>>> w1 = Parameter(initializer("uniform", [2, 2], ms.float32), name="w1") # W1
>>> w1 = Parameter(initializer("uniform", [2, 2], ms.float32), name="w1") # W2
>>> # 重新运行程序将得到相同的结果:
>>> set_seed(1234)
>>> np_1 = np.random.normal(0, 1, [1]).astype(np.float32) # A1
>>> np_1 = np.random.normal(0, 1, [1]).astype(np.float32) # A2
>>> w1 = Parameter(initializer("uniform", [2, 2], ms.float32), name="w1") # W1
>>> w1 = Parameter(initializer("uniform", [2, 2], ms.float32), name="w1") # W2
>>> # 3. 如果全局种子或者算子种子均未设置mindspore.ops.composite.random_ops以及
>>> # mindspore.nn.probability.distribution将会选择一个随机种子
>>> c1 = ops.uniform((1, 4), minval, maxval) # C1
>>> c2 = ops.uniform((1, 4), minval, maxval) # C2
>>> # 重新运行程序将得到不同的结果:
>>> c1 = ops.uniform((1, 4), minval, maxval) # C3
>>> c2 = ops.uniform((1, 4), minval, maxval) # C4
>>> # 4. 如果设置了全局种子但未设置算子种子mindspore.ops.composite.random_ops以及
>>> # mindspore.nn.probability.distribution将会根据全局种子及默认算子种子计算出一个种子。
>>> # 每次调用默认算子种子都会改变,因此每次调用会得到不同的结果。
>>> set_seed(1234)
>>> c1 = ops.uniform((1, 4), minval, maxval) # C1
>>> c2 = ops.uniform((1, 4), minval, maxval) # C2
>>> # 重新运行程序将得到相同的结果:
>>> set_seed(1234)
>>> c1 = ops.uniform((1, 4), minval, maxval) # C1
>>> c2 = ops.uniform((1, 4), minval, maxval) # C2
>>> # 5. 如果设置了全局种子以及算子种子mindspore.ops.composite.random_ops以及
>>> # mindspore.nn.probability.distribution将根据全局种子及算子种子计数器计算出一个种子。
>>> # 每次调用将会更改算子种子计数器, 因此每次调用会得到不同的结果。
>>> set_seed(1234)
>>> c1 = ops.uniform((1, 4), minval, maxval, seed=2) # C1
>>> c2 = ops.uniform((1, 4), minval, maxval, seed=2) # C2
>>> # 重新运行程序将得到相同的结果:
>>> set_seed(1234)
>>> c1 = ops.uniform((1, 4), minval, maxval, seed=2) # C1
>>> c2 = ops.uniform((1, 4), minval, maxval, seed=2) # C2
>>> # 6. 如果算子种子设置了但是全局种子没有设置0将作为全局种子那么
>>> # mindspore.ops.composite.random_ops以及mindspore.nn.probability.distribution运行方式同5。
>>> c1 = ops.uniform((1, 4), minval, maxval, seed=2) # C1
>>> c2 = ops.uniform((1, 4), minval, maxval, seed=2) # C2
>>> # 重新运行程序将得到相同的结果:
>>> c1 = ops.uniform((1, 4), minval, maxval, seed=2) # C1
>>> c2 = ops.uniform((1, 4), minval, maxval, seed=2) # C2
>>> # 7. 在程序中重新调用set_seed()将会重置mindspore.ops.composite.random_ops
>>> # 和mindspore.nn.probability.distribution的numpy种子以及算子种子计数器。
>>> set_seed(1234)
>>> np_1 = np.random.normal(0, 1, [1]).astype(np.float32) # A1
>>> c1 = ops.uniform((1, 4), minval, maxval, seed=2) # C1
>>> set_seed(1234)
>>> np_2 = np.random.normal(0, 1, [1]).astype(np.float32) # still get A1
>>> c2 = ops.uniform((1, 4), minval, maxval, seed=2) # still get C1
...
>>> # 2. 如果设置了全局种子numpy.random以及initializer将会使用这个种子
>>> set_seed(1234)
>>> np_1 = np.random.normal(0, 1, [1]).astype(np.float32) # A1
>>> np_1 = np.random.normal(0, 1, [1]).astype(np.float32) # A2
>>> w1 = Parameter(initializer("uniform", [2, 2], ms.float32), name="w1") # W1
>>> w1 = Parameter(initializer("uniform", [2, 2], ms.float32), name="w1") # W2
>>> # 重新运行程序将得到相同的结果:
>>> set_seed(1234)
>>> np_1 = np.random.normal(0, 1, [1]).astype(np.float32) # A1
>>> np_1 = np.random.normal(0, 1, [1]).astype(np.float32) # A2
>>> w1 = Parameter(initializer("uniform", [2, 2], ms.float32), name="w1") # W1
>>> w1 = Parameter(initializer("uniform", [2, 2], ms.float32), name="w1") # W2
...
>>> # 3. 如果全局种子或者算子种子均未设置mindspore.ops.composite.random_ops以及
>>> # mindspore.nn.probability.distribution将会选择一个随机种子
>>> c1 = ops.uniform((1, 4), minval, maxval) # C1
>>> c2 = ops.uniform((1, 4), minval, maxval) # C2
>>> # 重新运行程序将得到不同的结果:
>>> c1 = ops.uniform((1, 4), minval, maxval) # C3
>>> c2 = ops.uniform((1, 4), minval, maxval) # C4
...
>>> # 4. 如果设置了全局种子但未设置算子种子mindspore.ops.composite.random_ops以及
>>> # mindspore.nn.probability.distribution将会根据全局种子及默认算子种子计算出一个种子。
>>> # 每次调用默认算子种子都会改变,因此每次调用会得到不同的结果。
>>> set_seed(1234)
>>> c1 = ops.uniform((1, 4), minval, maxval) # C1
>>> c2 = ops.uniform((1, 4), minval, maxval) # C2
>>> # 重新运行程序将得到相同的结果:
>>> set_seed(1234)
>>> c1 = ops.uniform((1, 4), minval, maxval) # C1
>>> c2 = ops.uniform((1, 4), minval, maxval) # C2
...
>>> # 5. 如果设置了全局种子以及算子种子mindspore.ops.composite.random_ops以及
>>> # mindspore.nn.probability.distribution将根据全局种子及算子种子计数器计算出一个种子。
>>> # 每次调用将会更改算子种子计数器, 因此每次调用会得到不同的结果。
>>> set_seed(1234)
>>> c1 = ops.uniform((1, 4), minval, maxval, seed=2) # C1
>>> c2 = ops.uniform((1, 4), minval, maxval, seed=2) # C2
>>> # 重新运行程序将得到相同的结果:
>>> set_seed(1234)
>>> c1 = ops.uniform((1, 4), minval, maxval, seed=2) # C1
>>> c2 = ops.uniform((1, 4), minval, maxval, seed=2) # C2
...
>>> # 6. 如果算子种子设置了但是全局种子没有设置0将作为全局种子那么
>>> # mindspore.ops.composite.random_ops以及mindspore.nn.probability.distribution运行方式同5。
>>> c1 = ops.uniform((1, 4), minval, maxval, seed=2) # C1
>>> c2 = ops.uniform((1, 4), minval, maxval, seed=2) # C2
>>> # 重新运行程序将得到相同的结果:
>>> c1 = ops.uniform((1, 4), minval, maxval, seed=2) # C1
>>> c2 = ops.uniform((1, 4), minval, maxval, seed=2) # C2
...
>>> # 7. 在程序中重新调用set_seed()将会重置mindspore.ops.composite.random_ops
>>> # 和mindspore.nn.probability.distribution的numpy种子以及算子种子计数器。
>>> set_seed(1234)
>>> np_1 = np.random.normal(0, 1, [1]).astype(np.float32) # A1
>>> c1 = ops.uniform((1, 4), minval, maxval, seed=2) # C1
>>> set_seed(1234)
>>> np_2 = np.random.normal(0, 1, [1]).astype(np.float32) # still get A1
>>> c2 = ops.uniform((1, 4), minval, maxval, seed=2) # still get C1

View File

@ -18,7 +18,7 @@ mindspore.ops.Reshape
**异常:**
- **ValueError** - 给定的`input_shape`,如果它有几个-1或者其元素的乘积小于或等于0或者无法被输入Tensor的shape的乘积相除或者与输入的数组大小不匹配。
- **ValueError** - 给定的 `input_shape`,如果它有几个-1或者其元素的乘积小于或等于0或者无法被输入Tensor的shape的乘积相除或者与输入的数组大小不匹配。
**支持平台:**