TensorFlow 安装 Win10 Python+GPU
前叙:有灵魂的程序都是每一个程序员的最终目标。TensorFlow了解下?
打算花几个月学机器学习,TensorFlow是很好的选择,折腾了会环境,略有心得分享下。
- 环境:win10
Python:3.6.5
TensorFlow-GPU:1.8.0
CUDA:9.0
cuDNN:7.1.4
我们来用最简单的方法安装,首先
Python:
虽然官网3.7已经出来了,但是Beta版,保险起见用正式版 3.6.5。
你看着文章时也许已经不是3.6.5了,所以链接下可以选最新版本的。我下载的是64位可执行安装包。
https://www.python.org/downloads/windows/
下载完安装只有一个注意事项,勾选Add Python 3.6 to PATH
TensorFlow:
顺利安装完Python后就可以用pip装TensorFlow。
因为pip旧版不能装TensorFlow,所以先要pip直接升到最新版。
以管理员身份运行命令行执行:
python -m pip install -U pip
升级了pip就可以装TensorFlow(GPU版)了
以管理员身份运行命令行执行:
pip3 install --upgrade tensorflow-gpu
部分警告可以忽略。
装完我们运行试试看,开始菜单找到Python 3.6打开并运行:
import tensorflow as tf
提示找不到模块,下面解释说没有C++2015的DLL,
其实这个是没有装CUDA,CUDA安装会附带的。
说起了这个CUDA是NVIDIA 的,那AMD的显卡不很尴尬了。
CUDA:
https://developer.nvidia.com/cuda-toolkit-archive
当前最新版的是9.2,我们来装个9.2(误,请看下面再操作)
下载选离线的1.5G的。这下载的链接有毒,迅雷下载到98%点几就下载不了了,会员离线也下载不了,还好百度云离线下载可以。右键下载链接选复制用百度云离线下载。
警告:关掉360
然后安装就下一步下一步
安装完Python再运行一下 import tensorflow as tf (之前报错的话要关掉重新打开)
还是一样的错误...好吧,看来CUDA没有自带2015的运行库,只有2013的,按照报错给的链接下载C++2015: https://www.microsoft.com/en-us/download/details.aspx?id=53587
安装完后再运行,终于不一样了。不过这..提示CUDA版本要9.0....
9.0链接在这,都给你们选好了:https://developer.nvidia.com/cuda-90-download-archive?target_os=Windows&target_arch=x86_64&target_version=10&target_type=exelocal
好的,装CUDA 9.0的
cuDNN:
安装完cuda再运行看
import tensorflow as tf
https://developer.nvidia.com/cudnn
这回报错提示cuDNN没装了,根据链接里的下载地址要登录,选对应CUDA9.0的
下载后解压到任意目录,我是放在D盘的,然后将目录添加到PATH系统环境变量里。
python里再运行
import tensorflow as tf
Good,没报错了。
运行矩阵
显示有 CPU 提示,显卡型号。
所需安装包:
嗯,连七八糟写的。
其实主要分享如何解决问题,不能一味的百度,就算有教程也不一定对的,因为版本是时刻在变的。
还是要仔细看错误详细才对,附上参考链接:【TensorFlow】Windows10 64 位下安装 TensorFlow - 官方原生支持
后话:
如果一开始定位报错的py文件,就可以知道所有会导致运行失败的异常。
Platform-specific code for checking the integrity of the TensorFlow build.
最新文章
- php 读取网页源码 , 导出成txt文件, 读取xls,读取文件夹下的所有文件的文件名
- List<;IPoint>; to IPointCollection to IPolygon
- java基础回顾(二)——内部类
- myeclipse 8.5 破解
- Google前工程经理王忻:如何准备软件工程师的面试
- Verilog HDL常用的行为仿真描述语句
- 认识WebSocket理论篇
- SpringMVC中使用zTree
- VC socket Connect 超时时间设置
- C语言内存对齐(2)
- Binder机制,从Java到C (8. ServiceManager in Native)
- 使用Dotfuscator加密混淆程序以及如何脱壳反编译
- 【转】Python正则表达式指南
- .net core使用Pipelines进行消息IO合并
- mpvue——API请求封装(小程序原生)
- JWT,oAuth和SSO的讨论
- mysql sql执行计划
- 信用算力基于 RocketMQ 实现金融级数据服务的实践
- MVC 5使用TempData Object跨视图传递数据
- Oracle11.2.0.1 升级Oracle11.2.0.4 后 listener 的端口改变需要处理