jiangjiashi的博客

用于纪录些东西吧,证明一些走过的路

win10+vs2017 下把cuda cmake到dlib中成功使用dnn功能

软件及环境:win10(64bit), vs2017, cuda9.1+cudnn7.0, cmake3.10.0, dlib19.13

安装步骤:

    1. 到dlib的"example"目录下打开CMD命令

    2. 依照官网次输入命令:

    VS2017版本

cd examples
mkdir build
cd build
cmake -G "Visual Studio 15 2017 Win64" -T host=x64 ..
cmake --build . --config Release(可以不用这一步,这个只是帮你全编译,可以选择用vs编译一样的)

    VS2015版本:

cd examples
mkdir build
cd build
cmake -G "Visual Studio 14 2015 Win64" -T host=x64 ..
cmake --build . --config Release(可以不用这一步,这个只是帮你全编译,可以选择用vs编译一样的)

    3. 打开"build"文件夹下面的"example.sln"或"dlib.sln",编译并测试

遇到的问题:

    官方说的是支持vs2015以及更新版本的VS

    但是:在VS2015版本可以成功把cuda cmake进入dlib并能使用dnn功能,而vs2017则不会,cmake的提示信息:

-- ******************************************************************************************
-- Your version of Visual Studio has incomplete C++11 support and is unable to compile the
-- DNN examples. So we are disabling the deep learning tools.  If you want to use the DNN
-- tools in dlib then update your copy of Visual Studio.

-- ******************************************************************************************

    以及:

-- Found CUDA: C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v9.2 (found suitable version "9.2", minimum required is "7.5")
-- *** Dlib CUDA support requires C++11 but your compiler doesn't support it. ***
-- Disabling CUDA support for dlib.  DLIB WILL NOT USE CUDA

-- C++11 activated.

    提示VS2017不支持C++11并且cdnn不会被使用。

    通过各种途径,最终找到关键点:关键点

    根据提示,只把set_compiler_specific_options.cmake的第34行里的1910版本改成其它的数字或是去掉就可以不执行这里的

    操作(PS: 这里太简单粗暴了哈,不过也只有死马当活马医,最终刚好可以解决我们的问题,虽然并不能完全配置好dlib

  

    结果: 终于可以编译并运行dnn的大部分样例,不过也有少数比如dnn_metric_learning_on_images_ex项目编译就会一直

        处于“卡死”的编译状态

    现在就这样,如果以后需要再花时间继续解决吧


阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/jiangjiashi/article/details/80694951
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭