zoukankan      html  css  js  c++  java
  • windows下安装caffe (cuda10.0,anaconda3,python3.6→python2.7,vs2015→vs2013)

    都9102年了为什么还安装caffe...

    caffe需要python3.5,我还要用anaconda生成新的环境

    conda create -n py35conda python=3.5
    activate py35conda

    但是经常出错,才知道最近国内清华跟科大还有腾讯源都停止支持了,只剩下交大了https://www.cnblogs.com/dereen/p/anaconda_tencent_mirrors.html

    之后搞了很多错误示范,温馨提示不要反复卸载安装vs,真的站空间!

    vs注意使用管理员权限打开!

    最后还是用https://blog.csdn.net/weixin_37621229/article/details/80547934的方法做好的,一定要下载老版的windows专属caffe,不要去git caffe源代码,很蠢- -,需要注意的是

    解决方案:

    在路径NugetPackages/OpenCV.2.4.10/build/native/中找到OpenCV.props,打开作如下修改后保存!

    这个地方删除的是private前面的斜杠

    但还是出错,,这次没有多斜杠了,然后尝试https://www.cnblogs.com/yamin/p/8596748.html才解决,注意升级后新的opencv也要删除那个斜杠

    编译了半天出了新问题

    严重性    代码    说明    项目    文件    行    禁止显示状态
    错误        too few arguments in function call    libcaffe    D:codewindows-caffe-mastercaffe-masterincludecaffeutilcudnn.hpp    114    

    The problem is due to CuDNN 6.0 adding the extra “type” parameter.

    解决方法https://blog.csdn.net/mao_hui_fei/article/details/80326464

    然后又是新问题

    严重性    代码    说明    项目    文件    行    禁止显示状态
    错误    MSB3073    命令“"D:codewindows-caffe-mastercaffe-masterwindows\scriptsBinplaceCudaDependencies.cmd" "C:Program FilesNVIDIA GPU Computing ToolkitCUDAv10.0in" "C:Program FilesNVIDIA GPU Computing ToolkitCUDAv10.0" false true "D:codewindows-caffe-mastercaffe-masterwindows..Buildx64Release"
    :VCEnd”已退出,代码为 1。    libcaffe    C:Program Files (x86)MSBuildMicrosoft.Cppv4.0V120Microsoft.CppCommon.targets    132

    解决方法https://blog.csdn.net/hyb1234hi/article/details/55188871

    然后还有没解决的报错

    严重性    代码    说明    项目    文件    行    禁止显示状态
    错误    C1083    无法打开包括文件: “corecrt.h”: No such file or directory    upgrade_solver_proto_text    D:Program Files (x86)Microsoft Visual Studio 14.0VCincludecrtdefs.h    10    

    网上说vs2015要安装Windows 10 sdk才能用,不然就会少这个文件,确实在8.1sdk里面没有。。。

    如果直接安装的话需要c盘很大地方,,我空间不够,

    去微软官网下载https://developer.microsoft.com/zh-cn/windows/downloads/windows-10-sdk

    并且不要选者直接安装,先下载,这样可以选择分离部件,我只是需要那个correct.h!

    安装后应该在这个位置下找到文件C:Program Files (x86)Windows Kits10Include10.0.18362.0ucrt

    复制到8.1和8.0的sdk的lib中没用,还是提示找不到,索性将ucrt文件夹下的文件都复制到vs的include目录中D:Program Files (x86)Microsoft Visual Studio 14.0VCinclude

    重启vs,继续生成解决方案

    新问题

    严重性    代码    说明    项目    文件    行    禁止显示状态
    错误    MSB4062    未能从程序集 D:codewindows-caffe-masterNugetPackagesOpenCV.2.4.11uild
    ativeprivatecoapp.NuGetNativeMSBuildTasks.dll 加载任务“NuGetPackageOverlay”。未能加载文件或程序集“file:///D:codewindows-caffe-masterNugetPackagesOpenCV.2.4.11uild
    ativeprivatecoapp.NuGetNativeMSBuildTasks.dll”或它的某一个依赖项。系统找不到指定的文件。 请确认 <UsingTask> 声明正确,该程序集及其所有依赖项都可用,并且该任务包含实现 Microsoft.Build.Framework.ITask 的公共类。    libcaffe    D:codewindows-caffe-masterNugetPackagesOpenCV.2.4.11uild
    ativeOpenCV.targets    1119    

    解决方法https://blog.csdn.net/tfygg/article/details/60579736?utm_source=blogxgwz7

    改完后删除所使用的的opencv(更新后),注意是删除!不是改名字!不然后果很严重,vcxproj文件会留下历史文件名报错。,

    记得每次卸载方案之后都需要再定义启动项

    到这里,已经========== 生成: 成功 3 个,失败 13 个,最新 0 个,跳过 0 个 ==========

    出现的问题有一些警告被视为错误 - 没有生成“object”文件,需要把对应的项目里面设置一下https://blog.csdn.net/wangduyang/article/details/78664386

    还有一个错误

    严重性    代码    说明    项目    文件    行    禁止显示状态
    错误    LNK1104    无法打开文件“libboost_date_time-vc140-mt-1_59.lib”    caffe    D:codewindows-caffe-mastercaffe-masterwindowscaffeLINK    1    

    解决方法https://www.cnblogs.com/qq552048250/p/10588673.html的错误二

    本来我还想着去下载的,使用nuget控制台输入指令

    Install-Package boost -ProjectName Caffe -Version 1.59

    安装指定版本,结果提示已存在

    一看果然在这里D:codewindows-caffe-masterNugetPackagesoost_date_time-vc120.1.59.0.0lib ativeaddress-model-64lib

    按照https://www.cnblogs.com/denggelin/p/5769480.html关联就好

    包含目录

    D:codewindows-caffe-masterNugetPackagesoost_date_time-vc120.1.59.0.0

    库目录

    D:codewindows-caffe-masterNugetPackagesoost_date_time-vc120.1.59.0.0lib ativeaddress-model-64lib

    wc不对!!!这是vc120,我要找vc140版本,,,,在nuget控制行运行下面的吧

    Install-Package boost-vc140 -ProjectName Caffe -Version 1.59

    安装还挺久的

    报错了!!

    正在安装 boost_math_tr1-vc140 1.59.0。
    Install-Package : Error downloading 'boost_math_tr1-vc140.1.59.0 : boost [1.59.0, 1.59.0]' from 'https://api.nuget.org/v3-flatcontainer/boost_math_tr1-vc140/1.59.
    0/boost_math_tr1-vc140.1.59.0.nupkg'.
    磁盘空间不足。
    所在位置 行:1 字符: 1
    + Install-Package boost-vc140 -ProjectName Caffe -Version 1.59
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        + CategoryInfo          : NotSpecified: (:) [Install-Package], Exception
        + FullyQualifiedErrorId : NuGetCmdletUnhandledException,NuGet.PackageManagement.PowerShellCmdlets.InstallPackageCommand
     
    安装失败。正在回滚...
    程序包“boost_math_tr1-vc140.1.59.0 : boost [1.59.0, 1.59.0]”不存在于项目“caffe”中
    已从“packages.config”中删除程序包“boost_math_c99l-vc140.1.59.0 : boost [1.59.0, 1.59.0]”

    woc!!!!我清完的空间就被你一下子占完了,回退还不删除原来的东西,我都不知道你下载在哪,不装c盘不行么

    查了下nuget默认的全局包下载地址一般为:C:Usersusername.nugetpackages,删除后发现空了3g。。。3g都不够你装么,,

    重装还是会失败,发现其实命令行消息告诉了我们文件获取地址

    https://api.nuget.org/v3-flatcontainer/boost_date_time-vc140/1.59.0/boost_date_time-vc140.1.59.0.nupkg

    下载后按照https://blog.csdn.net/linjf520/article/details/79585081添加本地nuget来源,离线安装

    编译还会报错

    严重性    代码    说明    项目    文件    行    禁止显示状态
    错误        This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them.  For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is ......NugetPackagesuild
    ativeoost_date_time-vc140.targets.    caffe    D:codewindows-caffe-mastercaffe-masterwindowscaffecaffe.vcxproj    123    

    打开vcxproj文件发现原来是我们解决方案边上文件夹没有这个包,默认装到C:Usersusername.nugetpackages去了,所以......NugetPackagesuild ativeoost_date_time-vc140.targets找不到,复制过去就好了

    需要注意的是复制来源是C:Users用户.nugetpackagesoost_date_time-vc1401.59.0目录下的文件,复制到项目边上的NugetPackages文件夹

    然后就报错

    严重性    代码    说明    项目    文件    行    禁止显示状态
    错误    LNK1104    无法打开文件“libboost_thread-vc140-mt-gd-1_59.lib”    convert_cifar_data    D:codewindows-caffe-mastercaffe-masterwindowsconvert_cifar_dataLINK    1    

    好吧看来那3g都要安装。。。那就参照https://blog.csdn.net/lindexi_gd/article/details/79399744的方法一试试,需要注意的是使用cmd而不是powershell不然报错

    ps:mklink /d 真是个好东西,用它避免了matlab占用太多c盘空间

    结果还是各种错误!!!我受够了,用vs2013试试!

    重新开始建议参考https://www.cnblogs.com/k7k8k91/p/7629919.html

    中间遇到的问题基本在之前都讨论过,

    14>  test_all.vcxproj -> D:codewindows-caffe-mastercaffe-masterwindows..Buildx64Release	est_all.exe
    ========== 生成:  成功 16 个,失败 0 个,最新 0 个,跳过 0 个 ==========

    搞定!!!!

    然后按照https://blog.csdn.net/weixin_37621229/article/details/80547934编译pycaffe,遇到错误

    错误    424    error C1083: 无法打开包括文件: “numpy/arrayobject.h”: No such file or directory    D:codewindows-caffe-mastercaffe-masterpythoncaffe\_caffe.cpp    10    1    pycaffe

    虚拟环境没有numpy,activate之后输入一下代码安装

    pip install numpy

    再次编译,ok!

    ....还没完全ok,import caffe还会报错

    >>> import caffe
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
      File "C:ProgramDataAnaconda3envspy27condalibsite-packagescaffe\__init__.py", line 1, in <module>
        from .pycaffe import Net, SGDSolver, NesterovSolver, AdaGradSolver, RMSPropSolver, AdaDeltaSolver, AdamSolver
      File "C:ProgramDataAnaconda3envspy27condalibsite-packagescaffepycaffe.py", line 15, in <module>
        import caffe.io
      File "C:ProgramDataAnaconda3envspy27condalibsite-packagescaffeio.py", line 2, in <module>
        import skimage.io
    ImportError: No module named skimage.io

    pip install skimage会失败,使用conda安装

    conda install scikit-image

    要安装一大堆东西。。。。到此结束!

    才怪。。。还要装opencv,参考https://anaconda.org/menpo/opencv知道命令是

    conda install -c menpo opencv

     还会遇到很多问题,一个是

    ModuleNotFoundError: No module named 'numpy.core._multiarray_umath'

    需要升级numpy到1.16.3,另一个是下面的错误,

      File "C:ProgramDataAnaconda3envspy27condalibsite-packagesskimageutilarraycrop.py", line 8, in <module>
        from numpy.lib.arraypad import _validate_lengths
    ImportError: cannot import name _validate_lengths

    解决方法是https://www.cnblogs.com/lixiansheng/p/10293323.html的问题2

  • 相关阅读:
    NTFS文件系统的主要优点体现在以下三个方面
    子网划分,主机号,网络号计算
    hdu1008
    hdu1006
    hdu1004
    Git 版本回退
    Git 提交修改内容和查看被修改的内容
    Git 怎么创建本地库,向本地库提交文件
    mybatis中#{}和${}的区别
    请求头和响应头
  • 原文地址:https://www.cnblogs.com/smileglaze/p/10895086.html
Copyright © 2011-2022 走看看