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(yajiemiao@gmail.com)

引用

---------------------------------------------------------------------------------------------------

如果你在你的论文/出版物中使用了PDNN请引用如下稿件:

Yajie Miao, "Kaldi+PDNN: Building DNN-based ASR Systems with Kaldi and PDNN," arXiv:1401.6984, 2014.

PDNN: 深度学习的一个Python工具箱的更多相关文章

  1. 一个可扩展的深度学习框架的Python实现(仿keras接口)

    一个可扩展的深度学习框架的Python实现(仿keras接口) 动机 keras是一种非常优秀的深度学习框架,其具有较好的易用性,可扩展性.keras的接口设计非常优雅,使用起来非常方便.在这里,我将 ...

  2. [深度学习]实现一个博弈型的AI,从五子棋开始(1)

    好久没有写过博客了,多久,大概8年???最近重新把写作这事儿捡起来……最近在折腾AI,写个AI相关的给团队的小伙伴们看吧. 搞了这么多年的机器学习,从分类到聚类,从朴素贝叶斯到SVM,从神经网络到深度 ...

  3. [深度学习]实现一个博弈型的AI,从五子棋开始(2)

    嗯,今天接着来搞五子棋,从五子棋开始给小伙伴们聊AI. 昨天晚上我们已经实现了一个五子棋的逻辑部分,其实讲道理,有个规则在,可以开始搞AI了,但是考虑到不够直观,我们还是顺带先把五子棋的UI也先搞出来 ...

  4. 深度学习 + OpenCV,Python实现实时视频目标检测

    使用 OpenCV 和 Python 对实时视频流进行深度学习目标检测是非常简单的,我们只需要组合一些合适的代码,接入实时视频,随后加入原有的目标检测功能. 在本文中我们将学习如何扩展原有的目标检测项 ...

  5. 【神经网络与深度学习】【python开发】caffe-windows使能python接口使用draw_net.py绘制网络结构图过程

    [神经网络与深度学习][python开发]caffe-windows使能python接口使用draw_net.py绘制网络结构图过程 标签:[神经网络与深度学习] [python开发] 主要是想用py ...

  6. MINIST深度学习识别:python全连接神经网络和pytorch LeNet CNN网络训练实现及比较(三)

    版权声明:本文为博主原创文章,欢迎转载,并请注明出处.联系方式:460356155@qq.com 在前两篇文章MINIST深度学习识别:python全连接神经网络和pytorch LeNet CNN网 ...

  7. 2020年12月18号--21号 人工智能(深度学习DeepLearning)python、TensorFlow技术实战

    深度学习DeepLearning(Python)实战培训班 时间地点: 2020 年 12 月 18 日-2020 年 12 月 21日 (第一天报到 授课三天:提前环境部署 电脑测试) 一.培训方式 ...

  8. [深度学习]实现一个博弈型的AI,从五子棋开始

    好久没有写过博客了,多久,大概8年???最近重新把写作这事儿捡起来……最近在折腾AI,写个AI相关的给团队的小伙伴们看吧. 搞了这么多年的机器学习,从分类到聚类,从朴素贝叶斯到SVM,从神经网络到深度 ...

  9. 2021年1月15日【深度学习DeepLearning(python)实战班】

    深度学习网络课程QQ群群号: 1057802989(加群备注:杨春娇邀请) 强化学习QQ交流群群号: 872395038(加群备注:杨春娇邀请)

随机推荐

  1. 给你的博客加上“Fork me on Github”彩带(转)

    给你的博客加上“Fork me on Github”彩带 https://www.cnblogs.com/Leo_wl/p/3608794.html https://github.blog/2008- ...

  2. CSS:关于CSS Hack

    CSS Hack由于不同厂商的浏览器,如Internet Explorer,Safari,Mozilla Firefox,Chrome 等,或者是同一厂商的浏览器的不同版本,如IE6和IE7,对CSS ...

  3. POJ 3006 Dirichlet's Theorem on Arithmetic Progressions (素数)

    Dirichlet's Theorem on Arithmetic Progressions Time Limit: 1000MS   Memory Limit: 65536K Total Submi ...

  4. SVN 使用学习记录

    一.基本SVN操作 安装了SVN之后,在本机上点击右键,就能够看到如下信息: 1.建立SVN Repository 下面来建立一个SVN Repository.这个文件夹是同步用的,你可以放在本机的任 ...

  5. RabbitMQ消息队列(三):任务分发机制[转]

    在上篇文章中,我们解决了从发送端(Producer)向接收端(Consumer)发送“Hello World”的问题.在实际的应用场景中,这是远远不够的.从本篇文章开始,我们将结合更加实际的应用场景来 ...

  6. ios 利用UIScrollView实现图片缩放

    前言:我们希望做出的效果是,实现图片的分页滑动,且每张图片都可以双击或用手指捏合来缩放大小.上一篇讲解UIGestureRecognizer的中,我们介绍的UIPinchGestureRecogniz ...

  7. vscode自定义背景颜色

    vscode自定义背景颜色   大概做前端的builder(只会打代码的才是coder,嘻嘻~)一半以上都会使用vscode编辑代码吧,vscode很轻量,支持的文件拖拽加入编辑区功能我个人认为很方便 ...

  8. php json的相关操作

    类与json <?php class userinfo { var $user_name; var $user_ip; var $user_logintime; } $u = new useri ...

  9. SD卡WAV音乐播放器(quartus11.0)(FAT32)(DE2-115)

    准备工具:格式工厂,Windows录音机,SD卡(小于等于2G),音箱 首先,选一首MP3,用格式工场转化成WAV格式.可以看到转化后的文件变得很大,因为WAV就是AD采样值加个文件头,所以数据量巨大 ...

  10. [na][QoS]cisco3560限速配置案例-收集于网工泡泡

    网络中常用到这些:CISCO和H3C-MAC过滤+端口限速+端口镜像+端口隔离 不同的方式不同的思想:嘎嘎 其他各个厂商的限速链接:http://pan.baidu.com/s/1hrIMoSG 密码 ...