mindspore_lite.ModelGroup
- class mindspore_lite.ModelGroup(flags=ModelGroupFlag.SHARE_WORKSPACE)[源代码]
ModelGroup 类定义MindSpore Lite模型分组信息,用于共享工作空间(Workspace)内存或者权重(包括常量和变量)内存。
- 参数:
flags (ModelGroupFlag,可选) - 指示 ModelGroup 的类型。默认:
ModelGroupFlag.SHARE_WORKSPACE
。
样例:
>>> # Multi models share workspace memory >>> import mindspore_lite as mslite >>> model_type=mslite.ModelType.MINDIR >>> path1 = "path_to_model1" >>> path2 = "path_to_model2" >>> model_group = mslite.ModelGroup() >>> model_group.add_model([path1, path2]) >>> model_group.cal_max_size_of_workspace(model_type, context) >>> >>> # Multi models share weights memory >>> import mindspore_lite as mslite >>> context = mslite.Context() >>> context.target = ["Ascend"] >>> context.ascend.device_id = 0 >>> context.ascend.rank_id = 0 >>> context.ascend.provider = "ge" >>> model_group = mslite.ModelGroup(mslite.ModelGroupFlag.SHARE_WEIGHT) >>> model0 = mslite.Model() >>> model1 = mslite.Model() >>> model_group.add_model([model0, model1]) >>> model0.build_from_file("seq_1024.mindir", mslite.ModelType.MINDIR, context, "config0.ini") >>> model1.build_from_file("seq_1.mindir", mslite.ModelType.MINDIR, context, "config.ini")
- add_model(models)[源代码]
添加需要共享工作空间内存或权重内存的模型。当前参数 models 是 Model 对象的元组或列表时,仅支持共享权重内存,其他场景下仅支持工作空间内存共享。
- 参数:
models (union[tuple/list(str), tuple/list(Model)]) - 定义共享内存的一组模型文件或模型对象。
- 异常:
TypeError - models 不是list和tuple类型。
TypeError - models 是list或tuple类型,但是成员不全是str或者Model对象。
RuntimeError - 添加模型分组信息失败。
- cal_max_size_of_workspace(model_type, context)[源代码]
计算 add_model 模型的工作内存的最大值。仅在 ModelGroup 的类型为
ModelGroupFlag.SHARE_WORKSPACE
时有效。- 参数:
model_type (ModelType) - 定义模型的类型。
context (Context) - 定义模型的上下文。
- 异常:
TypeError - model_type 不是 ModelType 类型。
TypeError - context 不是 Context 类型。
RuntimeError - 计算工作内存的最大值失败。