AI开发平台MODELARTS-pipeline代码适配:模型推理适配

时间:2025-01-03 09:38:46

模型推理适配

完成模型初始化后,您需要将onnx模型推理的代码等价替换为对应的mindir模型推理接口。以vae_encoder模型为例,在pipeline代码中查找vae_encoder推理调用的地方,然后修改为对应的MindSpore Lite版本的推理接口模型。

  • 使用MindSpore Lite Runtime接口替换onnx Runtime接口。
    # pipeline_onnx_stable_diffusion_img2img_mslite.py
    …
    # onnx模型
    # init_latents = self.vae_encoder(sample=image)[0]
    # ----------------修改点-----------------
    # mslite模型
    init_latents = self.vae_encoder_ms(sample=image)[0]
    ...
  • 替换内嵌模型。
    # pipeline_onnx_stable_diffusion_img2img_mslite.py
    …
    # onnx模型
    # image = np.concatenate([self.vae_decoder(latent_sample=latents[i : i + 1])[0] for i in range(latents.shape[0])])
    # ----------------修改点-----------------
    # mslite模型
    image = np.concatenate([self.vae_decoder_ms(latent_sample=latents[i : i + 1])[0] for i in range(latents.shape[0])])
    ...

修改后的文件参考Gitee代码库中的如下两个文件:

  • pipeline_onnx_stable_diffusion_img2img_mslite.py
  • mslite_model_proxy.py
support.huaweicloud.com/bestpractice-modelarts/modelarts_10_2005.html