windows下怎么安装tensorflow windows7

在win10上安装 Tensorflow极客学院团队出品 · 更新于
下载与安装
你可以使用我们提供的 Pip, Docker, Virtualenv, Anaconda 或 源码编译的方法安装 TensorFlow.
是一个 Python 的软件包安装与管理工具.
在安装 TensorFlow 过程中要涉及安装或升级的包详见
首先安装 pip (或 Python3 的 pip3 ):
# Ubuntu/Linux 64-bit
$ sudo apt-get install python-pip python-dev
# Mac OS X
$ sudo easy_install pip
安装 TensorFlow :
# Ubuntu/Linux 64-bit, CPU only, Python 2.7:
$ sudo pip install --upgrade /tensorflow/linux/cpu/tensorflow-0.8.0-cp27-none-linux_x86_64.whl
# Ubuntu/Linux 64-bit, GPU enabled, Python 2.7. Requires CUDA toolkit 7.5 and CuDNN v4.
# For other versions, see "Install from sources" below.
$ sudo pip install --upgrade /tensorflow/linux/gpu/tensorflow-0.8.0-cp27-none-linux_x86_64.whl
# Mac OS X, CPU only:
$ sudo easy_install --upgrade six
$ sudo pip install --upgrade /tensorflow/mac/tensorflow-0.8.0-py2-none-any.whl
如果是 Python3 :
# Ubuntu/Linux 64-bit, CPU only, Python 3.4:
$ sudo pip3 install --upgrade /tensorflow/linux/cpu/tensorflow-0.8.0-cp34-cp34m-linux_x86_64.whl
# Ubuntu/Linux 64-bit, GPU enabled, Python 3.4. Requires CUDA toolkit 7.5 and CuDNN v4.
# For other versions, see "Install from sources" below.
$ sudo pip3 install --upgrade /tensorflow/linux/gpu/tensorflow-0.8.0-cp34-cp34m-linux_x86_64.whl
# Mac OS X, CPU only:
$ sudo easy_install --upgrade six
$ sudo pip3 install --upgrade /tensorflow/mac/tensorflow-0.8.0-py3-none-any.whl
备注:如果之前安装过 TensorFlow & 0.7.1 的版本,应该先使用 pip uninstall 卸载 TensorFlow 和 protobuf ,保证获取的是一个最新 protobuf 依赖下的安装包.
之后可以一下.
基于 Docker 的安装
我们也支持通过
运行 TensorFlow.
该方式的优点是不用操心软件依赖问题.
首先, . 一旦 Docker
已经启动运行, 可以通过命令启动一个容器:
$ docker run -it b.gcr.io/tensorflow/tensorflow
该命令将启动一个已经安装好 TensorFlow 及相关依赖的容器.
默认的 Docker 镜像只包含启动和运行 TensorFlow 所需依赖库的一个最小集. 我们额外提供了
下面的容器, 该容器同样可以通过上述 docker run 命令安装:
b.gcr.io/tensorflow/tensorflow-full: 镜像中的 TensorFlow 是从源代码完整安装的,
包含了编译和运行 TensorFlow 所需的全部工具. 在该镜像上, 可以直接使用源代码进行实验,
而不需要再安装上述的任何依赖.
基于 VirtualEnv 的安装
我们推荐使用
创建一个隔离的容器, 来安装 TensorFlow. 这是可选的, 但是这样做能使排查安装问题变得更容易.
首先, 安装所有必备工具:
# 在 Linux 上:
$ sudo apt-get install python-pip python-dev python-virtualenv
# 在 Mac 上:
$ sudo easy_install pip
# 如果还没有安装 pip
$ sudo pip install --upgrade virtualenv
接下来, 建立一个全新的 virtualenv 环境. 为了将环境建在 ~/tensorflow
目录下, 执行:
$ virtualenv --system-site-packages ~/tensorflow
$ cd ~/tensorflow
然后, 激活 virtualenv:
$ source bin/activate
# 如果使用 bash
$ source bin/activate.csh
# 如果使用 csh
(tensorflow)$
# 终端提示符应该发生变化
在 virtualenv 内, 安装 TensorFlow:
(tensorflow)$ pip install --upgrade &$url_to_binary.whl&
接下来, 使用类似命令运行 TensorFlow 程序:
(tensorflow)$ cd tensorflow/models/image/mnist
(tensorflow)$ python convolutional.py
# 当使用完 TensorFlow
(tensorflow)$ deactivate
# 停用 virtualenv
# 你的命令提示符会恢复原样
基于 Anaconda 的安装
是一个集成许多第三方科学计算库的 Python 科学计算环境,Anaconda 使用 conda 作为自己的包管理工具,同时具有自己的,类似 Virtualenv.
和 Virtualenv 一样,不同 Python 工程需要的依赖包,conda 将他们存储在不同的地方。 TensorFlow 上安装的 Anaconda 不会对之前安装的 Python 包进行覆盖.
安装 Anaconda
建立一个 conda 计算环境
激活环境,使用 conda 安装 TensorFlow
安装成功后,每次使用 TensorFlow 的时候需要激活 conda 环境
安装 Anaconda :
参考 Anaconda 的下载页面的
建立一个 conda 计算环境名字叫tensorflow:
# Python 2.7
$ conda create -n tensorflow python=2.7
# Python 3.4
$ conda create -n tensorflow python=3.4
激活tensorflow环境,然后使用其中的 pip 安装 TensorFlow. 当使用easy_install使用--ignore-installed标记防止错误的产生。
$ source activate tensorflow
(tensorflow)$
# Your prompt should change
# Ubuntu/Linux 64-bit, CPU only, Python 2.7:
(tensorflow)$ pip install --ignore-installed --upgrade /tensorflow/linux/cpu/tensorflow-0.8.0rc0-cp27-none-linux_x86_64.whl
# Ubuntu/Linux 64-bit, GPU enabled, Python 2.7. Requires CUDA toolkit 7.5 and CuDNN v4.
# For other versions, see "Install from sources" below.
(tensorflow)$ pip install --ignore-installed --upgrade /tensorflow/linux/gpu/tensorflow-0.8.0rc0-cp27-none-linux_x86_64.whl
# Mac OS X, CPU only:
(tensorflow)$ pip install --ignore-installed --upgrade /tensorflow/mac/tensorflow-0.8.0rc0-py2-none-any.whl
对于 Python 3.x :
$ source activate tensorflow
(tensorflow)$
# Your prompt should change
# Ubuntu/Linux 64-bit, CPU only, Python 3.4:
(tensorflow)$ pip install --ignore-installed --upgrade /tensorflow/linux/cpu/tensorflow-0.8.0rc0-cp34-cp34m-linux_x86_64.whl
# Ubuntu/Linux 64-bit, GPU enabled, Python 3.4. Requires CUDA toolkit 7.5 and CuDNN v4.
# For other versions, see "Install from sources" below.
(tensorflow)$ pip install --ignore-installed --upgrade /tensorflow/linux/gpu/tensorflow-0.8.0rc0-cp34-cp34m-linux_x86_64.whl
# Mac OS X, CPU only:
(tensorflow)$ pip install --ignore-installed --upgrade /tensorflow/mac/tensorflow-0.8.0rc0-py3-none-any.whl
conda 环境激活后,你可以
当你不用 TensorFlow 的时候,关闭环境:
(tensorflow)$ source deactivate
# Your prompt should change back
再次使用的时候再激活 :-)
$ source activate tensorflow
(tensorflow)$
# Your prompt should change.
# Run Python programs that use TensorFlow.
# When you are done using TensorFlow, deactivate the environment.
(tensorflow)$ source deactivate
尝试你的第一个 TensorFlow 程序
(可选) 启用 GPU 支持
如果你使用 pip 二进制包安装了开启 GPU 支持的 TensorFlow, 你必须确保
系统里安装了正确的 CUDA sdk 和 CUDNN 版本. 请参间
你还需要设置 LD_LIBRARY_PATH 和 CUDA_HOME 环境变量. 可以考虑将下面的命令
添加到 ~/.bash_profile 文件中, 这样每次登陆后自动生效. 注意, 下面的命令
假定 CUDA 安装目录为 /usr/local/cuda:
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/cuda/lib64"
export CUDA_HOME=/usr/local/cuda
运行 TensorFlow
打开一个 python 终端:
&&& import tensorflow as tf
&&& hello = tf.constant('Hello, TensorFlow!')
&&& sess = tf.Session()
&&& print sess.run(hello)
Hello, TensorFlow!
&&& a = tf.constant(10)
&&& b = tf.constant(32)
&&& print sess.run(a+b)
从源码安装
克隆 TensorFlow 仓库
$ git clone --recurse-submodules /tensorflow/tensorflow
--recurse-submodules 参数是必须得, 用于获取 TesorFlow 依赖的 protobuf 库.
Linux 安装
安装 Bazel
安装 Bazel 的依赖.
中下载适合你的操作系统的最新稳定版,
最后按照下面脚本执行:
$ chmod +x PATH_TO_INSTALL.SH
$ ./PATH_TO_INSTALL.SH --user
注意把 PATH_TO_INSTALL.SH 替换为你下载的安装包的文件路径.
将执行路径 output/bazel 添加到 $PATH 环境变量中.
安装其他依赖
# For Python 2.7:
$ sudo apt-get install python-numpy swig python-dev python-wheel
# For Python 3.x:
$ sudo apt-get install python3-numpy swig python3-dev python3-wheel
可选: 安装 CUDA (在 Linux 上开启 GPU 支持)
为了编译并运行能够使用 GPU 的 TensorFlow, 需要先安装 NVIDIA 提供的 Cuda Toolkit 7.0
和 CUDNN 6.5 V2.
TensorFlow 的 GPU 特性只支持 NVidia Compute Capability &= 3.5 的显卡. 被支持的显卡
包括但不限于:
NVidia Titan
NVidia Titan X
NVidia K20
NVidia K40
下载并安装 Cuda Toolkit 7.0
将工具安装到诸如 /usr/local/cuda 之类的路径.
下载并安装 CUDNN Toolkit 6.5
解压并拷贝 CUDNN 文件到 Cuda Toolkit 7.0 安装路径下. 假设 Cuda Toolkit 7.0 安装
在 /usr/local/cuda, 执行以下命令:
tar xvzf cudnn-6.5-linux-x64-v2.tgz
sudo cp cudnn-6.5-linux-x64-v2/cudnn.h /usr/local/cuda/include
sudo cp cudnn-6.5-linux-x64-v2/libcudnn* /usr/local/cuda/lib64
配置 TensorFlow 的 Cuda 选项
从源码树的根路径执行:
$ ./configure
Do you wish to bulid TensorFlow with GPU support? [y/n] y
GPU support will be enabled for TensorFlow
Please specify the location where CUDA 7.0 toolkit is installed. Refer to
README.md for more details. [default is: /usr/local/cuda]: /usr/local/cuda
Please specify the location where CUDNN 6.5 V2 library is installed. Refer to
README.md for more details. [default is: /usr/local/cuda]: /usr/local/cuda
Setting up Cuda include
Setting up Cuda lib64
Setting up Cuda bin
Setting up Cuda nvvm
Configuration finished
这些配置将建立到系统 Cuda 库的符号链接. 每当 Cuda 库的路径发生变更时, 必须重新执行上述
步骤, 否则无法调用 bazel 编译命令.
编译目标程序, 开启 GPU 支持
从源码树的根路径执行:
$ bazel build -c opt --config=cuda //tensorflow/cc:tutorials_example_trainer
$ bazel-bin/tensorflow/cc/tutorials_example_trainer --use_gpu
# 大量的输出信息. 这个例子用 GPU 迭代计算一个 2x2 矩阵的主特征值 (major eigenvalue).
# 最后几行输出和下面的信息类似.
005 lambda = 2.000000 x = [0..447214] y = [1..894427]
001 lambda = 2.000000 x = [0..447214] y = [1..894427]
009 lambda = 2.000000 x = [0..447214] y = [1..894427]
注意, GPU 支持需通过编译选项 &--config=cuda& 开启.
尽管可以在同一个源码树下编译开启 Cuda 支持和禁用 Cuda 支持的版本, 我们还是推荐在
在切换这两种不同的编译配置时, 使用 &bazel clean& 清理环境.
在执行 bazel 编译前必须先运行 configure, 否则编译会失败并提示错误信息. 未来,
我们可能考虑将 configure 步骤包含在编译过程中, 以简化整个过程, 前提是 bazel 能够提供新的特性支持这样.
Mac OS X 安装
Mac 和 Linux 需要的软件依赖完全一样, 但是安装过程区别很大. 以下链接用于帮助你
在 Mac OS X 上安装这些依赖:
参见的 Mac OS X 安装指南.
注意: 你需要安装,
而不是 PCRE2.
创建 pip 包并安装
$ bazel build -c opt //tensorflow/tools/pip_package:build_pip_package
$ bazel-bin/tensorflow/tools/pip_package/build_pip_package /tmp/tensorflow_pkg
# .whl 文件的实际名字与你所使用的平台有关
$ pip install /tmp/tensorflow_pkg/tensorflow-0.5.0-cp27-none-linux_x86_64.whl
训练你的第一个 TensorFlow 神经网络模型
从源代码树的根路径执行:
$ cd tensorflow/models/image/mnist
$ python convolutional.py
Succesfully downloaded train-images-idx3-ubyte.gz 9912422 bytes.
Succesfully downloaded train-labels-idx1-ubyte.gz 28881 bytes.
Succesfully downloaded t10k-images-idx3-ubyte.gz 1648877 bytes.
Succesfully downloaded t10k-labels-idx1-ubyte.gz 4542 bytes.
Extracting data/train-images-idx3-ubyte.gz
Extracting data/train-labels-idx1-ubyte.gz
Extracting data/t10k-images-idx3-ubyte.gz
Extracting data/t10k-labels-idx1-ubyte.gz
Initialized!
Epoch 0.00
Minibatch loss: 12.054, learning rate: 0.010000
Minibatch error: 90.6%
Validation error: 84.6%
Epoch 0.12
Minibatch loss: 3.285, learning rate: 0.010000
Minibatch error: 6.2%
Validation error: 7.0%
GPU 相关问题
如果在尝试运行一个 TensorFlow 程序时出现以下错误:
ImportError: libcudart.so.7.0: cannot open shared object file: No such file or directory
请确认你正确安装了 GPU 支持, 参见 .
在 Linux 上
如果出现错误:
"__add__", "__radd__",
SyntaxError: invalid syntax
解决方案: 确认正在使用的 Python 版本为 Python 2.7.
在 Mac OS X 上
如果出现错误:
import six.moves.copyreg as copyreg
ImportError: No module named copyreg
解决方案: TensorFlow 使用的 protobuf 依赖 six-1.10.0. 但是, Apple 的默认 python 环境
已经安装了 six-1.4.1, 该版本可能很难升级. 这里提供几种方法来解决该问题:
升级全系统的 six:
sudo easy_install -U six
通过 homebrew 安装一个隔离的 python 副本:
brew install python
在 内编译或使用 TensorFlow.
如果出现错误:
&&& import tensorflow as tf
Traceback (most recent call last):
File "&stdin&", line 1, in &module&
File "/usr/local/lib/python2.7/site-packages/tensorflow/__init__.py", line 4, in &module&
from tensorflow.python import *
File "/usr/local/lib/python2.7/site-packages/tensorflow/python/__init__.py", line 13, in &module&
from tensorflow.core.framework.graph_pb2 import *
File "/usr/local/lib/python2.7/site-packages/tensorflow/core/framework/tensor_shape_pb2.py", line 22, in &module&
serialized_pb=_b('\n,tensorflow/core/framework/tensor_shape.proto\x12\ntensorflow\"d\n\x10TensorShapeProto\x12-\n\x03\x64im\x18\x02 \x03(\x0b\x32 .tensorflow.TensorShapeProto.Dim\x1a!\n\x03\x44im\x12\x0c\n\x04size\x18\x01 \x01(\x03\x12\x0c\n\x04name\x18\x02 \x01(\tb\x06proto3')
TypeError: __init__() got an unexpected keyword argument 'syntax'
这是由于安装了冲突的 protobuf 版本引起的, TensorFlow 需要的是 protobuf 3.0.0. 当前
最好的解决方案是确保没有安装旧版本的 protobuf, 可以使用以下命令重新安装 protobuf 来解决
brew reinstall --devel protobuf【阿星的学习笔记】如何在windows安裝Theano +Keras +Tensorflow並使用GPU加速訓練神經網路-Theano-Keras-Tensorflow-GPU-编辑推荐-资讯中心-GPU世界-专注超级计算领域
您的位置:»»
【阿星的学习笔记】如何在windows安裝Theano +Keras +Tensorflow並使用GPU加速訓練神經網路
作者/来源: GPU World, GPU世界发布于:
12:05:22点击数: 3182
& &本篇文章介绍如何安装Theano 及Keras, Tensorflow深度学习的框架在windows环境上,并快速的使用Keras的内建范例来执行人工神经网络的训练。
& & &之前也有实作Tensorflow 及caffe在VM+ubuntu16.04环境安装的经验,甚至安装在NVIDIA的Jetson TX1 的惨痛经验XD(虽然后来也是有安装成功)。各深度学习的框架各有它的优缺点,有许多文章已做过类似的分析,在此我不会对这部分着墨太多,只会叙述自己之前安装的一些经验来提供大家参考,特别如果是要在windows环境上使用,并且具有NVIDIA CUDA支援GPU加速运算的功能。
& & & 虽然也很多人认为应该直接使用Linux环境会比较适合做深度学习框架的使用及学习,原因是使用Linux的人或网络资源比较多,而且Linux对于计算机硬件效能有优化。但对于Linux环境不熟的人,使用windows环境仍然有它方便性存在,而对于Python程序语言来说,其程序码在Linux环境或windows环境做切换是很容易的,当然Theano ,Keras,Tensorflow也可以安装在Linux环境上使用。接下来开始正式介绍如何在一般常见的笔电上建构这个环境,在一般的笔电上也可以使用GPU加速训练人工神经网络的快感。
&图一&为Keras 的lstm_benchmark.py 范例输出结果
首先我使用的笔电硬件是:
Intel CPU i7-6700HQ
存储器DDR3 8GB.
NVIDIA 950M
另一台笔电硬件是:
Intel CPU i5 5200U
存储器DDR3 8GB.
NVIDIA 940M
使用GPU加速及CUDA ,NVIDIA 的显卡仍然是必备,但是实际上测试最一般般常见
的940M ,950M显卡也可以使用,并且实测上其执行效能仍然快过单单使用CPU快很多
,底下安装好后我们会使用Theano提供的程序来做测试及比较。
接下来是软件环境的建构,大部分步骤其实是没有先后顺序之分的,例如先安装python
或是VS2015 ,只有少数步骤有先后顺序上的建议。底下是我的安装步骤。
1.安装Python 环境:
& & 选择Anaconda或是Winpython都可以,实际上我都试过,而最后我是在Winpython上安装成功,这并不代表Anacona不行,只是刚好在Winpython上装成功就没再花心思在Anaconda上做Debug。重点是要使用x64 python 勿使用x86版本,原因是CUDA 的CUBLAS.lib只适用于x64版本,如果使用x86版本会遇到CUBLAS.lib 的相关error.
Winpython下载路径:&
在此我是选择安装:
3.5.2版带有Qt5的,因为平时也有用到Qt5,所以就一起安装这并不影响后续安装。
2.安装VS2015 update 3:
& & &现在VS2015已有免费的社群版,然而我安装的另外从网络上下载的VS2015 pro update3 英文版。这边建议要安装英文版勿安装中文版,原因是先前遇过vs2015在编译CUDA时候遇到Unicode编码的问题,所以就干脆安装英文版。而如果直接安装社群版,MS会根据你的OS 环境语系自动选择则中文版。在windows环境里,VS2015会是用来编译CUDA的工具。
我安装的Windows环境是Windows 10,并且它自己已经明目张胆,大摇大摆,无视你的存在的更新到10.0.14393.0了(XD)。
安装后须将底下路径加入系统的环境变量path ,这样在命令视窗才找得到cl.exe。
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin
3.安装GCC:
在windows 要安装GCC 可以使用MSYS2,有关MSYS2的安装请看底下连结:
写得非常清楚了,也不难安装,在此选择x86_x64版本可以安装的指定的D:\或预设C:\下。
安装后须将底下路径加入系统的环境变量path ,这样在命令视窗才找得到gcc或g++。
D:\msys64\mingw64\bin
D:\msys64\mingw64\lib
4.安装CUDA 及CuDNN:
CUDA 下载网址:&
选择CUDA 8.0 for Win 10 x64版本
CuDNN 下载网址:&&
请选择对应到CUDA 8.0的版本。
需注册(免费)才能下载CuDNN,非必要但是CuDNN并不难安装,只需要解压缩CuDNN档案
然后将里面bin/lib/include/的档案都copy到CUDA安装后对应的bin/lib/include/资料夹即可。
CUDA 0 安装成功预设路径应如同底下(请勿自行更改路径)
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0
安装好后将底下路径也加入系统的环境变量path ,这样在命令视窗才找得到nvcc。
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\bin
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\libnvvp
5.安装Theano 及Keras:
& &实际上当安装好Winpython时已经同时包含Theano 及Keras了。可以不用再安装。
预设Theano 版本是0.8.2,Keras 是1.1.1。
如果需update theano,或 keras到最新版1.2.0
可以执行以下指令
pip install --upgrade Theano
pip install --upgrade keras
注意:一但你执行上述指令它会自动
Uninstalling numpy-1.11.2+mkl:
原因是pip自动搜寻到更新的
numpy-1.11.3-cp35-none-win_amd64.whl版本
但是这numpy版本并不带mkl涵式库,但这对Theano ,keras是必要的。
所以可以到底下连结重新下载新的numpy-1.12.0rc2+mkl-cp35-cp35m-win_amd64.whl
然后在你的winpython的环境下执行底下重新安装即可
pip install numpy-1.12.0rc2+mkl-cp35-cp35m-win_amd64.whl
请注意选择你所需要的版本。numpy-1.12.0rc2是目前最新的。
cp35 for python 3.5.2版
win_amd64 for x64
6.更改.theanorc.txt 及keras.json:
A.更改keras.json:
以上安装好之后,你可以先试着在winpython环境里打上python
&&import keras
应该会出现以下error,
& File &D:\WinPython-64bit-3.5.2.3Qt5\python-3.5.2.amd64\lib\site-packages\keras\backend\tensorflow_backend.py&, line 1, in
& & import tensorflow as tf
ImportError: No module named 'tensorflow'
原因是Keras可以用tensorflow 或theano 当backend,预设是tensorflow
这时我需将它改成使用theano 当backend。请到你winpython安装目录下的setting里
经过上述的执行应该会产生一个keras.json档在
D:\WinPython-64bit-3.5.2.3Qt5\settings\.keras
请将底下原本tensorflow改成theano,即可完成转换backend到theano。
##=======keras.json档
& & &epsilon&: 1e-07,
& & &image_dim_ordering&: &tf&,
& & &floatx&: &float32&,
- & &backend&: &Tensorflow&
+ &&backend&: &theano&
*.1 -号为移除该行,+号为增加该行,-,+号都不该出现在实际档案里。
*.2 我的winpython 预设安装路径为D:\WinPython-64bit-3.5.2.3Qt5
*.3 对于winpython 环境而言的/Home目录是预设在
D:\WinPython-64bit-3.5.2.3Qt5\settings
并非C:\Users\使用者名称xxxx
这点请注意,所以接下来对于theano的设定档.theanorc.txt
也应放置于D:\WinPython-64bit-3.5.2.3Qt5\settings&目录下
B.更改.theanorc.txt:
请参考底下.theanorc.txt更改
device = gpu &#指的是预设切换到使用GPU
floatX = float32 & #for GPU 都是float32 & ,for CPU 可以有float64&
##===.theanorc.txt档for GPU
openmp=False
device = gpu&
optimizer_including=cudnn
floatX = float32&
allow_input_downcast=True&
cnmem = 0.8
cxxflags = -D_hypot=hypot
fastmath = True&
--flags=-LD:\WinPython-64bit-3.5.2.3Qt5\python-3.5.2.amd64\libs
--compiler_bindir=C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin
可能Error 1:
接着试着在winpython环境里打上python
&&import theano
如果有跑出一大串行号及C++ code 就表示有error发生,如果发生底下error
C:\Users\shing\AppData\Local\Theano\compiledir_Windows-10-10.0.10586-SP0-Intel64_Family_6_Model_94_Stepping_3_GenuineIntel-3.5.2-64\lazylinker_ext\mod.cpp:1:0: sorry, unimplemented: 64-bit mode not compiled in
可以试着下面解法:
开启在你winpython 目录下的D:\WinPython-64bit-3.5.2.3Qt5\scripts\env.bat
修改底下path 设定红色部分,也就是加入G++ x64的环境设定
实际上Vs2015/Nvcc 的路径也都可以直接改在如下
这样你的winpython环境也都是认得到。
#=====env.bat=============
if %ERRORLEVEL% NEQ 0 set PATH=D:\msys64\mingw64\D:\msys64\mingw64\%WINPYDIR%\Lib\site-packages\PyQt5;%WINPYDIR%\Lib\site-packages\PyQt4;%WINPYDIR%\;%WINPYDIR%\DLLs;%WINPYDIR%\S%WINPYDIR%\..\%WINPYDIR%\..\tools\mingw32\%WINPYDIR%\..\tools\R\bin\x64;%WINPYDIR%\..\tools\Julia\%PATH%;
可能Error 2:
如果出现以下error
&64_Family_6_Model_94_Stepping_3_GenuineIntel-3.5.2-64\lazylinker_ext\mod.cpp:1:
D:/msys64/mingw64/include/c++/6.2.0/cmath:1133:11: error: '::hypot' has not been declared
& &using ::
} &&& & & ^~~~~
请检查.theanorc.txt里有无底下宣告
cxxflags = -D_hypot=hypot
可能Error 3:
接着试着在winpython环境里再打上python
&&import theano
如果出现以下error
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE\crtdefs.h(10):&
fatal error C1083: Cannot open include file: 'corecrt.h': No such file or directory
必须新增底下到系统的环境变量里,原因是他会用到Windows Kits里的函式,不只VS2015
所也必须宣告进去。
INCLUDE=C:\Program Files (x86)\Windows Kits\10\Include\10.0.14393.0\ucrt
LIB=C:\Program Files (x86)\Windows Kits\10\Lib\10.0.14393.0\um\x64;C:\Program Files (x86)\Windows Kits\10\Lib\10.0.10240.0\ucrt\x64
可能Error 4:&接着如果出现以下error
mod.cu(803): warning C4311: 'type cast': pointer truncation from 'CudaNdarray *' to 'long'
mod.cu(3374): warning C4312: 'type cast': conversion from 'long' to 'float *' of greater size
LINK : fatal error LNK1104: cannot open file 'uuid.lib'
增加底下到系统的环境变量path里。
C:\Program Files (x86)\Windows Kits\10\Lib\10.0.14393.0\um\x64
C:\Program Files (x86)\Windows Kits\10\Lib\10.0.14393.0\ucrt\x64
注意:有更改到系统环境变量都须重新登入或是重开机才会生效
最后再执行一次
在winpython环境里再打上python
&&import theano
如果最后出现底下DEBUG字符串,恭喜!代表安装Theano run with GPU成功了
DEBUG: nvcc STDOUT mod.cu Creating library C:/Users/shing/AppData/Local/Theano/compiledir_Windows-10-10.0.10586-SP0-Intel64_Family_6_Model_94_Stepping_3_GenuineIntel-3.5.2-64/tmp1qux40n6/md9b7b5ef5d727b2e8e3d2cc34bb9d0eb.lib and object C:/Users/shing/AppData/Local/Theano/compiledir_Windows-10-10.0.10586-SP0-Intel64_Family_6_Model_94_Stepping_3_GenuineIntel-3.5.2-64/tmp1qux40n6/md9b7b5ef5d727b2e8e3d2cc34bb9d0eb.exp
接着再打上python
&&& import keras
Using Theano backend.
以上也代表Keras也可以正常的工作,并且可以Base on&Theano run with GPU。
接下来我们可以跑一些sample code来实际测试效能。
Theano实际测试:
首先我们在Theano的官网上可以发现有两个测试GPU的sample code:
http://deeplearning.net/software/theano/tutorial/using_gpu.html
我们就来实际跑看看使用CPU及GPU的差别。
如果在winpython想切回使用CPU跑,可以将.theanorc.txt 换成底下
##===.theanorc.txt for CPU
openmp=True
device = cpu
floatX = float64&
allow_input_downcast=True&
cxxflags = -D_hypot=hypot
第一个程序theano1.py
a.使用Intel CPU i7-6700HQ&,约2.488sec
&b.使用GPU 950M 约0.4176 sec &,快了大约6倍。使用940M约0.9秒
第二个程序theano_gpu.py
a.使用Intel CPU i7-6700HQ&,约3.019 sec
&b.使用GPU 950M 只需0.012 sec &,快了大约250倍。使用940M约0.015秒。
第二支程序与第一支程序的差异在于,第一个程序是函数将直接其结果作为NumPy ndarray返回,为了方便,该函数已从设备复制到主机。而第二个程序是将输入从主机复制到GPU,并且优化exp()function的执行。
f = function([], sandbox.cuda.basic_ops.gpu_from_host(T.exp(x)))
Keras实际测试:
首先我们先download keras 的examples.
直接使用git clone 的方式在命令视窗下执行,前提是已经有安装了git tool.
git clone /fchollet/keras.git
切到keras的examples 目录
cd keras/examples/
该目录下有很多已建好的范例可以直接使用,并且都是python 的程序
Keras优点是其模块本身都可以使用Python程序语法自由组建,与caffe不同
使用caffe必须使用它定义类似Json的文档去建构网络架构。这会让你感觉不象是在写
python的程序。
首先直接先执行底下MLP网络范例试看看
python mnist_mlp.py
执行后一开始会出现很多底下DEBUG信息,这并不是错误,暂时可以不用管它,他会继续跑。
[更新] 用以下指令更新Theano 就不会出现DEBUG 信息了
pip install --upgrade --no-deps git+git:///Theano/Theano.git
执行过程及结果如下:60000笔训练资料及10000笔测试资料,Epoch 20,得到accuracy 0.9843
这个使用950M跑的过程不到10分钟,之前用纯CPU跑约1个多小时应该有。
接下来再来跑一个大一点的范例试看看
python&lstm_benchmark.py
一开始都会自动先下载data,这范例的data量很明显比刚刚大多了,到此可以先去喝杯咖啡~
经过多久没仔细计算,底下是跑出来的结果
如果有兴趣安装Pycuda ,也只要执行以下指令即可安装成功及使用,因为
CUDA在之前都已经安装成功了
pip install pycuda
[更新] Tensorflow 已可安装在Windows 上并可使用GPU运算加速
如果上述步骤都安装成功,那么额外再安装Tensorflow 只要按照官网以下的指令即可安装
Tensorflow 成功,并使用GPU运算
pip install --upgrade /tensorflow/windows/gpu/tensorflow_gpu-0.12.1-cp35-cp35m-win_amd64.whl
[更新] 如果遇到以下错误
&can not opened CUDA library cupti64_80.dll locally&
试着将以下路径加入系统环境变量PATH
&C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\extras\CUPTI\libx64
因此Keras 也可以改成Tensorflow 当backend。下图即是用keras 的范例用Tensorflow当backend
来验证安装是否成功。从下图也可以看出可以成功的使用GPU CUDA
更新至Tensorflow R1.0 ,只须执行下列指令
pip3 install --upgrade tensorflow-gpu
必须下载及更新Numpy+mlk,否则上述指令会让Numpy会失去MLK。
更新Kears2.0 :
先用pip uninstall keras &卸载旧的keras
再到底下网址直接下载&()
解压缩档案后:
在解压缩的资料夹里执行:
python setup.py install
测试Tensorflow 及keras version。
(本文已经授作者阿星授权,阿星原文:http://arbu00.blogspot.jp/-windowstheano-keras-gpu.html?m=1)
5.0分&|&2次评分
aysplzp发表时间:
23:32:3296楼
aysplzp发表时间:
23:32:3295楼
aysplzp发表时间:
23:32:3194楼
aysplzp发表时间:
23:32:2993楼
aysplzp发表时间:
23:32:2692楼}

我要回帖

更多关于 tensorflow在windows 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信