(通用)深度学习环境搭建:tensorflow安装教程及常见错误解决
区别于其他入门教程的“手把手式”,本文更强调“因”而非“果”。我之所以加上“通用”字样,是因为在你了解了这个开发环境之后,那些很low的错误你就不会犯了。
大家都知道深度学习涉及到大量的模型、算法,看着那些乱糟糟的公式符号,心中一定是“WTF”。我想说的是,这些你都不要管,所谓车到山前必有路。
所需安装包
通常以我的习惯是以最简单的方式来接触一门新的技术,并且尽量抛弃新的(边缘)技术的介入,如果因为一些其他因素来导致学习树的不断扩大,会变得很低效,所以我们直击核心。以最常用的windows环境为例。
这里以windows7+TensorFlow-gpu1.5+cuda8+cudnn6+anaconda5+python3.6为例。这里强烈推荐GPU版本,因为深度学习动辄几小时、几天、几周的运行市场,GPU加速会节省你很多时间(甚至电费)。
- cuda_8.0.61_windows.exe http://developer2.download.nvidia.com/compute/cuda/8.0/secure/Prod2/local_installers/cuda_8.0.61_windows.exe:
从NIVDIA官网下载需要找到历史版本Legacy Releases。
tensorflow代码引用的cuda库必须绝对匹配,比如tensorflow1.3-1.5都使用cuda8的库,目前(2017-10-24 20:40:53)不支持cuda9库。
这里有一个关于cuda8的补丁,修复了8.0的一些bughttp://developer2.download.nvidia.com/compute/cuda/8.0/secure/Prod2/patches/2/cuda_8.0.61.2_windows.exe - cudnn-8.0-windows7-x64-v6.0.zip http://developer2.download.nvidia.com/compute/machine-learning/cudnn/secure/v6/prod/8.0_20170427/cudnn-8.0-windows7-x64-v6.0.zip:
和上面的原因一样,请匹配6.0版本。 - tensorflow https://github.com/tensorflow/tensorflow:
我之所以给出github的地址是因为tensorflow团队在github上每天12:34都有一次build,并且github不受“种种”网络因素的影响。在tensorflow找到python3.6对应gpu版本build history,找到whl文件地址。 Anaconda3-5.0.0-Windows-x86_64.exe https://www.anaconda.com/download/:
anaconda有一个最大的好处就是安装各种python库比较方便。安装包关系
anaconda相当于tensorflow运行的容器。anaconda可以创建多个“盒子”(environment),每个盒子中的环境互不干扰,所以使用anaconda可以同时安装python3.5/3.6,tensorflow1.3/1.5。
cuda和cudnn是tensorflow调用gpu所需要的库。也就是说tensorflow必须通过cuda和cudnn来调用电脑的gpu。
安装
安装anaconda、anaconda、cuda、cudnn
- anaconda、cuda、cudnn安装即可。在安装过程中会自动配置环境变量。
- 不过需要手动将cuda的development目录配置到
CUDA_HOME
中。 将cudnn解压后,把文件复制到cuda对应目录。
安装tensorflow
- 启动anaconda,点击environments(环境),点击create(新建),命名
tensorflow-gpu
,选取3.6
版本。 - 点击tensorflow-gpu启动Open Terminal,输入
activate tensorflow-gpu
。这时,anaconda下名字叫做tensorflow-gpu的环境已经启动了。下面我们才真正开始安装tensorflow。 输入
pip install --ignore-installed --upgrade http://ci.tensorflow.org/view/tf-nightly/job/tf-nightly-windows/M=windows-gpu,PY=36/lastSuccessfulBuild/artifact/cmake_build/tf_python/dist/tf_nightly_gpu-1.5.0.dev20171024-cp36-cp36m-win_amd64.whl
稍等片刻tensorflow就安装成功了。测试tensorflow环境
- 点击anaconda下我们创建的环境
tensorflow-gpu
启动Open With Python 输入
import tensorflow
如果不报错就说明安装成功了。常见错误
- ImportError: DLL load failed: 找不到指定的模块。
这个错误通常是cuda或者cudnn与tensorflow的版本对应错误。推荐下载cuda8+cudnn6。
当然,随着时间推移这些版本会被淘汰,但本教程依然适用。在github上找到tensorflow项目,在项目内搜索TF_CUDA_VERSION
和TF_CUDNN_VERSION
会看到当前tensorflow对应的是哪个cuda和cudnn版本。 其他错误。
除1的错误外我暂时没碰到其他错误,如果出现排错的思路是,确认版本-->确认库是否包含在path中。如果依然无法解决,可以加我微信takeurhand
讨论。运行mnist例子
- mnist例子运行需要安装matplotlib库,这时候anaconda的方便之处就得以体现了。点击anaconda下
tensorflow-gpu
环境,再右侧搜索matplotlib,勾选并点击apply即可。 - 下载github上mnist教程例子https://github.com/martin-gorner/tensorflow-mnist-tutorial,并解压。
- 启动anaconda下
tensorflow-gpu
环境Open Terminal,输入activate tensorflow-gpu
,cd到步骤2解压目录。 执行
python mnist_xx.py
(通用)深度学习环境搭建:tensorflow安装教程及常见错误解决的更多相关文章
- Tomcat安装教程及常见错误解决方法
目录 Tomcat安装教程及常见错误解决方法 一.安装前准备 ·熟悉自己电脑的操作系统版本(32位or64位) ·保证电脑上已经装好JDK,并且已经设置好环境变量. 二.Tomcat安装教程(以Tom ...
- 保姆级教程——Ubuntu16.04 Server下深度学习环境搭建:安装CUDA8.0,cuDNN6.0,Bazel0.5.4,源码编译安装TensorFlow1.4.0(GPU版)
写在前面 本文叙述了在Ubuntu16.04 Server下安装CUDA8.0,cuDNN6.0以及源码编译安装TensorFlow1.4.0(GPU版)的亲身经历,包括遇到的问题及解决办法,也有一些 ...
- Ubuntu深度学习环境搭建 tensorflow+pytorch
目前电脑配置:Ubuntu 16.04 + GTX1080显卡 配置深度学习环境,利用清华源安装一个miniconda环境是非常好的选择.尤其是今天发现conda install -c menpo o ...
- 深度学习环境搭建:Tensorflow1.4.0+Ubuntu16.04+Python3.5+Cuda8.0+Cudnn6.0
目录 深度学习环境搭建:Tensorflow1.4.0+Ubuntu16.04+Python3.5+Cuda8.0+Cudnn6.0 Reference 硬件说明: 软件准备: 1. 安装Ubuntu ...
- [AI开发]centOS7.5上基于keras/tensorflow深度学习环境搭建
这篇文章详细介绍在centOS7.5上搭建基于keras/tensorflow的深度学习环境,该环境可用于实际生产.本人现在非常熟练linux(Ubuntu/centOS/openSUSE).wind ...
- Win10+RTX2080深度学习环境搭建:tensorflow、mxnet、pytorch、caffe
目录 准备工作 设置conda国内镜像源 conda 深度学习环境 tensorflow.mxnet.pytorch安装 tensorflow mxnet pytorch Caffe安装 配置文件修改 ...
- linux系统下深度学习环境搭建和使用
作为一个AI工程师,对Linux的一些技能的掌握也能从一定层面反应工程师的资深水平. 要求1:基于SSH的远程访问(本篇文章) 能用一台笔记本电脑,远程登陆一台linux服务器 能随时使用笔记本电脑启 ...
- 深度学习环境搭建部署(DeepLearning 神经网络)
工作环境 系统:Ubuntu LTS 显卡:GPU NVIDIA驱动:410.93 CUDA:10.0 Python:.x CUDA以及NVIDIA驱动安装,详见https://www.cnblogs ...
- 深度学习环境搭建(Ubuntu16.04+GTX1080Ti+CUDA8.0+Cudnn6.0+TensorFlow+Caffe2(Pytorch))
OS System:Ubuntu16.04 GPU Device:GTX1080Ti Softwares:CUDA8.0.Cudnn6.0.TensorFlow(1.4.0).Caffe2(1.0.0 ...
随机推荐
- 35.Linux-分析并制作环形缓冲区
在上章34.Linux-printk分析.使用printk调试驱动里讲述了: printk()会将打印信息存在内核的环形缓冲区log_buf[]里, 可以通过dmesg命令来查看log_buf[] 1 ...
- 用swoole和websocket开发简单聊天室
首先,我想说下写代码的一些习惯,第一,任何可配置的参数或变量都要写到一个config文件中.第二,代码中一定要有日志记录和完善的报错并记录报错.言归正传,swoole应该是每个phper必须要了解的, ...
- Spring Cloud Eureka Server集群Demo级搭建
将上篇随笔Spring Cloud Eureka服务Demo级搭建进行改造,改造成一个在本机的伪集群 1.修改hosts文件(windows10 hosts文件位置:C:\Windows\System ...
- 如何打包静态库.framework文件 iOS
代码调试好了开始打包成sdk,下面是将要打包的FRSDK代码(FRSDK.h暴露在外面有别人调用) 1.创建新工程(Xcode File-New-Project) 2.把下面的红色框的东西移除 3.将 ...
- UWP 实现App多语言为所欲为切换
为所欲为,嗯 话不多说,先看效果吧(事先说明,我的方法不是最好的,但是我用着最有效.) [吐槽一下博客园上传的图片,我的App敲鸡漂亮滴,自带亚克力效果,怎么图片上传上来这么多的噪点啊.] [ 商店地 ...
- Android数据绑定技术一,企业级开发
PS:数据绑定,顾名思义是数据与一些控件或者用户账号等绑定,这样用的好处是便于管理.代码清晰,量少. 首先要了解什么是数据绑定? 为什么要用数据绑定? 怎么用数据绑定? 语法的使用 简单例子,数据绑定 ...
- mac os x 触摸板点击无效
macbook默认轻击触摸板无效,这样是为了防止误点击.可是习惯了windows笔记本的我对这一设置非常不习惯. 能够在"system preference"的"Trac ...
- Android学习笔记(10).布局管理器
布局管理器的几个类都是ViewGroup派生的,用于管理组件的分布和大小,使用布局管理器能够非常好地解决屏幕适配问题. 布局管理器本身也是一个UI组件,布局管理器能够相互嵌套使用,以下是布局管理器的类 ...
- HDU1065 I Think I Need a Houseboat 【数学递推】
I Think I Need a Houseboat Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Ja ...
- 自学Zabbix3.6.4-触发器triggers dependencies依赖关系
有时,一个主机的可用性取决于另一个主机.如果路由器坏了,某个路由器后面的服务器就会变得不可访问.对于两个主机都配置了触发器,您可能会收到两个主机的通知,而只有路由器是有罪的一方.这是主机之间的一些依赖 ...