如何评价深度学习框架结构每平米造价Keras

后使用快捷导航没有帐号?
查看: 520|回复: 2
python keras (一个超好用的神经网络框架)的使用以及实例
中级会员, 积分 221, 距离下一级还需 279 积分
论坛徽章:5
python keras (一个超好用的框架)的使用以及实例 - 郑梓权 - 博客频道 - CSDN.NET&&
注册会员, 积分 187, 距离下一级还需 13 积分
论坛徽章:3
好东西,感谢,先收藏
注册会员, 积分 135, 距离下一级还需 65 积分
论坛徽章:7Keras深度学习框架配置 - 简书
Keras深度学习框架配置
作者:微博:邮箱:zongweiz@asu.edu
Please cite this
if you found it useful. Thanks!
Wang H, Zhou Z, Li Y, et al. Comparison of machine learning methods for classifying mediastinal lymph node metastasis of non-small cell lung cancer from 18F-FDG PET/CT images[J]. 2017, 7.
---论文引用——3.2 测试平台项目代码是在Windows 7上运行的,主要用到的Matlab R2013a和Python,其中Matlab用于patch的分割和预处理,卷积神经网络搭建用到了根植于Python和Theano的深度学习框架。Keras是基于Theano的一个深度学习框架,它的设计参考了Torch,用Python语言编写,是一个高度模块化的神经网络库,支持GPU和CPU,用起来特别简单,适合快速开发。直接上干货,拒绝走弯路下载一个Anaconda Python Distribution,网址:
无脑安装,一直next
安装完成后,该有的基础包就都有了,安装完anaconda,就相当于安装了Python、IPython、集成开发环境Spyder、一些包等等。然后打开Anaconda Prompt,cd到 .py 文件的路径,输入“python **.py”,注意:这儿和cmd的命令相比多了一个“python”。要是你不加python,会提示错误:拒绝访问。
打开Anaconda Prompt,输入命令,就可以运行py文件了
在打开的Anaconda Prompt的命令行中输入“pip install keras",稍等片刻,keras直接就安装完了,好方便!
pip install keras
再接着输命令“conda install mingw libpython”,多等片刻,MinGW也就安装完了。
解决g++ not detected问题
最近我安装的时候感觉特别慢,有时候根本就没有进度,我怀疑是被墙了。
所以我默默地翻墙了,然后就有进度啦
接下来呢,开始装theano~三步走1. 下载,解压到你电脑的.../Anaconda/Lib/site-packages/theano目录下,注意:原来这个site-packages里面本身就有一个叫做theano的东西,把它删了!替换成压缩包里的文件,并重命名为theano2. 添加环境变量:
path: C:/Anaconda/MinGW/ C:/Anaconda/MinGW/x86_64-w64-mingw32/3. 新建环境变量:
PYTHONPATH: C:/Anaconda/Lib/site-packages/好了,理论上theano也安装成功了,测试一下看~在Anaconda Prompt的命令行中输入“python”,回车,然后输入“import theano”,回车。如果你看到“&&&”三个箭头,没有别的乱七八糟的东西了,就说明:你!安!装!成!功!啦!至此,你已经可以运行keras的神经网络程序了,但是有一个小瑕疵:会警告你cl.exe找不到。你可以不理它,我提供解决方案是去电脑的C盘目录下检索“cl.exe”,会出来几个cl.exe靠谱的路径名是:C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin\x86_amd64当然啰,前提是你电脑里面装了Visual Studio (VS),如果没装的话也没关系,装一下就好了啰。提供VS各个版本的免费下载地址:下载完,把搜索到的cl.exe的路径添加到系统路径Path里头,这个警告就会消失啦~(可选)加速库CuDNN从需要注册账号申请,两三天批准。网盘搜索一般也能找到最新版。Windows目前就是cudnn-7.0-win-x64-v5.0-prod.zip。下载解压出来是名为cuda的文件夹,里面有bin、include、lib,将三个文件夹复制到安装CUDA的地方覆盖对应文件夹,默认文件夹在:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA添加环境变量:
path: C:\Anaconda2;C:\Anaconda2\SCool,整个64位的python·keras就配置完成了,也就是说可以运行你的深度学习代码啰:)至于说找keras的源代码,去里随便挑一个,一般就用mnist_cnn.py。如果你根据“干货”成功地配完了keras,那么就别往下看了,要是没成功,下面就是更加详细的步骤、遇到的错误和对应解决方案。供你参考:)安装python我选择的版本是2.7.11版本,注意了!不要装Python3.5.1,不然后续的深度学习配置各种坑。在Python的官方主页下载Python安装包。下载地址是:
下载2.7.11,不要追求最新的!!
选择64位!选择64位!选择64位!说三遍,不然到时候数据量大了就MemoryError了!
就是因为这个原因我要重新装python了!呵呵
我是Windows 7 64位的机子
当然喽,我当初没有装64位是有原因的,因为在运行mnist手写字体识别的神经网络时出现这个问题,那时我为了图简单,就干脆装了32位的python,哎,现在还得填坑!!!
64位的ImageDataGenerator会报错,但是你最后只要别用这个模块就好啦
在下载完成之后,一直点击下一步就OK了。注意:安装在系统盘!!
这儿选择just for me
在安装完成之后,我们需要手动添加环境变量:鼠标右键我的电脑
-& 属性 -& 点击高级系统设置 -& 点击环境变量 -& 点击PATH -& 在最后面加上我们的Python安装路径 -& 点击确定。反正就是Python27这个文件夹的系统目录我的路径是:C:\\Python27怎么看你有没有装成功咧,打开cmd命令行界面,输入python,返回了版本号,就可以啦
cmd怎么开我就不说了呗~
python安装成功!安装pippip对于python就相当于apple store对于iPhone,是各个包的下载中心,刚刚下完的python相当于一个裸机,需要在pip里面下载一些深度学习需要的包~所以现在我们先下载安装pip。同样需要在Python的官网上去下载,下载地址是:
自动跳转到这儿,下这个好了
下载完,解压到python27文件路径下
解压到这儿
打开,里面有一个setup.py,复制当前路径,在cmd下cd到这儿
C:\\Python27\\pip-8.1.1
到了C:\\Python27\\pip-8.1.1后,输入python setup.py install
就酱,输两行代码
这种情况就是“没有配环境变量”!python安装的时候也一样
--------我是分割线---------当然最近还出现了一个新的错误,就是这个
ImportError: No module named setuptools
要是你没遇到最好,直接跳到下一个分割线,遇到的话解决方法是:直接用浏览器访问地址:,直接打开了get-pip.py的源代码,可以直接把内容拷贝出来,然后在本地创建get-pip.py。就是新建一个txt文档,粘贴内容,重命名成get-pip.py,注意:文件类型改成了.py运行cmd,cd到get-pip.py所在目录(我是C:\\Python27),运行代码:
运行get-pip.py,安装完成:)
--------我是分割线---------按照之前介绍的添加环境变量的方法,我们在PATH最后添加:C:\\Python27\\S然后看看到底pip安装成功了没,在cmd里面输入pip,会出现这个
good for u, 你成功了!
安装深度学习框架keras上面都是基本的准备东西,要是你已经跪在前面了,那。。只能。。自求多福:) 啰,我现在要开始正式讲keras怎么用了!注意一点:python以及keras的所有代码都在cmd界面运行的~我们可以先看看现在python有些什么包,在cmd下输入:pip list
现在有pip,setuptools,wheel这仨
我们需要先安装scipy和numpy这两个包,注意:这两的比较奇葩,用pip安装会给你出来一堆错误,建议用网上的scipy.exe和numpy.exe无脑装,省事儿。你可能在网上会看到whl等格式文件和所谓的去“”安装,我只能忠告一下:不要入坑。。。:)numpy.exe 64位下载地址:scipy.exe 64位下载地址:也许scipy.exe需要注册账号,就提供一下我的这两个exe的百度云链接:、下载完这两个exe,都是无脑安装的,一直摁next即可。然后在cmd下输入“pip list”查看是否安装完,如果成功了是这个界面
阶段性开心一下:)
接下来我介绍pip这个appstore怎么用。也就是一句话的事儿,在cmd中输入:pip install **(你想下载的包),回车就好了,确保有网,就可以自动开始下载安装啰,超级简单的。举例:现在安装完scipy和numpy,我就可以下载安装keras了,就这样
pip install keras
这样keras就成功安装完了。。。调试keras首先,你得有一个卷积神经网络的keras样例代码,一般来说比较推荐minst的,我可以提供,我想这个网站要成为下一步学习的垫脚石了,因为要开始小小地改代码了。
这个网站相当于keras的详细使用文档,是学习keras过程中避不开的参考
有了代码和数据,小改一下数据的路径,然后就开始解决一堆报错的问题了嘿嘿嘿:错误1:sorry, unimplemented: 64-bit mode not compiled in原因:32位的gcc不能编译64位程序。解决方法:下载并安装64位gcc到E:\\MinGW\\bin,需要修改环境变量。(亲测不可行,呵呵)错误2:'g++' is not recognized as an internal or external command.
我就是用我已经安装的codeblocks的g++.exe所在的路径放到环境变量里头就行了
错误3:TypeError: max_pool_2d() got an unexpected keyword argument 'mode'
这个就是keras内部的函数定义的时候形参多了一个“mode”,找到这个函数,把mode='average_exc_pad'这项删了即可;找函数的方法如下图,函数在theano_backend.py这个文件内(C:\\Python27\\Lib\\site-packages\\keras\\backend\\theano_backend.py),用搜索找到pool_out = downsample.max_pool_2d这个位置,把该删的删掉!
这个需要修改一下keras内部的代码~
--------我是分割线---------如果实在遇到的坑太多,就换个方法,要是正常的话直接跳到下一个分割线就好了(额)Anaconda Python Distribution安装下载一个Anaconda Python Distribution,网址:
无脑安装,一直next
安装完成后,该有的基础包就都有了,安装完anaconda,就相当于安装了Python、IPython、集成开发环境Spyder、一些包等等。然后打开Anaconda Prompt,cd到py文件的路径,输入“python **.py”,注意:这儿和cmd的命令相比多了一个python。要是你不加python,会拒绝访问。
打开Anaconda Prompt,输入命令,就可以运行py文件了
然后在打开的Anaconda Prompt命令行中输入“pip install keras",这样keras直接就安装完了,好方便!--------我是分割线---------好了,我们继续填坑。错误4:g++ not detected !前提是我已经将E:\\Program Files (x86)\\CodeBlocks\\MinGW\\bin和lib, include加入系统路径了。呵呵
找不到g++!!!!
:在[Anaconda2] 中输入命令“conda install mingw libpython”
成功解决g++ not detected问题
错误5:Exception: Compilation failed (return status=-)
错误提示长这样
:看不懂,妈的我的解决方法:首先不要用codeblocks的g++.exe,用Anacoda2中自带的MinGW的g++.exe,把这个路径加入环境变量地址是C:\\Users\\Administrator\\Anaconda2\\MinGW\\x86_64-w64-mingw32\\bin,然后呢,错误提示变成了这样
error: CreateProcess: No such file or directory
对于这种错误4,错误5,我要提供一个终极解决方案啦!!!(不能忍了)我们已经安装完Anaconda了,然后现在要重!新!安!装!theano!1. 下载,解压到.../Anaconda/Lib/site-packages/theano(文件里面有个theano的文件夹,拿出来放在E:/Anaconda/Lib/site-packages里面)目录下。2. 添加环境变量:
path: E:/Anaconda/MinGW/E:/Anaconda/MinGW/x86_64-w64-mingw32/(32bit
E:/Anaconda/MinGW/i686-w64-mingw32/)新建环境变量:
PYTHONPATH: E:/Anaconda/Lib/site-packages/
g++.exe,theano这种问题完美解决!收~
至此,我所有的问题都顺利的解决了,你呢?是不是也可以成功地训练你的神经网络了呢?
历时72个小时,终于又看到了这个亲切的画面,开心死了!
写个彩蛋对于64位的Anaconda,如果python要读入MATLAB的数据文件.mat,好像不能再用32位的那句代码了,因为会出现“Python.exe已停止工作”的错误。
sio.loadmat()不好使了
解决方法是换一个读入方法呗~
h5py.File()
这个函数有很多优点哦:1. 可以读入MATLAB Version 7.3 or later (save -v7.3) Variables can exceed 2GB on 64-bit systems ! 这个版本的mat文件能储存的数据量超级大。2. 输入的矩阵就是mat内部存的形式,举例:mat文件里面有一个A(3*2)的变量,sio.loadmat()读入的是一个一维的(1*6)的数组,然后还得reshape()一下变成(3*2)的;h5py.File()直接就读入一个(3*2)的数组。刚刚测试了一下花了我72小时的64·python·keras,真的可以利用的内存爆大诶!!!
你看!导入的训练集14w+,测试集20w+
祝一切顺利~
I received the BSc degree with honors in Computer Science from Dalian University of Technology in 2016. I'm currently a PhD student in the Department of Biomedical Informatics, Arizona State University reported to Dr. Jianming Liang. My research interests lie predominately in the area of Computer Vision, Applied Machine Learning, and Biomedical Informatics.中国领先的IT技术网站
51CTO旗下网站
从TensorFlow到Theano:横向对比七大深度学习框架
来自数据科学公司 Silicon Valley Data Science 的数据工程师 Matt Rubashkin(UC Berkeley 博士)为我们带来了深度学习 7 种流行框架的深度横向对比,希望本文能对你带来帮助。
作者:Matthew Rubashkin来源:| 14:21
在深度学习项目开始前,选择一个合适的框架是非常重要的事情。最近,来自数据科学公司 Silicon Valley Data Science 的数据工程师 Matt Rubashkin(UC Berkeley 博士)为我们带来了深度学习 7 种流行框架的深度横向对比,希望本文能对你带来帮助。
在 SVDS,我们的研发团队一直在研究不同的深度学习技术;从识别图像到语音,我们也在各类框架下实现了不少应用。在这个过程中,我们意识到需要一个简明的方式来获取数据、创建模型、同时评估这些模型的表现。但当我们一次次开始新的深度学习项目时,我们却一直没有找到一个可以参考的标准来告诉自己如何开始。
现在,为了回馈开源社区,同时帮助后来者,我们决定以我们的经验对目前流行的几种工具(Theano、TensorFlow、Torch、Caffe、MXNet、Neon 和 CNTK)进行一次横向对比。以下图表展示了各类深度学习工具的优劣,希望对大家能有所帮助。
先放结论:
这组对比参考了多种公开基准评测,以及我们在图像/语音识别应用时对这些技术的 主观印象。此外,你需要注意:
当你开始一个深度学习项目时,你最好使用一个支持你所会语言的框架。比如 Caffe(C++)和 Torch(Lua)只能支持有限的语言(最近,随着 PyTorch 的出现,情况有所改观)。所以如果你希望选用上述两个框架,我们建议你事先熟悉 C++或 Lua 语言。相比之下,TensorFlow 与 MXNet 具有丰富的多语言支持,即使你对 C++感到陌生也可以使用它们。
教程和资源
目前,各类深度学习框架的教程与可利用的资源在质量和数量上有着显著的不同。Theano,TensorFlow,Torch 和 MXNet 有着很详尽的文档教程,很容易被初学者理解和实现。与此相比,虽然微软的 CNTK 和英特尔的 Nervana Neon 也是强大的工具,我们却很少能见到有关它们的新手级资料。此外,在研究过程中,我们发现 GitHub 社区的参与度不仅可以用于准确地评价不同工具的开发水平,而且还是在搜索 StackOverflow 或 repo 的 Git Issues 时能否快速解决问题的参考性指标。当然,作为谷歌提供的框架,TensorFlow 理所当然地在教程,资源,开发者和社区贡献者的数量上遥遥领先。
CNN 建模能力
卷积神经网络(CNN)经常被用于图像识别、推荐引擎和自然语言识别等方向的应用。CNN 由一组多层的神经网络组成,在运行时会将输入的数据进行预定义分类的评分。CNN 也可用于回归分析,例如构成自动驾驶汽车中有关转向角的模型。在横评中,我们评价一种框架的 CNN 建模能力考虑到以下几个特性:定义模型的机会空间、预构建层的可用性、以及可用于连接这些层的工具和功能。我们发现,Theano,Caffe 和 MXNet 都有很好的 CNN 建模能力。其中,TensorFlow 因为易于建立的 Inception V3 模型,Torch 因为其丰富的 CNN 资源&&包括易于使用的时间卷积集使得这两种框架在 CNN 建模能力上脱颖而出。
RNN 建模能力
循环神经网络(RNN)常用于语音识别,时间序列预测,图像字幕和其他需要处理顺序信息的任务。由于预建的 RNN 模型不如 CNN 数量多,因此,如果你已经有一个 RNN 深度学习项目,优先考虑旧 RNN 模型是在哪种框架里实现的最重要。目前,Caffe 上的 RNN 资源最少,而 Microsoft 的 CNTK 和 Torch 有丰富的 RNN 教程和预构建模型。当然,最流行的 TensorFlow 中也有一些 RNN 资源,TFLearn 和 Keras 中更有很多使用 TensorFlow 的 RNN 示例。
为在特定框架中构建和训练新模型,易于使用和模块化的前端是至关重要的。TensorFlow,Torch 和 MXNet 都有直观而模块化的架构,让开发相对变得简单。相比之下,我们在 Caffe 这样的框架上需要进行大量的工作才能创建一个新层。另外我们发现在开发过程中,因为有 TensorBoard web GUI 等应用的存在,TensorFlow 极易在训练中和训练后进行 debug 和监控。
Torch 和 Nervana 具有开源卷积神经网络基准测试的最佳性能:
/soumith/convnet-benchmarks/blob/master/README.md
Tensorflow 的性能在大多数测试中是具有竞争力的,而 Caffe 和 Theano 稍稍落后:
/tobigithub/tensorflow-deep-learning/wiki/tf-benchmarks
微软声称他们的 CNTK 在一些 RNN 训练任务中有最快的速度。
在另一项对比 Theano、Torch 和 TensorFlow 的 RNN 性能的研究中,Theano 是其中最快的:
https://arxiv.org/abs/
多 GPU 支持
大多数深度学习应用都需要用到巨量的浮点运算(FLOP)。例如,百度的 DeepSpeech 识别模型需要 10s ExaFLOPs 用于训练,这是大于 10e18 的计算量:
https://arxiv.org/abs/
考虑到目前英伟达 Pascal 架构的 TitanX 等顶级显卡可以每秒执行 10e9 FLOP:
/en-us/geforce/products/10series/titan-x-pascal/
因此,假如需要在大型数据集上训练一个新模型&&用单 GPU 机器的话&&可能会需要一个星期之久。为了减少构建模型所需的时间,我们需要使用多 GPU 并联的方式组建自己的机器。幸运的是,上述大部分架构都可以很好地支持多 GPU 运算。其中,据报道 MXNet 有着最好的多 GPU 优化引擎:
/2016/11/mxnet-default-framework-deep-learning-aws.html
Keras 兼容性
Keras 是一个用于快速构建深度学习原型的高级库。我们在实践中发现,它是数据科学家应用深度学习的好帮手。Keras 目前支持两种后端框架:TensorFlow 与 Theano,而且 Keras 再过不久就会成为 TensorFlow 的默认 API:
http://www.fast.ai//keras/
尽管如此,Keras 的作者表示,这一高级库在未来仍会作为支持多种框架的前端存在:
/fchollet/keras/issues/5050#issuecomment-
如果你想要开始深度学习,你应该从评估自己的团队技能和业务需求开始。例如,如果一个以 Python 为中心的团队想开发图像识别的应用程序,你应该使用 TensorFlow,因为它有丰富的资源,较好性能和完整的原型工具。如果一个有 Lua 能力的团队希望将 RNN 大规模应用到生产环境中去,他们则会受益于 Torch 的高速和强大的 RNN 建模能力。
未来,我们将继续讨论在更大规模的应用中这些框架的表现。这些挑战包括多机并联时的多 GPU 优化,多种开源库的兼容性,如 CMU Sphinx 和 Kaldi 等,尽请期待。【编辑推荐】【责任编辑: TEL:(010)】
大家都在看猜你喜欢
头条头条头条头条头条
24H热文一周话题本月最赞
讲师:30086人学习过
讲师:29345人学习过
讲师:88308人学习过
精选博文论坛热帖下载排行
本书取材于各大IT公司历年面试真题(笔试、口试、电话面试、英语面试,以及逻辑测试和智商测试)。详细分析了应聘程序员(含网络、测试等...
订阅51CTO邮刊你正在使用的浏览器版本过低,将不能正常浏览和使用知乎。主题信息(必填)
主题描述(最多限制在50个字符)
申请人信息(必填)
申请信息已提交审核,请注意查收邮件,我们会尽快给您反馈。
如有疑问,请联系
傻丫头和高科技产物小心翼翼的初恋
如今的编程是一场程序员和上帝的竞赛,程序员要开发出更大更好、傻瓜都会用到软件。而上帝在努力创造出更大更傻的傻瓜。目前为止,上帝是赢的。个人网站:。个人QQ群:、
个人大数据技术博客:
人生得意须尽欢,莫使金樽空对月。}

我要回帖

更多关于 框架结构每平米造价 的文章

更多推荐

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

点击添加站长微信