Open xlg-go opened 1 year ago
请用nuget包试试,master上是最新版
请用nuget包试试,master上是最新版
试了
需要看看你的代码和图片
需要看看你的代码和图片
首先再次感谢大佬,百忙之中抽空。
环境: ubuntu 20.04, paddle 2.5.1 或者 2.5.0 或者 develop, cuad12.0.1-cudnn8.9.1-trt8.6.1 或者 cuda11.8.0-cudnn8.6-trt8.5, paddleSharp 是您master分支, 全程是在docker容器中运行。
倘若将paddleSharp版本换成nuget上的最新版(v2.6.05),就会报如下错误:
c# 代码结构如下图:
以下是识别打印的日志: rlt 既是识别结果,原本TestImgs文件夹下有多张图片,由于github限制,故只留了一张。
以下是代码zip包: ConsoleApp1.zip
在Linux上执行的话,你需要卸载Sdcb.PaddleInference.runtime.win64.mkl这个包,同时我也想看看你的dockerfile是怎么写的?
在Linux上执行的话,你需要卸载Sdcb.PaddleInference.runtime.win64.mkl这个包,同时我也想看看你的dockerfile是怎么写的?
我是用vs studio发布的,如下图:
去掉Sdcb.PaddleInference.runtime.win64.mkl,也不行哦!
下面是我的dockerfile: dockerfile-ubuntu2004-cuda-cudnn-trt-cvsharp-pd-dotnetruntime.txt
ldd libpaddle_inference_c.so 和 ldd libOpenCvSharpExtern.so,都不缺少依赖。
基于官方镜像 paddlepaddle/paddle:2.5.1-gpu-cuda12.0-cudnn8.9-trt8.6,也是不行的!
当然,如果是 paddle 2.4,在 ubuntu2004-cuda11.8.0-cudnn8.6.0-trt8.5.1-cvsharp4.7.0-pd2.4.2-dotnetruntime6.0.14 环境下,就没问题,运行的很好。很棒!!!
我估计就是到 paddle 2.5,是不是有什么新特性啥的。最后,感谢大佬,万分感谢,社区有您,丰富多彩!!!
呃,我重新看了一下,我说错了,用linux你并不需要卸载Sdcb.PaddleInference.runtime.win64.mkl
我看到了你的dockerfile,写得非常好,其实2.4和2.5在使用GPU模式下有一点区别,见这里: 这是2.5的: https://github.com/sdcb/PaddleSharp/blob/af04f4f97b48be9349f576906c4d249f70e72909/src/Sdcb.PaddleInference/Native/PaddleNative.g.cs#L92
可见2.5相比2.4的C API多了一个参数,因此使用2.4的Sdcb.PaddleInference必须配套2.4的动态库,2.5的也必需相应配套,会不会是跟这个有关?
您master分支就是配套 paddle 2.5的 libpaddle_inference_c.so 吧?我是用您master分支生成的dll,然后配套2.5的libpaddle_inference_c.so
还有就是,精度是Float32的,和您这里默认的是一致的:
最后,感谢大佬夸奖~~~哈哈!!!
对,master分支对应的是2.5版本,新加了这一参数,如果它与配套运行的GPU版本号不一致,则肯定会有问题,你的问题算得到解决了吗?
对,master分支对应的是2.5版本,新加了这一参数,如果它与配套运行的GPU版本号不一致,则肯定会有问题,你的问题算得到解决了吗?
算是没解决吧~
cuda,cudnn,trt版本严格对标paddle官方的,问题依旧;
就连用官方的镜像,依旧是有问题的;
不知道怎么解决了,反正现在用 paddle 2.4.2,配合您的2.6.05版本,也能用,现就这样吧。
对,master分支对应的是2.5版本,新加了这一参数,如果它与配套运行的GPU版本号不一致,则肯定会有问题,你的问题算得到解决了吗?
对了,您说的GPU版本号是什么意思?这是什么?这还认GPU吗?
看到了,你是使用的这个版本的包对吧:paddlepaddle/paddle:2.5.1-gpu-cuda12.0-cudnn8.9-trt8.6 基于这个包,你使用这个版本:2.6.0.6-preview.8能不能用呢?
大佬,有没有考虑基于c++ lib?而不是c lib?感觉还是c lib底层有问题,当然这都是我的猜测哈!
paddlesharp是您的master最新代码。当然即使是用您nuget包Sdcb.PaddleOCR 2.7.0,也是如此。 环境是 ubuntu2204-cuda12.0.0-cudnn8.9.1-trt8.6.1-cvsharp4.7.0-pd2.5.1-dotnetruntime6.0.14
这个是mkldn下, 模型的输出,预测结果是对的:
这个是gpu下,模型的输出,预测结果是错的:
你的问题可以持续关注,只是C++的lib很能直接被C#调用,必须要走C
会不会是cuda12兼容不佳?要不要换成cuda11.8或者10.2试试?你是什么显卡?
会不会是cuda12兼容不佳?要不要换成cuda11.8或者10.2试试?你是什么显卡?
我还怀疑是不是2.5.1版本的paddle,它是用gcc12.2编译的有关?但我用cuda11.8和2.5.1的环境,也是不行的。当然gcc8.2编译的2.5.1也同样不行! 综上,我怀疑可能是和底层c lib有关。毕竟最近用飞将,确实有很多问题,其中不乏一些都是官方的bug!兼容性还是不如pytorch这些!
我在2080ti,3090这些卡,都是不行的!
你的问题可以持续关注,只是C++的lib很能直接被C#调用,必须要走C
我有关注到,Python的包,里面用的好像就是c++ lib吧?毕竟Python用的人多,所以感觉会不会c++方面bug是不是少一点!愚见!!!
会不会是cuda12兼容不佳?要不要换成cuda11.8或者10.2试试?你是什么显卡?
我还怀疑是不是2.5.1版本的paddle,它是用gcc12.2编译的有关?但我用cuda11.8和2.5.1的环境,也是不行的。当然gcc8.2编译的2.5.1也同样不行! 综上,我怀疑可能是和底层c lib有关。毕竟最近用飞将,确实有很多问题,其中不乏一些都是官方的bug!兼容性还是不如pytorch这些!
我在2080ti,3090这些卡,都是不行的!
Linux上没试过,但Windows上3080TI用GPU是没问题的
会不会是cuda12兼容不佳?要不要换成cuda11.8或者10.2试试?你是什么显卡?
我还怀疑是不是2.5.1版本的paddle,它是用gcc12.2编译的有关?但我用cuda11.8和2.5.1的环境,也是不行的。当然gcc8.2编译的2.5.1也同样不行! 综上,我怀疑可能是和底层c lib有关。毕竟最近用飞将,确实有很多问题,其中不乏一些都是官方的bug!兼容性还是不如pytorch这些!
我在2080ti,3090这些卡,都是不行的!
Linux上没试过,但Windows上3080TI用GPU是没问题的
感觉对Windows友好一些,我再想想办法
兄弟们 有结果吗 我这边是用gpu和trt得不到结果或者乱码
兄弟们 有结果吗 我这边是用gpu和trt得不到结果或者乱码
近期比较忙,paddle只是后备方案,主选还是pytorch转onnx转trt。 近期又有一个新方案,基于paddle c++版本,外面再包一层c++,貌似没什么问题,后期有时间了再测试一下。
兄弟们 有结果吗 我这边是用gpu和trt得不到结果或者乱码
近期比较忙,paddle只是后备方案,主选还是pytorch转onnx转trt。 近期又有一个新方案,基于paddle c++版本,外面再包一层c++,貌似没什么问题,后期有时间了再测试一下。
我这边用了openvino C#版的部署 CPU推理效果还可以 文字框不多的基本都在100ms以内
兄弟们 有结果吗 我这边是用gpu和trt得不到结果或者乱码
近期比较忙,paddle只是后备方案,主选还是pytorch转onnx转trt。 近期又有一个新方案,基于paddle c++版本,外面再包一层c++,貌似没什么问题,后期有时间了再测试一下。
我这边用了openvino C#版的部署 CPU推理效果还可以 文字框不多的基本都在100ms以内
gpu总归是个问题,我严重怀疑是paddle本身的问题。毕竟是百度
大佬您好,最近用您mast分支代码, paddle版本是2.5.0, cuda 11.8.0,cudnn 8.6,trt8.5, rec结果不对, 不知道怎么回事,您有空帮忙看下? PaddleOcrRecognizerResult { Text = Y08&01728308, Score = 0.27904937 } Y08&01728308 不知道是什么,反正正确的结果应该是 15
gpu和trt加速,结果都不对, 只有mkldnn下正常。