Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

【黄埔学院】windows下编译paddle1.8.4+trt的推理库遇到tensorrt的问题 #26335

Closed
RayCAS2017 opened this issue Aug 16, 2020 · 5 comments
Assignees

Comments

@RayCAS2017
Copy link

RayCAS2017 commented Aug 16, 2020

  • 版本、环境信息:
       1)PaddlePaddle版本:v1.8.4
       2)GPU,1060,CUDA10.0和CUDNN7.6
       4)系统环境:win10家庭版, vs 2015

  • 安装方式信息:
    1)本地编译:请提供cmake命令,
    cmake .. -G "Visual Studio 14 2015 Win64" -DCMAKE_BUILD_TYPE=Release -DWITH_GPU=ON -DWITH_TESTING=OFF -DON_INFER=ON -DWITH_PYTHON=ON -DWITH_MKL=OFF -DWITH_MKLDNN=OFF -DCUDA_ARCH_NAME=All -DPYTHON_EXECUTABLE=C:\Users\ray\.conda\envs\paddle1.8\python.exe -DCUDA_TOOLKIT_ROOT_DIR="C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0" -DTENSORRT_ROOT="E:\workstation\ProjectLocal\TensorRT-7.0.0.11" -DTENSORRT_INCLUDE_DIR="E:\workstation\ProjectLocal\TensorRT-7.0.0.11\include" -DTENSORRT_LIBRARY_DIR="E:\workstation\ProjectLocal\TensorRT-7.0.0.11\lib" -DFLUID_INFERENCE_INSTALL_DIR="E:\workstation\ProjectLocal\Paddle2\infer_lib"

  • 问题描述:
    编译paddle1.8.4的C++预测库时,遇到tensorrt的问题
    微信图片_20200816224508

@RayCAS2017 RayCAS2017 changed the title 【黄埔学院】windows下编译paddle1.8.4+trt的推理库遇到tensor的问题 【黄埔学院】windows下编译paddle1.8.4+trt的推理库遇到tensorrt的问题 Aug 16, 2020
@MRXLT
Copy link
Contributor

MRXLT commented Aug 17, 2020

你好,建议使用tensorrt 6.0试一下

@RayCAS2017
Copy link
Author

之前有试过1.8.4+trt6.0,也遇到相同的问题。应该不是trt版本的问题。Paddle1.8.4相对Paddle1.8.3关于trt增加一些内容。感觉报错是Paddle\paddle\fluid\inference\tensorrt下面helper.h文件中的新增加这句话:
无标题2

这句话是做什么用的?

@xinsuinizhuan
Copy link

* 编译paddle1.8.4的C++预测库时,

你能编译过去?

@xinsuinizhuan
Copy link

* 版本、环境信息:
     1)PaddlePaddle版本:v1.8.4
     2)GPU,1060,CUDA10.0和CUDNN7.6
     4)系统环境:win10家庭版, vs 2015

* 安装方式信息:
  1)本地编译:请提供cmake命令,
  cmake .. -G "Visual Studio 14 2015 Win64" -DCMAKE_BUILD_TYPE=Release -DWITH_GPU=ON -DWITH_TESTING=OFF -DON_INFER=ON -DWITH_PYTHON=ON -DWITH_MKL=OFF -DWITH_MKLDNN=OFF -DCUDA_ARCH_NAME=All -DPYTHON_EXECUTABLE=C:\Users\ray\.conda\envs\paddle1.8\python.exe -DCUDA_TOOLKIT_ROOT_DIR="C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0" -DTENSORRT_ROOT="E:\workstation\ProjectLocal\TensorRT-7.0.0.11" -DTENSORRT_INCLUDE_DIR="E:\workstation\ProjectLocal\TensorRT-7.0.0.11\include" -DTENSORRT_LIBRARY_DIR="E:\workstation\ProjectLocal\TensorRT-7.0.0.11\lib" -DFLUID_INFERENCE_INSTALL_DIR="E:\workstation\ProjectLocal\Paddle2\infer_lib"

* 问题描述:
  编译paddle1.8.4的C++预测库时,遇到tensorrt的问题
  ![微信图片_20200816224508](https://user-images.githubusercontent.com/29969779/90337413-ea1da300-e014-11ea-9579-9b55c18f35f8.png)

我这边,一直在下载库,下载不了,就编译报错。

@jeng1220
Copy link
Collaborator

@cryoco ,
我剛仔細看log,這問題應是compiler對C++的auto實現問題,vs compiler遇到auto轉型失敗,故問題不在getPluginRegistry

tensorrt.h#L38 回傳為的型別是 auto,而tensorrt.h#L45 會一律強制回傳 nullptr

這和我們之前在群上討論的 #26283 是類似的問題,按Paddle v1.8的寫法會有問題,因不是所有函式的回傳型別都是指針,例如getInferLibVersion的回傳型別是int,在tensorrt.h#L45會遇到編譯時期轉型錯誤,故我建議用PADDLE_ENFORCE_NOT_NULL 取代一律回傳 nullptr 的寫法

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants