在之前写的一文“关于PDNN、Theano、Numpy以及Scipy的安装”中介绍了Theano的安装,

下面简单的介绍一下PDNN的安装与使用,哎,这个从学习的角度来讲自己亲自动手实现一遍深度学习中的算法,

这个当然是最好了,不过目前嘛用一下toolkit也不算大错吧,何况搞编程的不是说不能重复造轮子么。

具体安装方法在官网上有,http://www.cs.cmu.edu/~ymiao/pdnntk.html,我在这而就当一个搬运工罢了。

感兴趣的可以来看看。

为什么使用PDNN?

------------------------------------------------------------------别人叫这个叫做分割线

PDNN实现了一整套的(深度学习)模型。包括有无监督的学习(SDAs,RBMs),

监督学习(DNN,CNN)和多任务的学习都可以在这个单一的框架内实现。

PDNN是在考虑非DL研究人员的需要开发出一种易于使用的工具包。

训练一个深度学习的模型正如调用下面的命令那样简单。

在CPU和GPU之间的转换是自动进行的,这取决于GPUs是否检测到存在。

python pdnn/cmds/run_DNN.py --train-data "train.pickle.gz,partition=600m,random=true" \
--valid-data "valid.pickle.gz,partition=600m,random=true" \
--nnet-spec "784:1024:1024:1024:1024:1024:1901" \
--wdir ./ --param-output-file dnn.mdl

(我居然把上面的哪个例子直接拿来用,真是见鬼了,上面那个例子只是示范,不能真正运行)

PDNN也有利于进一步的开发。层次化的代码组织(commands->models->layers)具有很好的可读性。

Theano的安装环境支持梯度计算。这使得用户能够将精力集中在算法/结构的设计上,而不是被令人头疼的梯度求导所困扰。

(多一句嘴,确实,在搞这些机器学习算法的时候,大多需要进行优化计算以寻找到最优的参数,而最优化问题目前还是梯度法用的最多)

安装

-------------------------------------------------------------------------------分割线又来了

1. 安装Theano。

2. 检查GitHub上PDNN的稳定版本。

git clone https://github.com/yajiemiao/pdnn

export PYTHONPATH=/path/to/pdnn:$PYTHONPATH

这个PDNN应该算是python的第三方库,由于我对python不熟练,

在bash下,运行echo $PYTHONPATH,发现啥都没有,然后懵逼了,死活不知道怎么搞着pdnn路径

后来还是搞清楚了,上面的第三局还是照常执行,然后效果要在python中看,如下图

PDNN安装与使用-LMLPHP

05-11 22:19