Cntk学习日志(一)
微软在二月开源了自己的深度学习框架cntk,以便于更多的开发者可以更快的架构神经网络以完成深度学习,我的一位导师对其寄予很大期望和信心,他认为这个框架可以完成:
以下都是随便举的例子,如有不适请忽略:
·比如根据识别妹子的 语音,给妹子打分(萌妹子值99%,or 腐女70%)。
·比如水果识别,药品 识别,扫一扫就知道这是什么水果,含有那些维生素,或药品说明书。
·比如根据用户上传的 图片,识别出图片里的各种东西,根据图片里的东西编一个故事。
一切学习都要从配置环境开始。首先我们要在github上下载cntk的最新发行版本https://github.com/Microsoft/CNTK/releases。这款框架支持linux和windows版本,同时微软称其可以用gpu来提升速度,但需要用到cuda并行计算,所以想用gpu运行需要显卡为N卡,由于我是a卡,所以第一次我下载的是这个版本CNTK-2016-02-08-Windows-64bit-CPU-Only.zip,但其中Multigpu.cntk这个附带的demo无法正常运行,后来得知这个版的的此demo是专为gpu并行运算提供的demo,我比较推荐使用这个版本的CNTK-2016-02-08-Windows-64bit-GPU-1bit-SGD.zip cntk因为此版本看起来兼容性更高只要不更改参数依旧可以只是用cpu来跑demo,不会出现错误。下载完包之后应该配置两个环境变量ACML_FMA=0(这个环境变量好像和cpu多线程有关),Path到你的cntk,这个变量只是为了用命令行时使用cntk更方便,还应该安装一个mpi,因为cntk对于cpu多线程要求较高没有mpi有些demo无法运行。
安装完以上之后就可以试一试跑跑cntk压缩包中example文件夹中附带的demo,Other/Simple2d/这个demo是用来合成二维数据的,运行起来也相对简单,应该先进入命令行模式,进入Other/Simple2d/config文件夹,然后输入命令:cntk configFile=Simple.cntk,就可以运行此demo运行完成后将会产生output/model文件夹,在这个文件夹中会有几个深层神经网络文件,如果你对于此比较好奇,可以下载dot.exe,然后更改Simple.cntk文件,command = Simple_Demo_Train:Simple_Demo_Test这条命令变更为command = Simple_Demo_Train:Simple_Demo_Test:topoplot
然后在文件最下端添加
topoplot = [
action = "plot"
#这行命令是你所生成的神经网络的路径 modelPath="D:\CNTK\cntk\Examples\Other\Simple2d\Output\Models\Simple.dnn"
#生成dot文件
outputdotFile = "Output\lstm.model.dot"
#输出dot文件的位置
outputFile="Output\lstm.model.jpg"
#这行命令为你所下载的dot.exe文件路径加要生成图像的dot文件和图像的名称
renderCmd="D:\CNTK\cntk\cntk\dot\bin\dot.exe -Tjpg <IN> -Output\lstm.model.dot<OUT>-Output\lstm.model.jpg"
]
再次运行cntk configFile=Simple.cntk就会得到一张大概的神经网络图像以便于观察。
*文章未完,图为生成的神经网络图,由于笔者是小白,如文章有误,多谢指正。