热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

在Windows系统中安装TensorFlowGPU版的详细指南与常见问题解决

在Windows系统中安装TensorFlowGPU版是许多深度学习初学者面临的挑战。本文详细介绍了安装过程中的每一个步骤,并针对常见的问题提供了有效的解决方案。通过本文的指导,读者可以顺利地完成安装并避免常见的陷阱。

当开始学习深度学习的时候,自然就要用到tensorflow-gpu
版,而安装是个巨坑。博主曾深深陷入其中无法自拔,最终破釜沉舟,终于成功,哈哈哈哈哈。
以下是在windows中安装tensorflow的gpu版本的教程

windows下安装tensorflow -gpu

1.安装cuda

首先要去cuda官网下载cuda
Windows下安装Tensorflow-gpu(踩坑无数)
强烈推荐默认安装地址
安装步骤如下

Windows下安装Tensorflow-gpu(踩坑无数)
Windows下安装Tensorflow-gpu(踩坑无数)

Windows下安装Tensorflow-gpu(踩坑无数)

2.安装cudnn

安装完cuda后,就去cudnn官网下载cudnn。博主在当时下载的9.2版本。
Windows下安装Tensorflow-gpu(踩坑无数)

下载完成后,会得到一个压缩包,把压缩包里的文件copy到之前安装cuda的位置(如果默认安装的话,位置应该是C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0)
要对应着来copy。
将.h .lib 和.dll 文件分别拷贝到cuda的include, lib/x64, bin 文件夹下

3.安装完这两项之后,就是环境的配置

计算机上点右键,打开属性->高级系统设置->环境变量,可以看到系统中多了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%;  
  再添加如下4条(默认安装路径): 
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\lib\x64; 
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\bin; 
C:\ProgramData\NVIDIA Corporation\CUDA Samples\v8.0\common\lib\x64; 
C:\ProgramData\NVIDIA Corporation\CUDA Samples\v8.0\bin\win64; 

如图:
Windows下安装Tensorflow-gpu(踩坑无数)
Windows下安装Tensorflow-gpu(踩坑无数)

4.安装tensorflow

直接在cmd中输入

pip install tensorflow-gpu

如果嫌弃直接安装太慢,可以换个源

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple tensorflow-gpu

安装成功后,在cmd进入python环境(博主用的anaconda环境)
输入

import tensorflow as tf

如果没有任何bug出现,那么恭喜你,你太幸运了。
然后你可以输入

tf.Session()

如果出现
Windows下安装Tensorflow-gpu(踩坑无数)
恭喜你tensorflow-gpu安装成功了。
当然,如果你没有那么顺利,也超级正常。
那就看之后的内容。

5.安装过程中遇到的一系列的坑

首先,最简单的,
如果你输入tf.Session()后没有出现,gpu的一系列信息。

pip show tensorflow-gpu

查看有没有tensorflow-gpu的信息
也可以输入

pip show tensorflow

查看是不是系统里面有tensorflow的cpu版本

如果有cpu版本,那么就卸载了tensorflow的cpu版本,重新安装一个。

pip uninstall tensorflow

其次
如果你在import tensorflow时出现了import numpy出错,说明你的numpy版本不适合你的tensorflow版本。
那么,你就要更新你的numpy版本

pip install numpy --upgrade

之后发现,这个错误就没了。
当然,可能会是一些其他库的警告,比如
Windows下安装Tensorflow-gpu(踩坑无数)
仔细看一下这个错误,看一下哪个库出现问题了,这种情况一般就是更新一下相应的库就OK,比如这个错误就是h5py版本太低,所以我更新了h5py

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple h5py --upgrade

最后
如果你import tensorflow时出现下面的信息
Windows下安装Tensorflow-gpu(踩坑无数)
那么,别慌,你肯定去到处去网上搜索资料,这个东西超级难查,博主曾被折磨的醉仙欲死。
解决这个问题,其实so easy。
就用最暴力的方法。
那就是进入E:\ComputerScience\software\Anaconda3\Lib\site-packages这个目录下,把所有有关tensorflow的东西全删了(就是这么暴力)。
然后重新安装tensorflow-gpu

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple tensorflow-gpu

搞定!!!,哈哈哈哈
不知道你搞定了没有,反正我搞定了,哈哈哈。
欢迎没有搞定的人在下面讨论。。
博主滚去ubuntu系统去安装tensorflow-gpu版本了。


推荐阅读
  • 表面缺陷检测数据集综述及GitHub开源项目推荐
    本文综述了表面缺陷检测领域的数据集,并推荐了多个GitHub上的开源项目。通过对现有文献和数据集的系统整理,为研究人员提供了全面的资源参考,有助于推动该领域的发展和技术进步。 ... [详细]
  • 能够感知你情绪状态的智能机器人即将问世 | 科技前沿观察
    本周科技前沿报道了多项重要进展,包括美国多所高校在机器人技术和自动驾驶领域的最新研究成果,以及硅谷大型企业在智能硬件和深度学习技术上的突破性进展。特别值得一提的是,一款能够感知用户情绪状态的智能机器人即将问世,为未来的人机交互带来了全新的可能性。 ... [详细]
  • 在多线程并发环境中,普通变量的操作往往是线程不安全的。本文通过一个简单的例子,展示了如何使用 AtomicInteger 类及其核心的 CAS 无锁算法来保证线程安全。 ... [详细]
  • 本文详细介绍了 InfluxDB、collectd 和 Grafana 的安装与配置流程。首先,按照启动顺序依次安装并配置 InfluxDB、collectd 和 Grafana。InfluxDB 作为时序数据库,用于存储时间序列数据;collectd 负责数据的采集与传输;Grafana 则用于数据的可视化展示。文中提供了 collectd 的官方文档链接,便于用户参考和进一步了解其配置选项。通过本指南,读者可以轻松搭建一个高效的数据监控系统。 ... [详细]
  • Android 构建基础流程详解
    Android 构建基础流程详解 ... [详细]
  • 独家解析:深度学习泛化理论的破解之道与应用前景
    本文深入探讨了深度学习泛化理论的关键问题,通过分析现有研究和实践经验,揭示了泛化性能背后的核心机制。文章详细解析了泛化能力的影响因素,并提出了改进模型泛化性能的有效策略。此外,还展望了这些理论在实际应用中的广阔前景,为未来的研究和开发提供了宝贵的参考。 ... [详细]
  • 本文深入探讨了Java多线程环境下的同步机制及其应用,重点介绍了`synchronized`关键字的使用方法和原理。`synchronized`关键字主要用于确保多个线程在访问共享资源时的互斥性和原子性。通过具体示例,如在一个类中使用`synchronized`修饰方法,展示了如何实现线程安全的代码块。此外,文章还讨论了`ReentrantLock`等其他同步工具的优缺点,并提供了实际应用场景中的最佳实践。 ... [详细]
  • 在Kohana 3框架中,实现最优的即时消息显示方法是许多开发者关注的问题。本文将探讨如何高效、优雅地展示flash消息,包括最佳实践和技术细节,以提升用户体验和代码可维护性。 ... [详细]
  • 【图像分类实战】利用DenseNet在PyTorch中实现秃头识别
    本文详细介绍了如何使用DenseNet模型在PyTorch框架下实现秃头识别。首先,文章概述了项目所需的库和全局参数设置。接着,对图像进行预处理并读取数据集。随后,构建并配置DenseNet模型,设置训练和验证流程。最后,通过测试阶段验证模型性能,并提供了完整的代码实现。本文不仅涵盖了技术细节,还提供了实用的操作指南,适合初学者和有经验的研究人员参考。 ... [详细]
  • 在前文探讨了Spring如何为特定的bean选择合适的通知器后,本文将进一步深入分析Spring AOP框架中代理对象的生成机制。具体而言,我们将详细解析如何通过代理技术将通知器(Advisor)中包含的通知(Advice)应用到目标bean上,以实现切面编程的核心功能。 ... [详细]
  • Python 实战:异步爬虫(协程技术)与分布式爬虫(多进程应用)深入解析
    本文将深入探讨 Python 异步爬虫和分布式爬虫的技术细节,重点介绍协程技术和多进程应用在爬虫开发中的实际应用。通过对比多进程和协程的工作原理,帮助读者理解两者在性能和资源利用上的差异,从而在实际项目中做出更合适的选择。文章还将结合具体案例,展示如何高效地实现异步和分布式爬虫,以提升数据抓取的效率和稳定性。 ... [详细]
  • 从2019年AI顶级会议最佳论文,探索深度学习的理论根基与前沿进展 ... [详细]
  • 在稀疏直接法视觉里程计中,通过优化特征点并采用基于光度误差最小化的灰度图像线性插值技术,提高了定位精度。该方法通过对空间点的非齐次和齐次表示进行处理,利用RGB-D传感器获取的3D坐标信息,在两帧图像之间实现精确匹配,有效减少了光度误差,提升了系统的鲁棒性和稳定性。 ... [详细]
  • 图像分割技术在人工智能领域中扮演着关键角色,其中语义分割、实例分割和全景分割是三种主要的方法。本文对这三种分割技术进行了详细的对比分析,探讨了它们在不同应用场景中的优缺点和适用范围,为研究人员和从业者提供了有价值的参考。 ... [详细]
  • NVIDIA最新推出的Ampere架构标志着显卡技术的一次重大突破,不仅在性能上实现了显著提升,还在能效比方面进行了深度优化。该架构融合了创新设计与技术改进,为用户带来更加流畅的图形处理体验,同时降低了功耗,提升了计算效率。 ... [详细]
author-avatar
mobiledu2502897207
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有