mindspore_lite.RunnerConfig
- class mindspore_lite.RunnerConfig(context=None, workers_num=None, config_info=None, config_path='')[源代码]
RunnerConfig类定义 ModelParallelRunner 类的上下文和配置。
- 参数:
context (Context,可选) - 定义上下文,用于在执行期间传递选项。默认值:None。
workers_num (int,可选) - workers的数量。一个 ModelParallelRunner 包含多个worker,worker为实际执行并行推理的单元。将 workers_num 设置为0表示 workers_num 将基于计算机性能和核心数自动调整。默认值:None,等同于设置为0。
config_info (dict{str: dict{str: str}},可选) - 传递模型权重文件路径的嵌套映射。例如:{“weight”: {“weight_path”: “/home/user/weight.cfg”}}。默认值:None,等同于设置为{}。key当前支持[“weight”];value为dict格式,其中的key当前支持[“weight_path”],其中的value为权重的路径,例如”/home/user/weight.cfg”。
config_path (str,可选) - 定义配置文件的路径,用于在构建 ModelParallelRunner 期间传递用户定义选项。在以下场景中,用户可能需要设置参数。例如:”/home/user/config.txt”。默认值:””。
用法1 - 进行混合精度推理的设置,配置文件内容及说明如下:
[execution_plan] [op_name1]=data_type:float16(名字为op_name1的算子设置数据类型为Float16) [op_name2]=data_type:float32(名字为op_name2的算子设置数据类型为Float32)
用法2 - 在使用GPU推理时,进行TensorRT设置,配置文件内容及说明如下:
[ms_cache] serialize_path=[serialization model path](序列化模型的存储路径) [gpu_context] input_shape=input_name:[input_dim](模型输入维度,用于动态shape) dynamic_dims=[min_dim~max_dim](模型输入的动态维度范围,用于动态shape) opt_dims=[opt_dim](模型最优输入维度,用于动态shape)
- 异常:
TypeError - context 既不是Context类型也不是None。
TypeError - workers_num 既不是int类型也不是None。
TypeError - config_info 既不是dict类型也不是None。
TypeError - config_info 是dict类型,但key不是str类型。
TypeError - config_info 是dict类型,key是str类型,但value不是dict类型。
TypeError - config_info 是dict类型,key是str类型,value是dict类型,但value的key不是str类型。
TypeError - config_info 是dict类型,key是str类型,value是dict类型,value的key是str类型,但value的value不是str类型。
ValueError - workers_num 是int类型,但小于0。
TypeError - config_path 不是str类型。
ValueError - config_path 文件路径不存在。
样例:
>>> # Use case: serving inference. >>> # precondition 1: Building MindSpore Lite serving package by export MSLITE_ENABLE_SERVER_INFERENCE=on. >>> # precondition 2: install wheel package of MindSpore Lite built by precondition 1. >>> import mindspore_lite as mslite >>> context = mslite.Context() >>> context.append_device_info(mslite.CPUDeviceInfo()) >>> config_info = {"weight": {"weight_path": "path of model weight"}} >>> runner_config = mslite.RunnerConfig(context=context, workers_num=0, config_info=config_info, ... config_path="file.txt") >>> print(runner_config) workers num: 0, config info: weight: weight_path path of model weight, context: thread num: 0, bind mode: 1. config path: file.txt.