|
|
PDNN: A Python Toolkit for Deep Learning | |
---------------------------------------------------------------------------------------------- | |
PDNN is a Python deep learning toolkit developed under the Theano environment. It was originally created by Yajie Miao. Continuous efforts have been made to enrich its features and extend its application. PDNN is released under Apache 2.0, one of the least restrictive licenses available. View on GitHub |
|
Why use PDNN? |
|
---------------------------------------------------------------------------------------------- | |
PDNN implements a complete set of models. Unsupervised learning (SDAs, RBMs), supervised learning (DNN, CNN) and multi-task learning can be conducted within a single framework. PDNN is an easy-to-use toolkit developed with the needs of non-DL reseachers in mind. Training a DNN is as simple as calling the following command. Switching between CPU and GPU is automatic, depending on if GPUs are detected.
PDNN facilitates further development. Hierarchical code organization (commands --> models --> layers) poses nice readability. The Theano environment supports gradient computation. This enables users to focus on algorithm/architecture design, saving the headache of gradient derivation. |
|
Installation |
|
---------------------------------------------------------------------------------------------- | |
1. Install Theano. Refer to the Theano installation for more details. If you are running Ubuntu Linux, following steps in this document will set up Theano for you. 2. Check out the stable version of PDNN from GitHub > git clone https://github.com/yajiemiao/pdnn 3. Add the PDNN path to PYTHONPATH > export PYTHONPATH=/path/to/pdnn:$PYTHONPATH |
|
Examples |
|
---------------------------------------------------------------------------------------------- | |
Examples can be found under pdnn/examples. This example archive will be updated and enriched continuously. At the bottom of each documentation page, you can find the example for each command. |
|
Documentation |
|
----------------------------------------------------------------------------------------------- | |
Some general information about PDNN Data Format and Reading Learning Rate Specification Speed up CNN Training with cuDNN Commands under pdnn/cmds enable general-purpose DL including: 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 |
|
Documentation -- pdnn/cmds2 | |
---------------------------------------------------------------------------------------------- | |
Commands under pdnn/cmds2 are specifically for ASR Training SAT Models for DNNs Generating and Save Convolution Layer Activation Kaldi-formatted Feature Extraction with a Trained Network |
|
Contacting us |
|
---------------------------------------------------------------------------------------------- | |
(Recommended) Post your questions, suggestions, and discussions to GitHub Issues. You can also send emails to Yajie Miao (yajiemiao AT gmail.com) |
|
Reference | |
---------------------------------------------------------------------------------------------- | |
Please cite the following manuscript if you use PDNN in your papers/publications: Yajie Miao, "Kaldi+PDNN: Building DNN-based ASR Systems with Kaldi and PDNN," arXiv:1401.6984, 2014. |