mindspore

数据表达

张量

mindspore.Tensor

张量,即存储多维数组(n-dimensional array)的数据结构。

mindspore.tensor

此接口用于在Cell.construct()或者@jit装饰的函数内,创建一个新的Tensor对象。

mindspore.COOTensor

用来表示某一Tensor在给定索引上非零元素的集合,其中索引(indices)指示了每一个非零元素的位置。

mindspore.CSRTensor

用来表示某一Tensor在给定索引上非零元素的集合,其中行索引由 indptr 表示,列索引由 indices 表示,非零值由 values 表示。

mindspore.RowTensor

用来表示一组指定索引的Tensor切片的稀疏表示。

mindspore.SparseTensor

用来表示某一张量在给定索引上非零元素的集合。

参数

mindspore.Parameter

ParameterTensor 的子类,当它们被绑定为Cell的属性时,会自动添加到其参数列表中,并且可以通过Cell的某些方法获取,例如 cell.get_parameters()

mindspore.ParameterTuple

继承于tuple,用于管理多个Parameter。

数据类型

mindspore.dtype

创建一个MindSpore数据类型的对象。

mindspore.dtype_to_nptype

将MindSpore数据类型转换成NumPy数据类型。

mindspore.dtype_to_pytype

将MindSpore数据类型转换为Python数据类型。

mindspore.pytype_to_dtype

将Python数据类型转换为MindSpore数据类型。

mindspore.get_py_obj_dtype

获取与Python数据类型对应的MindSpore数据类型。

mindspore.QuantDtype

MindSpore量化数据类型枚举类,包含 INT1 ~ INT16UINT1 ~ UINT16

mindspore.common.np_dtype

np_dtype 扩展了Numpy的数据类型。

运行环境

mindspore.set_context

设置运行环境的context。

mindspore.get_context

根据输入key获取context中的属性值。

mindspore.set_auto_parallel_context

配置自动并行,当前CPU仅支持数据并行。

mindspore.get_auto_parallel_context

根据key获取自动并行的配置。

mindspore.reset_auto_parallel_context

重置自动并行的配置为默认值。

mindspore.ParallelMode

并行模式。

mindspore.set_ps_context

设置参数服务器训练模式的上下文。

mindspore.get_ps_context

根据key获取参数服务器训练模式上下文中的属性值。

mindspore.reset_ps_context

将参数服务器训练模式上下文中的属性重置为默认值。

mindspore.set_algo_parameters

设置并行策略搜索算法中的参数。

mindspore.get_algo_parameters

获取算法参数配置属性。

mindspore.reset_algo_parameters

重置算法参数属性。

mindspore.set_offload_context

配置异构训练详细参数,来调整offload策略。

mindspore.get_offload_context

获取offload配置参数。

随机种子

mindspore.set_seed

设置全局种子。

mindspore.get_seed

获取随机种子。

随机状态管理

mindspore.get_rng_state

获取默认生成器状态。

mindspore.Generator

管理随机数状态的生成器,为随机函数提供seed和offset。

mindspore.initial_seed

返回默认生成器的初始种子。

mindspore.manual_seed

设置默认生成器种子。

mindspore.seed

生成可作为默认生成器种子的随机种子。

mindspore.set_rng_state

设置默认生成器状态。

序列化

mindspore.async_ckpt_thread_status

获取异步保存checkpoint文件线程的状态。

mindspore.build_searched_strategy

构建网络中每个参数的策略,用于分布式推理。

mindspore.check_checkpoint

检查checkpoint文件是否合法。

mindspore.convert_model

将MindIR模型转化为其他格式的模型文件。

mindspore.export

将MindSpore网络模型导出为指定格式的文件。

mindspore.load

加载MindIR文件。

mindspore.load_checkpoint

加载checkpoint文件。

mindspore.load_checkpoint_async

异步加载checkpoint文件。

mindspore.load_distributed_checkpoint

给分布式预测加载checkpoint文件到网络。

mindspore.load_mindir

加载MindIR文件。

mindspore.load_param_into_net

将参数加载到网络中,返回网络中没有被加载的参数列表。

mindspore.load_segmented_checkpoints

加载指定路径下所有checkpoint文件。

mindspore.merge_pipeline_strategys

流水线并行模式下,汇聚所有流水线并行子图的切分策略文件。

mindspore.merge_sliced_parameter

将参数切片合并为一个完整的参数,用于分布式推理。

mindspore.obfuscate_model

对MindIR格式的模型进行混淆,混淆主要是修改模型的网络结构但不影响它的推理精度,混淆后的模型可以防止被盗用。

mindspore.parse_print

解析由 mindspore.ops.Print 生成的数据文件。

mindspore.rank_list_for_transform

在对分布式Checkpoint转换的过程中,获取为了得到目标rank的Checkpoint文件所需的源Checkpoint文件rank列表。

mindspore.restore_group_info_list

group_info_file_name 指向的文件中提取得到通信域的信息,在该通信域内的所有设备的checkpoint文件均与存储 group_info_file_name 的设备相同,可以直接进行替换。

mindspore.save_checkpoint

将网络权重保存到checkpoint文件中。

mindspore.save_mindir

保存MindIR文件。

mindspore.transform_checkpoint_by_rank

将一个分布式网络的Checkpoint由源切分策略转换到目标切分策略,对特定一个rank进行转换。

mindspore.transform_checkpoints

将一个分布式网络的Checkpoint由源切分策略转换到目标切分策略。

自动微分

mindspore.grad

生成求导函数,用于计算给定函数的梯度。

mindspore.value_and_grad

生成求导函数,用于计算给定函数的正向计算结果和梯度。

mindspore.get_grad

mindspore.grad()mindspore.value_and_grad()return_ids 参数设置为 True 时,将 mindspore.grad 的返回值,或 mindspore.value_and_grad 的第二个返回值作为 gradients

mindspore.jacfwd

通过前向模式计算给定网络的Jacobian矩阵,对应 前向模式自动微分

mindspore.jacrev

通过反向模式计算给定网络的Jacobian矩阵,对应 反向模式自动微分

mindspore.jvp

计算给定网络的雅可比向量积(Jacobian-vector product, JVP)。

mindspore.vjp

计算给定网络的向量雅可比积(vector-jacobian-product, VJP)。

并行优化

自动向量化

mindspore.vmap

自动向量化(Vectorizing Map,vmap),是一种用于沿参数轴映射函数 fn 的高阶函数。

并行

mindspore.Layout

Layout描述了详细的切分信息。

mindspore.parameter_broadcast

在数据并行维度将参数广播给另外的卡。

mindspore.recompute

该函数用于减少显存的使用,当运行选定的模块时,不再保存其中的前向计算的产生的激活值,我们将在反向传播时,重新计算前向的激活值。

mindspore.reshard

指定输入张量的精准排布。

mindspore.shard

指定输入/输出Tensor的分布策略,其余算子的策略推导得到。

mindspore.sync_pipeline_shared_parameters

在流水线并行场景下,部分参数可能会被不同的stage之间共享。

即时编译

mindspore.JitConfig

编译时所使用的JitConfig配置项。

mindspore.jit

将Python函数编译为一张可调用的MindSpore图。

mindspore.jit_class

用户自定义类的类装饰器。

mindspore.ms_class

用户自定义类的类装饰器。

mindspore.ms_function

将Python函数编译为一张可调用的MindSpore图。

mindspore.ms_memory_recycle

回收MindSpore使用的内存。

mindspore.mutable

设置一个常量值为可变的。

mindspore.constexpr

在图模式下,用来计算图编译过程中的常量值,以提升编译性能。

mindspore.lazy_inline

指定一个cell是可复用的。

mindspore.no_inline

指定python 函数是可复用的。

工具

数据处理工具

mindspore.DatasetHelper

DatasetHelper是一个处理MindData数据集的类,提供数据集信息。

mindspore.Symbol

符号,用来传递张量形状的符号信息(symbolic shape)的数据结构。

mindspore.connect_network_with_dataset

networkdataset_helper 中的数据集连接,只支持 下沉模式,(dataset_sink_mode=True)。

mindspore.data_sink

对输入的函数封装生成一个新的函数。

调试调优

mindspore.Profiler

MindSpore用户能够通过该类对神经网络的性能进行采集。

mindspore.SummaryCollector

SummaryCollector可以帮助收集收集一些常用信息,比如loss、学习率、计算图等。

mindspore.SummaryLandscape

SummaryLandscape可以帮助您收集loss地形图的信息。

mindspore.SummaryRecord

SummaryRecord用于记录summary数据和lineage数据。

mindspore.set_dump

启用或者禁用 target 及其子节点的Dump数据功能。

日志

mindspore.get_level

获取日志记录器的级别。

mindspore.get_log_config

获取日志配置。

安装验证

mindspore.run_check

提供了便捷的API用以查询MindSpore的安装是否成功。