开发者社区 > ModelScope模型即服务 > 正文

modelscope.pipelines多卡推理问题

请问modelscope.pipelines如何多卡推理啊,device='cuda:5,7'不行

展开
收起
游客ynabqlc6l6mge 2023-12-15 16:21:44 1011 0
1 条回答
写回答
取消 提交回答
  • 在 ModelScope 中,如果您想要使用多卡进行推理,您需要确保您的环境已经配置了多GPU支持,并且要正确设置 CUDA 环境变量 CUDA_VISIBLE_DEVICES。这个环境变量允许您指定哪些 GPU 应该被模型用于计算。

    当您调用 ModelScope 的 Pipeline API 时,通常会提供一个参数来指定设备(device)。然而,直接在 device 参数中使用 'cuda:5,7' 这样的语法可能并不总是有效的,因为不同的库和框架可能会有不同的设备选择方式。

    为了在一台机器上指定多个 GPU,请尝试以下方法:

    1. 设置 CUDA 变量
      在运行脚本之前,在命令行中设置 CUDA_VISIBLE_DEVICES 环境变量。例如,如果您想使用第5个和第7个 GPU,可以这样做:

      export CUDA_VISIBLE_DEVICES=5,7
      
    2. 传递设备参数
      然后,在您的代码中,将设备参数传递给 Pipeline API。这可能看起来像这样:

      from modelscope import Pipeline
      
      pipe = Pipeline(task="your_task", model="your_model")
      result = pipe.inference(text="your_text", device="cuda:0")
      

      注意:在这个例子中,我们假设第一个指定的 GPU 是从零开始计数的。因此,如果我们在第一步中指定了 GPU 5 和 7,那么在这里我们应该使用 "cuda:0" 来告诉 Pipeline 使用这些 GPU。这是因为当我们设置了 CUDA_VISIBLE_DEVICES,它实际上改变了 GPU 的逻辑编号,而不是物理编号。

    3. 检查输出
      确保结果正常返回,并且显存使用符合预期。

    2023-12-15 20:12:35
    赞同 展开评论 打赏

ModelScope旨在打造下一代开源的模型即服务共享平台,为泛AI开发者提供灵活、易用、低成本的一站式模型服务产品,让模型应用更简单!欢迎加入技术交流群:微信公众号:魔搭ModelScope社区,钉钉群号:44837352

相关电子书

更多
视觉AI能力的开放现状及ModelScope实战 立即下载
ModelScope助力语音AI模型创新与应用 立即下载
低代码开发师(初级)实战教程 立即下载