zoukankan      html  css  js  c++  java
  • caffe配置过程记录

      caffe的配置真的是太曲折了,前前后后三个多星期才终于配好,非常非常非常感觉xs师兄的耐心指导,要不然真快就放弃了hhh,记录一下我的配置过程——

      caffe链接:https://github.com/Microsoft/caffe

      我的环境:WIN10+VS2013+Cuda10.0+cudnnv7.6.4.38+python3.7

      主要参考的博客:https://blog.csdn.net/weixin_37621229/article/details/80547934?utm_medium=distribute.wap_relevant.none-task-blog-BlogCommendFromBaidu-25&depth_1-utm_source=distribute.wap_relevant.none-task-blog-BlogCommendFromBaidu-25

      配置的具体过程基本按照上面的博客中来,博客之外解决的问题记录如下。 

      一. 环境配置:

              VS2013:之前本来是用VS2017试图配置,但是没弄好,师兄建议我还是用VS2013来配,所以就安装了VS2013. VS的老版本比较难找,这里直接放链接:https://visualstudio.microsoft.com/zh-hans/vs/older-downloads/  要注意一点!!VS初始化的时候要选择c++,不然打开属性页,里面没有c++相关的设置选项。如图:

                 

                如果没有配置也没关系,新建一个cpp文件,运行一下就出来了。

        Cuda10.0和cudnn:相对简单,参考我的另一篇博客https://www.cnblogs.com/jasmine-/p/12623257.html,前面主要参考的那篇博客中也有教程

                python: 如果编译的caffe不需要支持python, 则无需配置。对版本的要求不太清楚。

      二. libcaffe加载失败

                问题描述:

                 

                  解决方法:

                  1.打开CommonSettings.props文件,找到<CudaVersion>,将里面的版本改为cuda的版本(比如我装的是10.0)。然后关闭vs工程,重新打开caffe.sln

                  2.将cuda安装目录下extrasvisual_studio_integrationMSBuildExtensions中的相关文件全部拷贝至C:Program Files (x86)MSBuildMicrosoft.Cppv4.0        V120BuildCustomizations下,也就是报错信息的路径。注意!路径一定要正确!之前路径看错了,少看了一个V120,结果好久才发现原因。

      三. error MSB8020

               问题描述:error MSB8020: The build tools for v140 (Platform Toolset = 'v140') cannot be found. To build using the v140 build tools, please install v140 build tools.  Alternatively, you may upgrade to the current Visual Studio tools by selecting the Project menu or right-click the solution, and then selecting "Upgrade Solution...".
               解决方法:https://blog.csdn.net/woniu199166/article/details/84936100   注意属性页中的平台配置也要正确!配置:release   平台:x64

      四. error MSB4062

               问题描述:error MSB4062: The "NuGetPackageOverlay" task could not be loaded from the assembly D:caffecaffe-masterNugetPackagesOpenCV.2.4.10uild ativeprivatecoapp.NuGetNativeMSBuildTasks.dll. Could not load file or assembly 'file:///D:caffecaffe-masterNugetPackagesOpenCV.2.4.10uild ativeprivatecoapp.NuGetNativeMSBuildTasks.dll' or one of its dependencies. 系统找不到指定的文件。 Confirm that the <UsingTask> declaration is correct, that the assembly and all its dependencies are available, and that the task contains a public class that implements Microsoft.Build.Framework.ITask.
               解决方法:这个问题难住了很多人!解决办法也有很多种!先看看这个博客https://blog.csdn.net/louzhengzhai/article/details/73180178?utm_source=blogxgwz4 ,如果不行就关掉VS重新打开,或者清理解决方案重新生成,当时我捣鼓了半天这个问题,没有解决,后来莫名奇妙的就消失了,奇奇怪怪
      五. error C1083

               问题描述:/wrap_python.hpp(50): fatal error C1083: Cannot open include file: 'pyconfig.h': No such file or dir..

               解决方法:当时发现只要把PythonSupport改为false,就变成别的报错了,猜想可能和python有关,查了下资料,感觉还真有可能是这样,按照https://github.com/Microsoft/caffe#python仔细配一下,果然就好了。

       六. too few arguments in function call

               问题描述:caffe cudnn.hpp(114): error : too few arguments in function call

               解决方法:https://blog.csdn.net/friendan/article/details/105160179,不过我也不确定是不是这个方法解决的...因为当时改了之后并没有马上好过来,感觉也有可能是python配置的问题
       七. error MSB3073
               问题描述:error MSB3073: The command ""D:caffecaffe-mastercaffe-masterwindows\scriptsBinplaceCudaDependencies.cmd" "C:Program FilesNVIDIA GPU Computing ToolkitCUDAv10.0in""C:Program FilesNVIDIA GPU Computing ToolkitCUDAv10.0" false true "D:caffecaffe-mastercaffe-masterwindows..Buildx64Release"
    1>C:Program Files (x86)MSBuildMicrosoft.Cppv4.0V120Microsoft.CppCommon.targets(132,5): error MSB3073: :VCEnd" exited with code 1.
               解决方法:https://blog.csdn.net/qq_29613155/article/details/85115682 进入libcaffe的属性——》生成事件——》预先生成事件——》在生成中使用——》否,生成事件——》后期生成事件——》在生成中使用——》否,重新编译。


        最终终于能编译成功了!!激动!

     

    总结一下这次配置的一点经验教训:

       一、看报错信息:1. 报错类型,先自己想想错误原因是什么,可能的解决方案是什么,没有头绪再去查
                                    2.有时候报错信息太多了,一堆error,或者error淹没在了一堆warning里,在VS中用ctrl+F搜索关键字,能够快速在报错信息中找到想要的信息。
                                    3. 首先查看和解决第一个error,因为后面的error可能是由前面的引发的。
       二、搜索技巧:    1. 搜关键字。有时报错信息很长,要选关键的信息搜索,比如错误编码等,不要在搜索信息中出现个性化信息,比如你的路径。
                                    2. 搜索时最好带上环境,比如win10,vs版本等。
                                    3. 我喜欢先看看文章的评论,看看有没有解决问题,解决了多少人的问题。哈哈
       三、其他:           1.改错过程中重启VS,清理解决方案重新生成。
                                    2.改代码的时候要浏览代码,试图了解框架,知道自己改了啥,最好记录下来。
                                    3.内心强大,情绪平和。这个太重要了。
    如果你也在配置caffe,希望这篇文章能帮到你。祝大家最终都能成功配好环境!冲鸭!

  • 相关阅读:
    人人开源框架学习笔记
    Gitea安装笔记
    使用sdk方式获取微信的用户信息
    重写java类的equals()和hashCode方法
    Mysql 实现分页功能
    位运算应用和解析
    java代码POST方式请求SOAP
    java实现文件拷贝
    动态创建线程(多线程)处理大量数据
    ActiveMQ监听者接收信息
  • 原文地址:https://www.cnblogs.com/jasmine-/p/12861059.html
Copyright © 2011-2022 走看看