PaddlePaddle / Paddle

PArallel Distributed Deep LEarning: Machine Learning Framework from Industrial Practice (『飞桨』核心框架,深度学习&机器学习高性能单机、分布式训练和跨平台部署)
http://www.paddlepaddle.org/
Apache License 2.0
22.26k stars 5.6k forks source link

请问PaddleSeg 的模型deeplabv3,是否支持CUDA-11.0推理? #32741

Closed molyswu closed 3 years ago

molyswu commented 3 years ago

我想问一下PaddleSeg 的模型deeplabv3 的推理问题,在CUDA-11.0环境下推理deeplabv3,目的是win10在RTX3070,RTX3080上使用。 如果deeplabv3 支持CUDA-11.0,我搭建模型推理,编译的时候出现很多错误?deeplabv3 支持CUDA-11.0的指引吗? deeplabv3 支持CUDA-10.2,我搭建模型推理,编译是OK的。

paddle-bot-old[bot] commented 3 years ago

您好,我们已经收到了您的问题,会安排技术人员尽快解答您的问题,请耐心等待。请您再次检查是否提供了清晰的问题描述、复现代码、环境&版本、报错信息等。同时,您也可以通过查看官网API文档常见问题历史IssueAI社区来寻求解答。祝您生活愉快~

Hi! We've received your issue and please be patient to get responded. We will arrange technicians to answer your questions as soon as possible. Please make sure that you have posted enough message to demo your request. You may also check out the APIFAQGithub Issue and AI community to get the answer.Have a nice day!

juncaipeng commented 3 years ago

window上,可以下载cuda11的paddle预测库:https://paddleinference.paddlepaddle.org.cn/user_guides/download_lib.html#windows

你这个编译是预测库编译错误,还是编译应用程序时错误?

molyswu commented 3 years ago

编译是预测库编译错误

paddle-bot-old[bot] commented 3 years ago

Are you satisfied with the resolution of your issue?

YES No

molyswu commented 3 years ago

uilding Custom Rule D:/projects/PaddleSeg/legacy/deploy/cpp/CMakeLists.txt 4>demo.cpp 4>D:\projects\PaddleSeg\legacy\deploy\cpp\utils/utils.h(106): warning C4244: “=”: 从“double”转换到“float”,可能丢失数据 4>d:\projects\fluid_inference\paddle\include\paddle_api.h(157): warning C4251: “paddle::PaddleTensor::name”: class“std::basic_string<char,std::char_traits,std::allocator>”需要有 dll 接口由 struct“paddle::PaddleTensor”的客户端使用 4>C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Tools\MSVC\14.16.27023\include\xstring(4373): note: 参见“std::basic_string<char,std::char_traits,std::allocator>”的声明 4>d:\projects\fluid_inference\paddle\include\paddle_api.h(158): warning C4251: “paddle::PaddleTensor::shape”: class“std::vector<int,std::allocator<_Ty>>”需要有 dll 接口由 struct“paddle::PaddleTensor”的客户端使用 4> with 4> [ 4> _Ty=int 4> ] 4>D:\projects\opencv\build\include\opencv2/core/types.hpp(737): note: 参见“std::vector<int,std::allocator<_Ty>>”的声明 4> with 4> [ 4> _Ty=int 4> ] 4>d:\projects\fluid_inference\paddle\include\paddle_api.h(161): warning C4251: “paddle::PaddleTensor::lod”: class“std::vector<std::vector<size_t,std::allocator<_Ty>>,std::allocator<std::vector<_Ty,std::allocator<_Ty>>>>”需要有 dll 接口由 struct“paddle::PaddleTensor”的客户端使用 4> with 4> [ 4> _Ty=size_t 4> ] 4>d:\projects\fluid_inference\paddle\include\paddle_api.h(161): note: 参见“std::vector<std::vector<size_t,std::allocator<_Ty>>,std::allocator<std::vector<_Ty,std::allocator<_Ty>>>>”的声明 4> with 4> [ 4> _Ty=size_t 4> ] 4>d:\projects\fluid_inference\paddle\include\paddleapi.h(237): warning C4251: “paddle::ZeroCopyTensor::name”: class“std::basic_string<char,std::char_traits,std::allocator>”需要有 dll 接口由 class“paddle::ZeroCopyTensor”的客户端使用 4>C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Tools\MSVC\14.16.27023\include\xstring(4373): note: 参见“std::basic_string<char,std::char_traits,std::allocator>”的声明 4>d:\projects\fluid_inference\paddle\include\paddle_api.h(369): warning C4251: “paddle::NativeConfig::prog_file”: class“std::basic_string<char,std::char_traits,std::allocator>”需要有 dll 接口由 struct“paddle::NativeConfig”的客户端使用 4>C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Tools\MSVC\14.16.27023\include\xstring(4373): note: 参见“std::basic_string<char,std::char_traits,std::allocator>”的声明 4>d:\projects\fluid_inference\paddle\include\paddle_api.h(371): warning C4251: “paddle::NativeConfig::param_file”: class“std::basic_string<char,std::char_traits,std::allocator>”需要有 dll 接口由 struct“paddle::NativeConfig”的客户端使用 4>C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Tools\MSVC\14.16.27023\include\xstring(4373): note: 参见“std::basic_string<char,std::char_traits,std::allocator>”的声明 4>d:\projects\fluid_inference\paddle\include\paddle_pass_builder.h(110): warning C4251: “paddle::PaddlePassBuilder::analysispasses”: class“std::vector<std::string,std::allocator<_Ty>>”需要有 dll 接口由 class“paddle::PaddlePassBuilder”的客户端使用 4> with 4> [ 4> _Ty=std::string 4> ] 4>D:\projects\fluid_inference\third_party\install\gflags\include\gflags/gflags.h(188): note: 参见“std::vector<std::string,std::allocator<_Ty>>”的声明 4> with 4> [ 4> _Ty=std::string 4> ] 4>d:\projects\fluid_inference\paddle\include\paddle_passbuilder.h(111): warning C4251: “paddle::PaddlePassBuilder::passes”: class“std::vector<std::string,std::allocator<_Ty>>”需要有 dll 接口由 class“paddle::PaddlePassBuilder”的客户端使用 4> with 4> [ 4> _Ty=std::string 4> ] 4>D:\projects\fluid_inference\third_party\install\gflags\include\gflags/gflags.h(188): note: 参见“std::vector<std::string,std::allocator<_Ty>>”的声明 4> with 4> [ 4> _Ty=std::string 4> ] 4>d:\projects\fluid_inference\paddle\include\paddle_analysis_config.h(588): warning C4251: “paddle::AnalysisConfig::modeldir”: class“std::basic_string<char,std::char_traits,std::allocator>”需要有 dll 接口由 struct“paddle::AnalysisConfig”的客户端使用 4>C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Tools\MSVC\14.16.27023\include\xstring(4373): note: 参见“std::basic_string<char,std::char_traits,std::allocator>”的声明 4>d:\projects\fluid_inference\paddle\include\paddle_analysis_config.h(589): warning C4251: “paddle::AnalysisConfig::progfile”: class“std::basic_string<char,std::char_traits,std::allocator>”需要有 dll 接口由 struct“paddle::AnalysisConfig”的客户端使用 4>C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Tools\MSVC\14.16.27023\include\xstring(4373): note: 参见“std::basic_string<char,std::char_traits,std::allocator>”的声明 4>d:\projects\fluid_inference\paddle\include\paddle_analysis_config.h(590): warning C4251: “paddle::AnalysisConfig::paramsfile”: class“std::basic_string<char,std::char_traits,std::allocator>”需要有 dll 接口由 struct“paddle::AnalysisConfig”的客户端使用 4>C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Tools\MSVC\14.16.27023\include\xstring(4373): note: 参见“std::basic_string<char,std::char_traits,std::allocator>”的声明 4>d:\projects\fluid_inference\paddle\include\paddle_analysis_config.h(624): warning C4251: “paddle::AnalysisConfig::min_inputshape”: class“std::map<std::string,std::vector<int,std::allocator<_Ty>>,std::less<_Kty>,std::allocator<std::pair<const _Kty,std::vector<_Ty,std::allocator<_Ty>>>>>”需要有 dll 接口由 struct“paddle::AnalysisConfig”的客户端使用 4> with 4> [ 4> _Ty=int, 4> _Kty=std::string 4> ] 4>d:\projects\fluid_inference\paddle\include\paddle_analysis_config.h(323): note: 参见“std::map<std::string,std::vector<int,std::allocator<_Ty>>,std::less<_Kty>,std::allocator<std::pair<const _Kty,std::vector<_Ty,std::allocator<_Ty>>>>>”的声明 4> with 4> [ 4> _Ty=int, 4> _Kty=std::string 4> ] 4>d:\projects\fluid_inference\paddle\include\paddle_analysis_config.h(625): warning C4251: “paddle::AnalysisConfig::max_inputshape”: class“std::map<std::string,std::vector<int,std::allocator<_Ty>>,std::less<_Kty>,std::allocator<std::pair<const _Kty,std::vector<_Ty,std::allocator<_Ty>>>>>”需要有 dll 接口由 struct“paddle::AnalysisConfig”的客户端使用 4> with 4> [ 4> _Ty=int, 4> _Kty=std::string 4> ] 4>d:\projects\fluid_inference\paddle\include\paddle_analysis_config.h(323): note: 参见“std::map<std::string,std::vector<int,std::allocator<_Ty>>,std::less<_Kty>,std::allocator<std::pair<const _Kty,std::vector<_Ty,std::allocator<_Ty>>>>>”的声明 4> with 4> [ 4> _Ty=int, 4> _Kty=std::string 4> ] 4>d:\projects\fluid_inference\paddle\include\paddle_analysis_config.h(626): warning C4251: “paddle::AnalysisConfig::optim_inputshape”: class“std::map<std::string,std::vector<int,std::allocator<_Ty>>,std::less<_Kty>,std::allocator<std::pair<const _Kty,std::vector<_Ty,std::allocator<_Ty>>>>>”需要有 dll 接口由 struct“paddle::AnalysisConfig”的客户端使用 4> with 4> [ 4> _Ty=int, 4> _Kty=std::string 4> ] 4>d:\projects\fluid_inference\paddle\include\paddle_analysis_config.h(323): note: 参见“std::map<std::string,std::vector<int,std::allocator<_Ty>>,std::less<_Kty>,std::allocator<std::pair<const _Kty,std::vector<_Ty,std::allocator<_Ty>>>>>”的声明 4> with 4> [ 4> _Ty=int, 4> _Kty=std::string 4> ] 4>d:\projects\fluid_inference\paddle\include\paddle_analysis_config.h(627): warning C4251: “paddle::AnalysisConfig::trt_disabledops”: class“std::vector<std::string,std::allocator<_Ty>>”需要有 dll 接口由 struct“paddle::AnalysisConfig”的客户端使用 4> with 4> [ 4> _Ty=std::string 4> ] 4>D:\projects\fluid_inference\third_party\install\gflags\include\gflags/gflags.h(188): note: 参见“std::vector<std::string,std::allocator<_Ty>>”的声明 4> with 4> [ 4> _Ty=std::string 4> ] 4>d:\projects\fluid_inference\paddle\include\paddle_analysis_config.h(634): warning C4251: “paddle::AnalysisConfig::mkldnn_enabled_optypes”: class“std::unordered_set<std::string,std::hash<_Kty>,std::equal_to<_Kty>,std::allocator<_Ty>>”需要有 dll 接口由 struct“paddle::AnalysisConfig”的客户端使用 4> with 4> [ 4> _Kty=std::string, 4> _Ty=std::string 4> ] 4>d:\projects\fluid_inference\paddle\include\paddle_analysis_config.h(442): note: 参见“std::unordered_set<std::string,std::hash<_Kty>,std::equal_to<_Kty>,std::allocator<_Ty>>”的声明 4> with 4> [ 4> _Kty=std::string, 4> _Ty=std::string 4> ] 4>d:\projects\fluid_inference\paddle\include\paddle_analysis_config.h(651): warning C4251: “paddle::AnalysisConfig::serialized_infocache”: class“std::basic_string<char,std::char_traits,std::allocator>”需要有 dll 接口由 struct“paddle::AnalysisConfig”的客户端使用 4>C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Tools\MSVC\14.16.27023\include\xstring(4373): note: 参见“std::basic_string<char,std::char_traits,std::allocator>”的声明 4>d:\projects\fluid_inference\paddle\include\paddle_analysis_config.h(653): warning C4251: “paddle::AnalysisConfig::passbuilder”: class“std::unique_ptr<paddle::PassStrategy,std::default_delete<_Ty>>”需要有 dll 接口由 struct“paddle::AnalysisConfig”的客户端使用 4> with 4> [ 4> _Ty=paddle::PassStrategy 4> ] 4>d:\projects\fluid_inference\paddle\include\paddle_analysis_config.h(653): note: 参见“std::unique_ptr<paddle::PassStrategy,std::default_delete<_Ty>>”的声明 4> with 4> [ 4> _Ty=paddle::PassStrategy 4> ] 4>d:\projects\fluid_inference\paddle\include\paddle_analysis_config.h(656): warning C4251: “paddle::AnalysisConfig::lite_passesfilter”: class“std::vector<std::string,std::allocator<_Ty>>”需要有 dll 接口由 struct“paddle::AnalysisConfig”的客户端使用 4> with 4> [ 4> _Ty=std::string 4> ] 4>D:\projects\fluid_inference\third_party\install\gflags\include\gflags/gflags.h(188): note: 参见“std::vector<std::string,std::allocator<_Ty>>”的声明 4> with 4> [ 4> _Ty=std::string 4> ] 4>d:\projects\fluid_inference\paddle\include\paddle_analysis_config.h(657): warning C4251: “paddle::AnalysisConfig::lite_opsfilter”: class“std::vector<std::string,std::allocator<_Ty>>”需要有 dll 接口由 struct“paddle::AnalysisConfig”的客户端使用 4> with 4> [ 4> _Ty=std::string 4> ] 4>D:\projects\fluid_inference\third_party\install\gflags\include\gflags/gflags.h(188): note: 参见“std::vector<std::string,std::allocator<_Ty>>”的声明 4> with 4> [ 4> _Ty=std::string 4> ] 4>d:\projects\fluid_inference\paddle\include\paddle_analysis_config.h(668): warning C4251: “paddle::AnalysisConfig::mkldnn_quantizerconfig”: class“std::shared_ptr”需要有 dll 接口由 struct“paddle::AnalysisConfig”的客户端使用 4>d:\projects\fluid_inference\paddle\include\paddle_analysis_config.h(668): note: 参见“std::shared_ptr”的声明 4>d:\projects\fluid_inference\paddle\include\paddle_analysis_config.h(670): warning C4251: “paddle::AnalysisConfig::bfloat16_enabled_optypes”: class“std::unordered_set<std::string,std::hash<_Kty>,std::equal_to<_Kty>,std::allocator<_Ty>>”需要有 dll 接口由 struct“paddle::AnalysisConfig”的客户端使用 4> with 4> [ 4> _Kty=std::string, 4> _Ty=std::string 4> ] 4>d:\projects\fluid_inference\paddle\include\paddle_analysis_config.h(442): note: 参见“std::unordered_set<std::string,std::hash<_Kty>,std::equal_to<_Kty>,std::allocator<_Ty>>”的声明 4> with 4> [ 4> _Kty=std::string, 4> _Ty=std::string 4> ] 4>d:\projects\fluid_inference\paddle\include\paddle_analysis_config.h(677): warning C4251: “paddle::AnalysisConfig::opt_cachedir”: class“std::basic_string<char,std::char_traits,std::allocator>”需要有 dll 接口由 struct“paddle::AnalysisConfig”的客户端使用 4>C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Tools\MSVC\14.16.27023\include\xstring(4373): note: 参见“std::basic_string<char,std::char_traits,std::allocator>”的声明 4>d:\projects\fluid_inference\paddle\include\paddle_analysis_config.h(210): warning C4244: “return”: 从“const uint64_t”转换到“int”,可能丢失数据 4>D:\projects\fluid_inference\paddle\include\paddle_inference_api.h(133): warning C4251: “paddleinfer::Tensor::tensor”: class“std::unique_ptr<paddle::ZeroCopyTensor,std::default_delete<_Ty>>”需要有 dll 接口由 class“paddle_infer::Tensor”的客户端使用 4> with 4> [ 4> _Ty=paddle::ZeroCopyTensor 4> ] 4>d:\projects\fluid_inference\paddle\include\paddle_api.h(291): note: 参见“std::unique_ptr<paddle::ZeroCopyTensor,std::default_delete<_Ty>>”的声明 4> with 4> [ 4> _Ty=paddle::ZeroCopyTensor 4> ] 4>D:\projects\fluid_inference\paddle\include\paddle_inference_api.h(239): warning C4251: “paddleinfer::Predictor::predictor”: class“std::unique_ptr<paddle::PaddlePredictor,std::default_delete<_Ty>>”需要有 dll 接口由 class“paddle_infer::Predictor”的客户端使用 4> with 4> [ 4> _Ty=paddle::PaddlePredictor 4> ] 4>d:\projects\fluid_inference\paddle\include\paddle_api.h(337): note: 参见“std::unique_ptr<paddle::PaddlePredictor,std::default_delete<_Ty>>”的声明 4> with 4> [ 4> _Ty=paddle::PaddlePredictor 4> ] 4>D:\projects\fluid_inference\paddle\include\paddle_inference_api.h(307): warning C4251: “paddle_infer::services::PredictorPool::mainpred”: class“std::shared_ptr”需要有 dll 接口由 class“paddle_infer::services::PredictorPool”的客户端使用 4>D:\projects\fluid_inference\paddle\include\paddle_inference_api.h(253): note: 参见“std::shared_ptr”的声明 4>D:\projects\fluid_inference\paddle\include\paddle_inference_api.h(308): warning C4251: “paddleinfer::services::PredictorPool::preds”: class“std::vector<std::unique_ptr<paddle_infer::Predictor,std::default_delete<_Ty>>,std::allocator<std::unique_ptr<_Ty,std::default_delete<_Ty>>>>”需要有 dll 接口由 class“paddle_infer::services::PredictorPool”的客户端使用 4> with 4> [ 4> _Ty=paddle_infer::Predictor 4> ] 4>D:\projects\fluid_inference\paddle\include\paddle_inference_api.h(308): note: 参见“std::vector<std::unique_ptr<paddle_infer::Predictor,std::default_delete<_Ty>>,std::allocator<std::unique_ptr<_Ty,std::default_delete<_Ty>>>>”的声明 4> with 4> [ 4> _Ty=paddle_infer::Predictor 4> ] 4>d:\projects\opencv\build\include\opencv2\flann\result_set.h(306): warning C4003: 类函数宏的调用“max”参数不足 4>d:\projects\opencv\build\include\opencv2\flann\result_set.h(428): warning C4003: 类函数宏的调用“max”参数不足 4>d:\projects\opencv\build\include\opencv2\flann\lsh_index.h(203): warning C4003: 类函数宏的调用“max”参数不足 4>d:\projects\opencv\build\include\opencv2\flann\lsh_index.h(269): warning C4003: 类函数宏的调用“max”参数不足 4>LINK : fatal error LNK1181: 无法打开输入文件“D:\projects\fluid_inference\paddle\lib\libpaddle_fluid.lib” 4>已完成生成项目“demo.vcxproj”的操作 - 失败。 5>------ 已启动全部重新生成: 项目: ALL_BUILD, 配置: Release x64 ------ 5>Building Custom Rule D:/projects/PaddleSeg/legacy/deploy/cpp/CMakeLists.txt ========== 全部重新生成: 成功 4 个,失败 1 个,跳过 0 个 ==========