win7 64位离线安装Anaconda3-4.2.0 + Tensorflow1.4.0-GPU + CUDA8.0 + cuDNN6.0 + OpenCV3.4.2

本文详细记录了在Win7 64位系统下离线安装Anaconda3、Tensorflow1.4.0-GPU、CUDA8.0、cuDNN6.0和OpenCV3.4.2的完整过程,包括每个组件的下载、安装和配置步骤,以及解决Tensorflow运行时遇到的rewriter_config_pb2模块导入问题。
摘要由CSDN通过智能技术生成

由于比赛过程无法联网,需要将ubuntu下在Tensorflow上训练的SSD MobileNet网络模型完全离线移植到win7系统。采坑无数后成功安装,记录一下整体安装过程。

前言
一开始是在win7 64位离线安装的Anaconda3-4.2.0 + Tensorflow1.0.1-GPU + CUDA8.0 + cuDNN5.1 + OpenCV3.4.2,然而在运行SSD MobileNet的过程中训练结束后将模型导出为pb文件时报错:
ImportError: cannot import name rewriter_config_pb2;
或者报错:
AttributeError: ‘module’ object has no attribute ‘mark_flag_as_required’.
在这里插入图片描述
错误原因是无法导入rewriter_config_pb2模块,查询了各种论坛,总结出两种解决方案:
1)、将SSD工程文件中models/research/object_detection/exporter.py的line 71/72:
rewrite_options = rewriter_config_pb2.RewriterConfig(
layout_optimizer=rewriter_config_pb2.RewriterConfig.ON)
更改为:rewrite_options = rewriter_config_pb2.RewriterConfig();
或者单独将‘layout_optimizer’更改为‘optimize_tensor_layout’;
解决方案参考:https://github.com/tensorflow/models/issues/3251
2)、版本太低,升级Tensorflow至1.4.0以上可解决。
解决方案参考:https://cloud.tencent.com/developer/article/1341546

由于第一个解决方案没有效果,因此重新安装了全部环境,更改为Anaconda3-4.2.0 + Tensorflow1.4.0-GPU + CUDA8.0 + cuDNN6.0 + OpenCV3.4.2。建议一开始就直接安装高版本Tensorflow,可以避免踩坑。
现将完整的安装过程记录如下:

【1、安装Anaconda】

安装包选择:Anaconda3-4.2.0-windows-x86_64(内置python3.5编译环境)
下载地址:https://repo.continuum.io/archive/ 此为所有anaconda版本链接

Anaconda是集成了很多关于python科学计算的第三方库,安装方便,并且将各个库之间的依赖连接的很好,可以省去python各个依赖库之间的繁琐安装,轻松搭建起tensorflow的编译环境。更多关于Anaconda的介绍可以通过以下网址查看:https://baike.baidu.com/item/anaconda/20407441

安装步骤:按照安装流程顺序安装即可。注意最后应将路径加入Path的选项勾上,否则可能会导致无法启动Anaconda。

【2、安装protobuf-3.1.0】

安装包选择:protoc-3.1.0-win32与protobuf-python-3.1.0.tar
下载地址:https://github.com/google/protobuf/releases?after=v3.2.0

安装步骤:
1)、下载并解压protoc-3.1.0-win32,将bin文件夹中的protoc.exe拷贝到C:\windows\system32中;
2)、在Anaconda的安装路径下进入到Anaconda3\Lib\site-packages目录下,新建tensorflow文件夹用来存放tensorflow的安装文件;
3)、下载并解压protobuf-python-3.1.0.tar,将解压后的文件重命名为protobuf-3.1.0拷贝到新建的tensorflow文件夹中,并且将第2步得到的protoc.exe文件拷贝到protobuf-3.1.0\src文件夹中;
4)、通过cmd命令进入到protobuf-3.1.0\python\setup.py的目录下,执行命令python setup.py install;

【3、安装tensorflow1.4.0】

安装包选择:tensorflow_gpu-1.4.0-cp35-cp35m-win_amd64.whl
下载地址:https://pypi.org/project/tensorflow-gpu/1.4.0/#files

安装步骤:将安装包tensorflow_gpu-1.4.0-cp35-cp35m-win_amd64.whl复制到Anaconda3\Lib\site-packages\tensorflow文件夹中,通过cmd命令进入到Anaconda3\Lib\site-packages\tensorflow目录下,执行命令pip install tensorflow-1.0.1-cp35-cp35m- win_amd64.whl进行安装。
待安装结束后,打开Anaconda,进入Ipython,输入import tensorflow as tf,如果显示如下错误,则说明后续需继续安装CUDA与cuDNN。
在这里插入图片描述

【4、安装CUDA8.0】

安装包选择:CUDA8.0版本,双击进行安装。 下载地址:https://developer.nvidia.com/cuda-toolkit
(需要注册账号)

CUDA是Nvidia推出的通用并行计算架构,能使程序高速运行。
安装完毕后需验证CUDA是否正确安装,验证步骤如下:
1)、查看CUDA安装版本
打开cmd,输入nvcc -V指令。如果如下图结果显示,一般证明已安装CUDA,为了进一步确认其功能需进行后续步骤的验证。
在这里插入图片描述
2)、编译CUDA自带的samples
在C:\ProgramData\NVIDIA Corporation\CUDA Samples\v8.0目录下,用vs2013,打开Samples_vs2013.sln,在Release下,选中解决方案Samples_vs2013,重新生成解决方案。
第一次编译的时候,提示找不到”d3dx9.h”、”d3dx10.h”、”d3dx11.h”头文件,需下载DXSDK_Jun10.exe,按照默认安装。
下载地址:https://www.microsoft.com/en-us/download/confirmation.aspx?id=6812

安装June 2010 DirectX SDK过程中会出现错误S1023,说明电脑已安装Microsoft Visual C++ 2010 Redistributable。需要在控制面板中打开卸载程序界面,卸载Microsoft Visual C++ 2010 x86 Redistributable与Microsoft Visual C++ 2010 x64 Redistributable,再次安装安装June 2010 DirectX SDK方可正确安装。安装结束后需安装Visual C++ 2010 Redistributable Package进行复原。
下载地址:https://www.microsoft.com/en-us/download/details.aspx?id=26999
重新打开Samples_vs2013.sln,再次重新编译,能够全部编译成功。

解决方案参考:https://support.microsoft.com/en-us/help/2728613/-s1023-error-when-you-install-the-directx-sdk-jjun-2010

3)、测试CUDA是否运行正常
执行C:\ProgramData\NVIDIA Corporation\CUDA Samples\v8.0\bin\win64\Release目录下的deviceQuery.exe和bandwidthTest.exe示例,如能正确显示结果则证明CUDA运行正常。

4)、将CUDA添加到系统路径
在计算机上点击右键,打开属性->高级系统设置->环境变量,可以看到系统中多了CUDA_PATH和CUDA_PATH_V8_0两个环境变量。还要在系统中添加以下几个环境变量:
CUDA_SDK_PATH = C:\ProgramData\NVIDIA Corporation\CUDA Samples\v8.0
CUDA_LIB_PATH = %CUDA_PATH%\lib\x64
CUDA_BIN_PATH = %CUDA_PATH%\bin
CUDA_SDK_BIN_PATH = %CUDA_SDK_PATH%\bin\win64
CUDA_SDK_LIB_PATH = %CUDA_SDK_PATH%\common\lib\x64
最后在系统变量 PATH 的末尾添加:
;%CUDA_LIB_PATH%;%CUDA_BIN_PATH%;%CUDA_SDK_LIB_PATH%;%CUDA_SDK_BIN_PATH%;
重新启动计算机。

【5、安装cuDNN6.0】

安装包选择:cuDNN_v6.0 for windows7 下载地址:https://developer.nvidia.com/cudnn
(需要注册账号)

将压缩包进行解压,得到的include、bin、lib中的文件分别复制到CUDA安装路径C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0下对应的include、bin、lib文件中。
安装完毕后进入Ipython,输入import tensorflow as tf,如果显示如下,则证明CUDA与cuDNN均已成功安装。
在这里插入图片描述

【6、安装opencv3.4.1】

安装包选择:opencv_python-3.4.1-cp35-cp35m-win_amd64.whl
下载地址:https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple/opencv-python/

安装步骤:把该资源包放到Anaconda3安装路径下的…\py3\Lib\site-packages文件夹中,使用Anaconda Prompt工具cd进入目录…\py3\Lib\site-packages,然后输入命令pip install opencv_python-3.4.1-cp35-cp35m-win_amd64.whl即可成功安装opencv。
安装完毕后cmd进入python环境,输入import cv2,如不报错证明openCV已成功安装。

至此,Win7 64位下的Tensorflow离线环境已全部搭建完毕,可以愉快地进行深度学习网络的搭建与训练了。

参考的博客列表:
https://blog.csdn.net/xiaogss/article/details/80817318
https://www.cnblogs.com/hzm12/p/6422701.html

附:【Tensorflow不同版本与CUDA及cuDNN版本对应关系】

需按照各个对应的版本进行Tensorflow、Python、CUDA、cuDNN的安装,规避掉因版本冲突导致的各种玄学问题。
Windows端安装方案参考:https://tensorflow.google.cn/install/source_windows

CPU版本的Tensorflow

VersionPython versionCompilerBuild tools
tensorflow-1.11.03.5-3.6MSVC 2015 update 3Cmake v3.6.3
tensorflow-1.10.03.5-3.6MSVC 2015 update 3Cmake v3.6.3
tensorflow-1.9.03.5-3.6MSVC 2015 update 3Cmake v3.6.3
tensorflow-1.8.03.5-3.6MSVC 2015 update 3Cmake v3.6.3
tensorflow-1.7.03.5-3.6MSVC 2015 update 3Cmake v3.6.3
tensorflow-1.6.03.5-3.6MSVC 2015 update 3Cmake v3.6.3
tensorflow-1.5.03.5-3.6MSVC 2015 update 3Cmake v3.6.3
tensorflow-1.4.03.5-3.6MSVC 2015 update 3Cmake v3.6.3
tensorflow-1.3.03.5-3.6MSVC 2015 update 3Cmake v3.6.3
tensorflow-1.2.03.5-3.6MSVC 2015 update 3Cmake v3.6.3
tensorflow-1.1.03.5MSVC 2015 update 3Cmake v3.6.3
tensorflow-1.0.03.5MSVC 2015 update 3Cmake v3.6.3

GPU版本的Tensorflow

VersionPython versionCompilerBuild toolscuDNNCUDA
tensorflow-1.11.03.5-3.6MSVC 2015 update 3Bazel 0.15.079
tensorflow-1.10.03.5-3.6MSVC 2015 update 3Cmake v3.6.379
tensorflow-1.9.03.5-3.6MSVC 2015 update 3Cmake v3.6.379
tensorflow-1.8.03.5-3.6MSVC 2015 update 3Cmake v3.6.379
tensorflow-1.7.03.5-3.6MSVC 2015 update 3Cmake v3.6.379
tensorflow-1.6.03.5-3.6MSVC 2015 update 3Cmake v3.6.379
tensorflow-1.5.03.5-3.6MSVC 2015 update 3Cmake v3.6.379
tensorflow-1.4.03.5-3.6MSVC 2015 update 3Cmake v3.6.368
tensorflow-1.3.03.5-3.6MSVC 2015 update 3Cmake v3.6.368
tensorflow-1.2.03.5-3.6MSVC 2015 update 3Cmake v3.6.35.18
tensorflow-1.1.03.5MSVC 2015 update 3Cmake v3.6.35.18
tensorflow-1.0.03.5MSVC 2015 update 3Cmake v3.6.35.18

努力的小码农乔木同学
记于 2019.10.30

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值