win7上安装theano keras深度学习框架
近期在学习深度学习,需要在本机上安装keras框架,好上手。上网查了一些资料,弄了几天今天终于完全搞好了。本次是使用GPU进行加速,使用cpu处理的请查看之前的随笔keras在win7下环境搭建
本机配置:win7 64位的,4G内存,gtx970显卡
安装条件:
vs2010(不一定非要是vs2010,恰好我有vs2010,应该是配置GPU编程时需要用到vs的编译器)
cuda如果系统是64位的就下载64位,至于cuda的版本,有的说要和对应的显卡版本匹配,我就安装了8.0,实验来看,cuda版本和显卡型号貌似关系不是很大。
cudnn是深度学习进行加速的。不是必选,但是有的话以后运行效率会高很多。版本什么的一定要配套。
前面的过程和使用cpu计算是相同的。请参考之前随笔。keras在win7下环境搭建
之前的步骤处理完之后,
1 安装VS2010,只选择装C++语言就够。
2 安装cuda 安装Cuda8,安装的时候,选择“自定义安装”,安装全部功能,还有要安装到默认位置最好,安装很简单,可能需要点时间。
安装完后,打开环境变量应该会多出来2个变量,CUDA_PATH_V6_5和CUDA_PATH.
打开cmd控制台命令行,输入命令nvcc –V回车(注意是大写V)就可以查看版本信息,如果安装正确会显示Cuda的版本号。
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2016 NVIDIA Corporation
Built on Sat_Sep__3_19:05:48_CDT_2016
Cuda compilation tools, release 8.0, V8.0.44
3 修改配置.theanorc.txt,如下:
[global]
openmp=False
device = gpu0
floatX = float32
allow_input_downcast=True
[lib]
cnmem = 1
[blas]
ldflags=
[gcc]
cxxflags=-ID:\Anaconda2\MinGW #此处是gcc的路径
[nvcc]
flags = -LD:\Anaconda2\libs #此处是Anaconda的路径
compiler_bindir = D:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin #此处一定要和你安装的VS的路径保持一致,如果是默认安装的,应该是C:\Program Files(x86)\Microsoft Visual Studio 10.0\VC\bin
fastmath = True
注意:网上有的配置文件中没有[lib]这个块,后面导入theano时会出现CNMeM is disabled提示。
4 安装cudnn
将下载来的文件解压,解压出cuda文件夹,里面包含3个文件夹。将设三个文件夹替换掉系统里面的对应文件,进行覆盖替换即可。C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0
注意:如果没有覆盖掉后面导入theano时会出现CuDNN not available提示。
5 切换后端,因为我用的是theano,而keras默认使用tensorflow。切换方法有英文资料
Switching from one backend to another
If you have run Keras at least once, you will find the Keras configuration file at:
~/.keras/keras.json
If it isn't there, you can create it.
The default configuration file looks like this:
{
"image_dim_ordering": "tf",
"epsilon": 1e-07,
"floatx": "float32",
"backend": "tensorflow"
}
Simply change the field backend to either "theano" or "tensorflow", and Keras will use the new configuration next time you run any Keras code.
照着做就行了。
6 此时正常来说应该就可以了,进行一下测试。测试代码如下
测试1,在cmd命令窗口下输入
>>> import theano
DEBUG: nvcc STDOUT nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' archite
ctures are deprecated, and may be removed in a future release (Use -Wno-deprecat
ed-gpu-targets to suppress warning).
nvcc warning : nvcc support for Microsoft Visual Studio and earlier has bee
n deprecated and is no longer being maintained
mod.cu
support for Microsoft Visual Studio has been deprecated!
正在创建库 C:/Users/allen/AppData/Local/Theano/compiledir_Windows--6.1.-
SP1-Intel64_Family_6_Model_60_Stepping_3_GenuineIntel-2.7.-/tmp1wscvx/265abc
51f7c376c224983485238ff1a5.lib 和对象 C:/Users/allen/AppData/Local/Theano/compil
edir_Windows--6.1.-SP1-Intel64_Family_6_Model_60_Stepping_3_GenuineIntel-.
7.12-/tmp1wscvx/265abc51f7c376c224983485238ff1a5.exp Using gpu device : GeForce GTX (CNMeM is enabled with initial size: 95.0% o
f memory, cuDNN )
from theano import function, config, shared, sandbox
import theano.tensor as T
import numpy
import time vlen = * * # x #cores x # threads per core
iters = rng = numpy.random.RandomState()
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')
DEBUG: nvcc STDOUT nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
nvcc warning : nvcc support for Microsoft Visual Studio 2010 and earlier has been deprecated and is no longer being maintained
mod.cu
support for Microsoft Visual Studio 2010 has been deprecated!
���ڴ����� C:/Users/allen/AppData/Local/Theano/compiledir_Windows-7-6.1.7601-SP1-Intel64_Family_6_Model_60_Stepping_3_GenuineIntel-2.7.12-64/tmpmdncsl/265abc51f7c376c224983485238ff1a5.lib �Ͷ��� C:/Users/allen/AppData/Local/Theano/compiledir_Windows-7-6.1.7601-SP1-Intel64_Family_6_Model_60_Stepping_3_GenuineIntel-2.7.12-64/tmpmdncsl/265abc51f7c376c224983485238ff1a5.exp Using gpu device 0: GeForce GTX 970 (CNMeM is enabled with initial size: 95.0% of memory, cuDNN 5005)
[GpuElemwise{exp,no_inplace}(<CudaNdarrayType(float32, vector)>), HostFromGpu(GpuElemwise{exp,no_inplace}.0)]
Looping 1000 times took 0.572000 seconds
Result is [ 1.23178029 1.61879349 1.52278066 ..., 2.20771813 2.29967761
1.62323296]
Used the gpu 如果显示使用GPU则一切正常。
win7上安装theano keras深度学习框架的更多相关文章
- Keras深度学习框架安装及快速入门
1.下载安装Keras 如果你是安装的Anaconda组合套件,可以直接在Prompt上执行安装命令:pip install keras 注意:最下面为Successfully...表示安装成功! 2 ...
- 28款GitHub最流行的开源机器学习项目,推荐GitHub上10 个开源深度学习框架
20 个顶尖的 Python 机器学习开源项目 机器学习 2015-06-08 22:44:30 发布 您的评价: 0.0 收藏 1收藏 我们在Github上的贡献者和提交者之中检查了用Python语 ...
- 推荐GitHub上10 个开源深度学习框架
推荐GitHub上10 个开源深度学习框架 日前,Google 开源了 TensorFlow(GitHub),此举在深度学习领域影响巨大,因为 Google 在人工智能领域的研发成绩斐然,有着雄厚 ...
- 解析基于keras深度学习框架下yolov3的算法
一.前言 由于前一段时间以及实现了基于keras深度学习框架下yolov3的算法,本来想趁着余热将自己的心得体会进行总结,但由于前几天有点事就没有完成计划,现在趁午休时间整理一下. 二.Keras框架 ...
- 基于Theano的深度学习框架keras及配合SVM训练模型
https://blog.csdn.net/a819825294/article/details/51334397 1.介绍 Keras是基于Theano的一个深度学习框架,它的设计参考了Torch, ...
- win7上python+theano+keras安装
https://blog.csdn.net/yongjiankuang/article/details/50485610 其实过程很简单,首先说一下安装条件: 1.win7 (32和64都可以,下载安 ...
- 基于Windows,Python,Theano的深度学习框架Keras的配置
1.安装Anaconda 面向科学计算的Python IDE--Anaconda 2.打开Anaconda Prompt 3.安装gcc环境 (1)conda update conda (2)cond ...
- Keras深度学习框架之损失函数
一.损失函数的使用 损失函数[也称目标函数或优化评分函数]是编译模型时所需的两个参数之一. model.compile(loss='mean_squared_error', optimizer='sg ...
- 深度学习框架比较TensorFlow、Theano、Caffe、SciKit-learn、Keras
TheanoTheano在深度学习框架中是祖师级的存在.Theano基于Python语言开发的,是一个擅长处理多维数组的库,这一点和numpy很像.当与其他深度学习库结合起来,它十分适合数据探索.它为 ...
随机推荐
- 重装上了Fedora8自带的MySQL5.0.45,再试,告捷!!
MySql服务器IP是192.168.0.104,测试连接的笔记本IP为192.168.0.100. 以下命令说明两台机器的网络连接是通畅的: [root@bogon bin]# ping 192.1 ...
- 安全删除U盘或其他硬件 unlocker的使用方法
1 假如我在优盘里新建一个文档,并且正在读写文件. 点击右下角的安全删除的时候弹出如下对话框. 2 在该优盘上右击,Unlocker,弹出的对话框显示NOTEPAD.EXE正在使用. 3 在确保左侧是 ...
- 记dynamic的一个小坑 -- RuntimeBinderException:“object”未包括“xxx”的定义
创建一个控制台程序和一个类库, 在控制台创建一个匿名对象.然后再在类库中訪问它.代码例如以下: namespace ConsoleApplication1 { class Program { stat ...
- shapefile文件的符号化问题
我们都知道,ArcGIS的shp文件只以坐标形式保存地图数据,地图的显示方法则是存储都数据库或地图文件(mxd)中,这一点是深信不疑的. 如果我们打开ArcMap,新建一个普通的地图文件(使用标准的模 ...
- eclipse导入web项目各种错误
1.JavaWeb:报错信息The superclass "javax.servlet.http.HttpServlet" was not found on the Java Bu ...
- cocos2d 重写顶点着色语言
bool CCShaderSprite::initWithFile( const char *pszFilename ) { bool ret=false; do { ret=CCSpri ...
- SVN mime-type 笔记
背景: 1.最近使用执行svn diff的时候发现有些文本文件无法显示: 2.浏览器会通过判断获取文件的 MIME 类型, 调用不同的客户端程序或使用不同的方式来执行.如果文件的 MIME 缺失或者有 ...
- PHPCMS V9 加密规则
PHPCMS V9 加密规则 相关表:v9_admin 加密方式: md5(md5(password)+encrypt) 第一步:对输入的密码32位小写 MD5 对输入的密码进行trim过滤 第二 ...
- vue单文件(sfc)编译为js的流程
1.流程 2.参考文章地址 https://segmentfault.com/a/1190000012336392 3.Vue框架的parseComponent https://github.com/ ...
- 原创Oracle数据泵导出/导入(expdp/impdp)
//创建目录 create Or Replace directory dpdata1 as 'd:\test\dump'; //赋予读写权限 grant read,write on directory ...