Pylearn2:一个基于Theano的机器学习库

pylearn2

Pylearn2是一个基于Theano的机器学习库,它的大部分功能是基于Theano顶层实现的。这意味着用户可以用数学表达式去编写Pylearn2插件(新模型、算法等),Theano不仅会帮助用户优化这些表达式,并且将这些表达式编译到CPU或者GPU中。

功能特性

  • 研究人员可以添加他们所需要的功能。我们避免提前设置过多自上而下的计划,这样容易导致用户难以使用。
  • 一个实现高效科学实验的机器学习工具箱。
  • LISA实验室发布的所有模型/算法都应该在Pylearn2中具有引用说明。
  • Pylearn2可能会引用其他库,如scikit-learn。
  • Pylearn2与scikit-learn的不同之处在于Pylearn2旨在提供极大的灵活性,使得研究人员可以自行实现任何事情。而scikit-learn旨在作为一个“黑箱”,即使用户对算法底层实现没有了解也可以输出实验结果。
  • 包括了矢量,图像,视频等数据集接口。
  • 一个针对普通MLP/RBM/SDA/卷积实验所有需要内容的小型框架。
  • 易于重复使用Pylearn2的子组件。
  • 使用Pylearn2库的一个子组件不会强制用户使用/学习使用所有其他子组件,用户可以自行选择。
  • 支持跨平台序列化学习模型。
  • 十分简单易用(蒙特利尔大学的IFT6266)。

下载与安装

目前没有PyPI安装包,所以Pylearn2不能用pip命令来进行安装。用户必须使用如下命令从GitHub上下载:

为了让Pylearn能够在用户安装的Python中使用,请在pylearn2顶层目录中执行如下命令:

用户可能需要使用sudo来以管理员身份执行这条命令。如果您无法获得该权限(或者因为任何原因不能添加Pylearn2到site-packages中),您可以使用如下命令来安装在user site-packages directory中的相应链接。

您还可以使用其他安装方式,可以将安装目录添加到本地PYTHONPATH环境变量中来安装Pylearn2。

数据存储路径

在一些教程或者测试中,用户需要设置PYLEARN2_DATA_PATH变量。在Linux系统中,最好的方式是将下面这行代码添加到~/.bashrc文件中:

请注意上面只是一个例子,如果用户不在LISA lab中,则需要选择本地文件系统中有效的目录路径。尽量选择方便您存储数据的目录。

其他方法

Vagrant(任何操作系统)

Pylearn2 in a box使用Vagrant能够很容易地创建出一个安装Pylearn2和所需包的虚拟机。

快速开始

pylearn2/scripts/tutorials/grbm_smd/目录中包含了一个如何使用pylearn2训练模型的例子。 在这个模型中,一共分为三个步骤。首先,我们创建一个预处理后的数据集并将它存储在文件系统中。接着在这些数据集上使用train.py脚本来训练模型。最后我们可以检验模型,了解模型学习实验是如何运行的。

第一步:创建数据集

在grbm_smd目录中,执行下列语句:

创建数据集需要消耗一些时间。

第二步:训练模型

在grbm_smd目录中,执行下列语句:

这条命令执行后会生成一个cifar_grbm_smd.pkl的文件。

第三步:检验模型

在grbm_smd目录中,执行下列语句:

执行这条命令后,一个包含过滤器的窗口将会出现。 现在关闭这个窗口,执行下列语句:

命令执行后会弹出一个简单的界面,将训练模型过程中跟踪的不同数据进行了可视化。尝试输入b,L,M并按回车键显示目标函数和重建误差的图像。完成后,关闭图像并输入q退出。

其它相关库

  • 使用Pylearn需要依赖于Theano和其他依赖库。
  • 大多数功能需要用到PyYAML。
  • 一些与图像相关的功能需要用到PIL。
  • 一些画图功能需要用到matplotlib.
  • 还有一些可选库供用户选择。

文档

社区与开发者

  • 如果用户想要和其他用户进行讨论或者需要咨询问题,可以在pylearn-users进行发布。
  • 如果想要获取最新更新的邮件通知,可以登录pylearn2-github
  • 开发者手册 – 如何加入Pylearn2的开发者行列。

开发资源链接

官方网站:http://deeplearning.net/software/pylearn2
开源地址:https://github.com/lisa-lab/pylearn2

1 4 收藏

资源整理者简介:赵叶宇

Python技术学习者,主要集中数据分析领域和机器学习。 个人主页 · 贡献了7个资源 · 1


直接登录
最新评论

推荐关注

按分类快速查找

关于资源导航
  • 伯乐在线资源导航收录优秀的工具资源。内容覆盖开发、设计、产品和管理等IT互联网行业相关的领域。目前已经收录 1438 项工具资源。
    推送伯乐头条热点内容微信号:jobbole 分享干货的技术类微信号:iProgrammer