pylearn2是一个类似caffe的库,是建立在python语言之上,使用了theano的,由于我之前使用sgd总是达不到paper上的效果,所以我想学习下这个玩意,上午拿到之后,在win8下使用了下,发现入门有点简单,我就阅读了在axriv上的论文,关于pylearn2的,来大概总结一下吧:
历史:
它是LISP实验室的,这个实验室我就不多说了吧,bengio领导的。pylearn2是LISP实验室的第三个做此类开发的平台了,之前的就不说了。
架构:
包含了Model,learningAlgorithm和Datesets
Model:用来存储参数的,实现了很多成熟的模型,比如RBM,CNN,AUTOENCODER等,尤其是LISP实验室的paper中的模型,它全都实现了的。其实嘛,就是我们理解的模型。人家说的也很简单,模型里面主要是线性操作(非线性包括在里面了吧)
学习算法:调整Model中的参数的,并且还有别的功能,比如建立Monitor,来检测学习过程中的一些变化吗,比如精度曲线啥的,里面有几个实现好的类,比如SGD。我看用的最多的也就是SGD了吧,实现的还有BGD
数据集:就是我们训练算法用的数据,只是对原始数据和模型之间做了个接口吧,让模型对数据透明,因为不同的实现,毕竟数据类型很多,理论上支持任何类型的数据输入格式。如果数据时矩阵直接用DenseDesignmatrix类,如果数据在Numpy或者pickle format的直接用就是了,更大的数据也支持HDFS格式,同时这个模块还可以对数据进行ZCA,PCA的预处理。
其实大概也就这些了,具体使用的话,是用配置文件来实现的,配置的主要模块也就是上面3个地方,每个地方会涉及到一些参数,具体的还要具体在看。
啰嗦完了。。