vs2015安装python3.6.8,windows下安装caffe (cuda10.0,anaconda3,python3.6→python2.7,vs2015→vs2013)...

都9102年了为何还安装caffe...html

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

conda create -n py35conda python=3.5activate py35conda

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

以后搞了不少错误示范,舒适提示不要反复卸载安装vs,真的站空间!shell

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

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

解决方案:app

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

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

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

编译了半天出了新问题

严重性 代码 说明 项目 文件 行 禁止显示状态

错误 too few argumentsin function call libcaffe D:\code\windows-caffe-master\caffe-master\include\caffe\util\cudnn.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:\code\windows-caffe-master\caffe-master\windows\\scripts\BinplaceCudaDependencies.cmd" "C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\bin" "C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0" false true "D:\code\windows-caffe-master\caffe-master\windows\..\Build\x64\Release\"

:VCEnd”已退出,代码为 1。 libcaffe C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.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 Studio14.0\VC\include\crtdefs.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 Kits\10\Include\10.0.18362.0\ucrt

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

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

新问题

严重性 代码 说明 项目 文件 行 禁止显示状态

错误 MSB4062 未能从程序集 D:\code\windows-caffe-master\NugetPackages\OpenCV.2.4.11\build\native\private\coapp.NuGetNativeMSBuildTasks.dll 加载任务“NuGetPackageOverlay”。未能加载文件或程序集“file:///D:\code\windows-caffe-master\NugetPackages\OpenCV.2.4.11\build\native\private\coapp.NuGetNativeMSBuildTasks.dll”或它的某一个依赖项。系统找不到指定的文件。 请确认声明正确,该程序集及其全部依赖项均可用,而且该任务包含实现 Microsoft.Build.Framework.ITask 的公共类。 libcaffe D:\code\windows-caffe-master\NugetPackages\OpenCV.2.4.11\build\native\OpenCV.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:\code\windows-caffe-master\caffe-master\windows\caffe\LINK 1

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

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

Install-Package boost -ProjectName Caffe -Version 1.59

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

一看果真在这里D:\code\windows-caffe-master\NugetPackages\boost_date_time-vc120.1.59.0.0\lib\native\address-model-64\lib

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

包含目录

D:\code\windows-caffe-master\NugetPackages\boost_date_time-vc120.1.59.0.0\

库目录

D:\code\windows-caffe-master\NugetPackages\boost_date_time-vc120.1.59.0.0\lib\native\address-model-64\lib

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:\Users\username.nuget\packages,删除后发现空了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 onthis computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is ..\..\..\NugetPackages\build\native\boost_date_time-vc140.targets. caffe D:\code\windows-caffe-master\caffe-master\windows\caffe\caffe.vcxproj 123

打开vcxproj文件发现原来是咱们解决方案边上文件夹没有这个包,默认装到C:\Users\username.nuget\packages去了,因此..\..\..\NugetPackages\build\native\boost_date_time-vc140.targets找不到,复制过去就行了

须要注意的是复制来源是C:\Users\用户\.nuget\packages\boost_date_time-vc140\1.59.0目录下的文件,复制到项目边上的NugetPackages文件夹

而后就报错

严重性 代码 说明 项目 文件 行 禁止显示状态

错误 LNK1104 没法打开文件“libboost_thread-vc140-mt-gd-1_59.lib” convert_cifar_data D:\code\windows-caffe-master\caffe-master\windows\convert_cifar_data\LINK 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:\code\windows-caffe-master\caffe-master\windows\..\Build\x64\Release\test_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:\code\windows-caffe-master\caffe-master\python\caffe\_caffe.cpp 10 1 pycaffe

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

pip install numpy

再次编译,ok!

....还没彻底ok,import caffe还会报错

>>>import caffe

Traceback (most recent call last):

File"", line 1, in File"C:\ProgramData\Anaconda3\envs\py27conda\lib\site-packages\caffe\__init__.py", line 1, in

from.pycaffe import Net, SGDSolver, NesterovSolver, AdaGradSolver, RMSPropSolver, AdaDeltaSolver, AdamSolver

File"C:\ProgramData\Anaconda3\envs\py27conda\lib\site-packages\caffe\pycaffe.py", line 15, in import caffe.io

File"C:\ProgramData\Anaconda3\envs\py27conda\lib\site-packages\caffe\io.py", line 2, in 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:\ProgramData\Anaconda3\envs\py27conda\lib\site-packages\skimage\util\arraycrop.py", line 8, in

fromnumpy.lib.arraypad import _validate_lengths

ImportError: cannot import name _validate_lengths

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

你可能感兴趣的:(vs2015安装python3.6.8,windows下安装caffe (cuda10.0,anaconda3,python3.6→python2.7,vs2015→vs2013)...)