win10下vs2015+python3+theano+keras+cuda8.0安装教程

本次安装教程vs2015,python,theano,keras,cuda均正确安装,但是无法使用gpu加速,各种配置均试过,均失败,还希望有热心博友帮忙解答


1. 安装vs2015及以下版本 将c++有关选项选中安装完毕 CUDA需要C++的编译器,Windows下可以使用Visual C++,我们可以直接下载其官网推荐的Visual Studio。

2. 安装CUDA CUDA是nvidia提供可以使用C++进行GPU编程的接口,其官方下载地址为https://developer.nvidia.com/cuda-downloads,最新版本为8.0。

3. 配置系统环境变量 CUDA和VS2015直接下载安装就好,并不需要设置,安装好后先添加系统环境变量 C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE

4. 检查cuda是否安装好 我们可以运行CUDA提供的例子来判断CUDA是否安装好了,打开C:\ProgramData\NVIDIA Corporation\CUDA Samples\v8.0\1_Utilities\deviceQuery 直接在vs2015运行 deviceQuery.cpp,可以看到自己的显卡设备信息,这样CUDA就安装好了(如果vs2015直接退出的话,在代码结束前末尾加system(“pause”);

5. 安装Anaconda3 windows下有很多python科学计算的发行版工具包,我直接用的Anaconda ,其安装简单方便,官方下载地址为https://www.continuum.io/downloads,我用的python3.x的版本(即Anaconda3),直接下载安装包安装就好。

如何查看已安装的库
打开 Anaconda Command Prompt ,在命令提示符窗口中输入以下命令:`pip list` 或者`conda list`,
其中,`pip list` 只能查看库,而 `conda list` 则可以查看库以及库的版本

1. 如何安装或更新库

以安装 更新 scipy 为例
pip install scipy
pip install scipy --upgrade
或者
conda install scipy
conda update scipy

2.更新所有库
conda update --all

3.更新 conda 自身
conda update conda

4.更新 anaconda 自身
conda update anaconda

6. 安装mingw和libpython,当使用python3.x的Anaconda时只能正常安装mingw,libpython并不能安装成功,会出现错误 这是因为libpython只支持到python3.4.x,而Anaconda3默认的环境是python3.5.2 因此需要以下步骤:


  • 新建一个环境 命令行输入:
C:\Users\lee>cd C: \Users\lee \Anaconda3\Scripts  
C: \Users\lee \Anaconda3\Scripts>conda create -n python34 python=3.4.4

有关新建环境地具体教程可参照这个网址http://www.jianshu.com/p/d2e15200ee9b

  • 启动环境
activate python34
  • 列出所有环境(被激活的环境会带一个*)
conda info -e
  • 安装theano+keras方法 在以上安装新的环境下,激活新的环境变量的方法是active python34
    1. 安装mingw 和 libpython conda install mingw libpython
    2. 直接安装theano会出现错误,由于缺少vs编译器,先安装以下 conda install scipy -n python34
    3. 安装theano pip install theano
    4. 安装keras pip install keras
    5. 如果想使用ipython,需要在新的环境下安装ipyhon conda install ipython
    6. 配置Theano 在个人主文件夹下新建一个“.theanorc.txt”的文档,例如我的在C:\Users\lee,该文档如何配置参考http://deeplearning.net/software/theano/library/config.html
[global]  
floatX=float32  
device=gpu  
optimizer=fast_compile  
optimizer_including=cudnn # if you have successfully installed cudnn, otherwise remove it.  
[lib]  
cnmem=0.8  
[blas]  
ldflas=-lopenblas  
[nvcc]  
--flags=-LC:\Users\lee\Anaconda3\envs\python34\libs  
--compiler_bindir=C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\amd64
fastmath=True  
flags=-D_FORCE_INLINES  
[cuda]  
root = -LC:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0

运行结果 参考http://deeplearning.net/software/theano/tutorial/using_gpu.html里面的python测试脚本

from theano import function, config, shared, sandbox  
import theano.tensor as T  
import numpy  
import time  

vlen = 10 * 30 * 768  # 10 x #cores x # threads per core  
iters = 1000  

rng = numpy.random.RandomState(22)  
x = shared(numpy.asarray(rng.rand(vlen), config.floatX))  
f = function([], T.exp(x))  
print(f.maker.fgraph.toposort())  
t0 = time.time()  
for i in range(iters):  
    r = f()  
t1 = time.time()  
print("Looping %d times took %f seconds" % (iters, t1 - t0))  
print("Result is %s" % (r,))  
if numpy.any([isinstance(x.op, T.Elemwise) for x in f.maker.fgraph.toposort()]):  
    print('Used the cpu')  
else:  
    print('Used the gpu')  

直接运行,会报错

UnicodeDecodeError: 'utf-8' codec can't decode byte 0xd5 in position 11: invalid continuation byte  

这是因为掉用nvcc返回的字符串是使用的cwindows默认的默认编码,把源码出错的地方改为 *.decode(“GBK”)就可以. 需要修改的源码的位置: Anaconda3/envs/python34/lib/site-packages/theano/compat/init.py 第46行左右 yield x.decode()改为yield x.decode(“GBK”)


下次使用

下次使用的时候,就可以先active境变量名称,然后就可以使用了

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏沈唁志

在PhpStorm中使用PSR2编码规范phpcbf脚本自动修正代码格式

团队开发约定使用PSR-2的编码风格规范,但是并不是所有人都严格按照PSR-2来提交代码的

72350
来自专栏FreeBuf

病毒分析 | 一只“蜗牛”偷梁换柱,靠锁主页进行牟利

一、概述 众所周知,导航推广、淘宝客劫持可以给渠道商带来巨大的利益,使得木马病毒制造者纷纷变成推广渠道商。一些聪明的病毒制造者利用锁页生成器,以“造福”推广技术...

33680
来自专栏企鹅号快讯

Docker镜像扫描器的实现

Docker镜像简介 这篇文章算抛砖引玉,给大家提供一些简单的思路。 首先要做Docker镜像扫描,我们必须要懂Docker镜像是怎么回事。 ? Docker镜...

64450
来自专栏龙首琴剑庐

Manjaro安装配置

0. 安装 # 启动时选择第二项boot(non-free),Manjaro自带的驱动精灵会帮你安装好所需驱动,笔记本双显卡则会帮你安装bumblebee d...

1.3K50
来自专栏圣杰的专栏

eShopOnContainers 知多少[3]:Identity microservice

通常,服务所公开的资源和 API 必须仅限受信任的特定用户和客户端访问。那进行 API 级别信任决策的第一步就是身份认证——确定用户身份是否可靠。

14220
来自专栏比原链

剥开比原看代码05:如何从比原节点拿到区块数据?

Gitee地址:https://gitee.com/BytomBlockchain/bytom

8110
来自专栏xingoo, 一个梦想做发明家的程序员

记录安装oracle的那些事(四)之oracle 缺包安包

解决缺包: pdksh-5.2.14问题 这次最后少一个包是  pdksh-5.2.14  这个包系统自己是安装不上的,只好从CSDN上下载下来 因为是 rar...

24670
来自专栏NetCore

Do You Kown Asp.Net Core -- Asp.Net Core 2.0 未来web开发新趋势 Razor Page

Razor Page介绍 前言     上周期待已久的Asp.Net Core 2.0提前发布了,一下子Net圈热闹了起来,2.0带来了很多新的特性和新的功能,...

35760
来自专栏大学生计算机视觉学习DeepLearning

2018最新win10 安装tensorflow1.4(GPU/CPU)+cuda8.0+cudnn8.0-v6 + keras 安装CUDA莫名失败 导入tensorflow失败报错问题解决

原文链接:https://www.cnblogs.com/DOMLX/p/9747019.html

65120
来自专栏张善友的专栏

在 Windows Phone上使用QQConnect OAuth2

QQ互联OAuth2.0 .NET SDK 发布以及网站QQ登陆示例代码 这篇文章讲述的普通的ASP.NET站点上使用QQ互联,本篇文章主要介绍在Windows...

22260

扫码关注云+社区

领取腾讯云代金券