专栏算法工具链调用GPU问题

调用GPU问题

已解决
allp2023-07-10
84
11

在04_inference.sh中调用的match_inference2.py,其中我可以调用GPU吗?cuda是可以使用的。

但是会报错:

请问我该怎么解决?

算法工具链
评论2
0/1000
  • 颜值即正义
    Lv.2

    你好,推荐您使用CPU版本进行精度验证,因为CPU版本是经过全量测试的。

    如果您一定要使用GPU来进行加速的话,也是可以的,但必须使用GPU版本的docker,然后设置

    sess = HB_ONNXRuntime(model_file=model)

    sess.set_dim_param(0, 0, '?')

    sess.set_providers(['CUDAExecutionProvider'])

    2023-07-10
    0
    8
    • allp回复颜值即正义:

      现在问题是我装的是GPU版本的docker,但是并不能调用GPU:

      1.安装过程GPU版本的docker执行的脚本是:

      sudo docker run -it --gpus all -d -v /home/lpp/workspace/horizon_xj3_openexplorer_v2.5.2_py38_20230331/horizon_xj3_open_explorer_v2.5.2-py38_20230331/ddk:/data --name horizon_GPU d292bc9ff2d9

      这个应该没有什么问题吧
      2.然后启动GPU

      3.但是在代码中:sess.set_providers(['CUDAExecutionProvider'])会报错。

      4. 显示这里面并没有CUDAExecutionProvider,这可能是什么原因呢?
      2023-07-10
      0
    • 颜值即正义回复allp:

      猜测你可能没有在docker里安装对应GPU版本的horizon_nn_gpu(对应whl包在ddk/package/host/ai_toolchain目录下),可以使用pip list | grep horizon看一下依赖情况,我的如下图:

      是可以正常运行的,如下图:

      2023-07-10
      0
    • allp回复颜值即正义:

      好的,我装上后:

      但是又出现了新的错误,这又是为啥呢:

      2023-07-10
      0
    • 颜值即正义回复allp:

      从报错看,是内存不足,你可以跑个OE包里的例子看一下,保证用法没问题

      2023-07-10
      0
    • allp回复颜值即正义:

      1.我用04_inference.sh origin加载原始模型,是可以运行的,内存没有报错。

      2.但是使用量化模型后,会出现报错的情况

      3.两个onnx模型均大约在4M左右,为什么会出现这种情况呢

      2023-07-10
      0
    • 颜值即正义回复allp:

      麻烦提供一下模型和运行脚本哈,我来复现一下你的问题,可以通过网盘链接提供~

      2023-07-10
      0
    • allp回复颜值即正义:

      换一个大内存的电脑是可以的

      2023-07-10
      0
    • 颜值即正义回复allp:

      好的,记得填一下问卷哈~

      2023-07-10
      0
  • allp
    Lv.1

    改为sess.set_providers(['CPUExecutionProvider'])运行是没有问题的,但是速度很慢,所以我想试试GPU

    2023-07-10
    0
    1
    • 颜值即正义回复allp:
      您好,地平线工具链在持续迭代优化,为了给您提供更好的服务,希望您能抽出3分钟左右的时间,将您在使用工具链期间的感受和建议告诉我们,您的宝贵意见对我们很重要,非常感谢! 问卷链接:地平线算法工具链使用满意度反馈
      2023-07-10
      0