V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
caiyongji
V2EX  ›  TensorFlow

(通用)深度学习环境搭建: tensorflow 安装教程及常见错误解决

  •  1
     
  •   caiyongji · 2017-10-27 11:32:50 +08:00 · 9754 次点击
    这是一个创建于 2345 天前的主题,其中的信息可能已经有所发展或是发生改变。

    区别于其他入门教程的“手把手式”,本文更强调“因”而非“果”。我之所以加上“通用”字样,是因为在你了解了这个开发环境之后,那些很 low 的错误你就不会犯了。
    大家都知道深度学习涉及到大量的模型、算法,看着那些乱糟糟的公式符号,心中一定是“ WTF ”。我想说的是,这些你都不要管,所谓车到山前必有路。

    所需安装包

    通常以我的习惯是以最简单的方式来接触一门新的技术,并且尽量抛弃新的(边缘)技术的介入,如果因为一些其他因素来导致学习树的不断扩大,会变得很低效,所以我们直击核心。以最常用的 windows 环境为例。
    这里以windows7+TensorFlow-gpu1.5+cuda8+cudnn6+anaconda5+python3.6为例。这里强烈推荐 GPU 版本,因为深度学习动辄几小时、几天、几周的运行市场,GPU 加速会节省你很多时间(甚至电费)。

    1. 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
    2. 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 版本。
    3. tensorflow https://github.com/tensorflow/tensorflow
      我之所以给出 github 的地址是因为 tensorflow 团队在 github 上每天 12:34 都有一次 build,并且 github 不受“种种”网络因素的影响。在 tensorflow 找到 python3.6 对应 gpu 版本build history,找到 whl 文件地址。
    4. 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

    1. anaconda、cuda、cudnn 安装即可。在安装过程中会自动配置环境变量。
    2. 不过需要手动将 cuda 的 development 目录配置到CUDA_HOME中。
    3. 将 cudnn 解压后,把文件复制到 cuda 对应目录。

    安装 tensorflow

    1. 启动 anaconda,点击environments(环境),点击create(新建),命名tensorflow-gpu,选取3.6版本。
    2. 点击 tensorflow-gpu 启动Open Terminal,输入activate tensorflow-gpu。这时,anaconda 下名字叫做 tensorflow-gpu 的环境已经启动了。下面我们才真正开始安装 tensorflow。
    3. 输入
      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 环境

    1. 点击 anaconda 下我们创建的环境tensorflow-gpu启动Open With Python
    2. 输入import tensorflow如果不报错就说明安装成功了。

    常见错误

    1. ImportError: DLL load failed: 找不到指定的模块。 这个错误通常是 cuda 或者 cudnn 与 tensorflow 的版本对应错误。推荐下载 cuda8+cudnn6。
      当然,随着时间推移这些版本会被淘汰,但本教程依然适用。在 github 上找到 tensorflow 项目,在项目内搜索TF_CUDA_VERSIONTF_CUDNN_VERSION会看到当前 tensorflow 对应的是哪个 cuda 和 cudnn 版本。
    2. 其他错误。
      除 1 的错误外我暂时没碰到其他错误,如果出现排错的思路是,确认版本-->确认库是否包含在 path 中。如果依然无法解决,可以加我微信takeurhand讨论。

    运行 mnist 例子

    1. mnist 例子运行需要安装 matplotlib 库,这时候 anaconda 的方便之处就得以体现了。点击 anaconda 下tensorflow-gpu环境,再右侧搜索 matplotlib,勾选并点击 apply 即可。
    2. 下载 github 上 mnist 教程例子https://github.com/martin-gorner/tensorflow-mnist-tutorial,并解压。
    3. 启动 anaconda 下tensorflow-gpu环境Open Terminal,输入activate tensorflow-gpu,cd 到步骤 2 解压目录。
    4. 执行python mnist_xx.py 图片描述
    目前尚无回复
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5410 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 06:03 · PVG 14:03 · LAX 23:03 · JFK 02:03
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.