PDNN: 深度学习的一个Python工具箱
PDNN是一个在Theano环境下开发出来的一个Python深度学习工具箱。它由苗亚杰(Yajie Miao)原创。现在仍然在不断努力去丰富它的功能和扩展它的应用。PDNN发布在under Apache 2.0, one of the least restrictive licenses available。
为什么使用PDNN?
PDNN实现了一整套的模型,在这个单一的框架内,无监督学习(SDAs,RBMs),有监督学习(DNN,CNN)和多任务学习都可以实施。
PDNN是一个易于使用的工具箱,developed with the needs of non-DL reseachers in mind。训练一个DNN只需调用如下命令那么简单。在CPU和GPU的转换是自动的,这取决于GPU是否被检测到。
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。更多的细节参考Theano安装。如果你正在运行Ubuntu Linux,在这篇文档中的步骤将会帮你安装Theano。
2. 从GitHub上获取稳定版的PDNN。
> git clone https://github.com/yajiemiao/pdnn
3. 增加PDNN路径到PYTHONPATH
> export PYTHONPATH=/path/to/pdnn:$PYTHONPATH
例子
在pdnn/examples目录下可以找到案例。这些案例文档将会不断地更新和丰富。在每个文档页的底部,你都可以找到每个案例的使用命令。
文档
关于PDNN一些一般的信息见如下链接:
Data Format and Reading
Learning Rate Specification
Speed up CNN Training with cuDNN
在pdnn/cmds目录下的命令能进行一般目的的DL,其中包括:
Training Deep Neural Networks
Training Convolutional Neural Networks
Training Stacked Restricted Boltzmann Machines
Training Stacked Denoising Autoencoders
Multi-task Learning of DNNs
Feature Extraction with a Trained Network
文档—pdnn/cmds2
---------------------------------------------------------------------------------------------------
在目录pdnn/cmds2目录下的命令是特地为ASR准备的
Training SAT Models for DNNs
Generating and Save Convolution Layer Activation
Kaldi-formatted Feature Extraction with a Trained Network
联系他们
---------------------------------------------------------------------------------------------------
(建议)将你的问题,建议和讨论发送到GitHub Issues。你也可以发送emails给 Yajie Miao([email protected])
引用
---------------------------------------------------------------------------------------------------
如果你在你的论文/出版物中使用了PDNN请引用如下稿件:
Yajie Miao, "Kaldi+PDNN: Building DNN-based ASR Systems with Kaldi and PDNN," arXiv:1401.6984, 2014.