Quick-start example
pylearn2说明:
pylearn2包含了模型、学习算法和数据集三部分
Model:用来存储参数的,实现了很多成熟的模型,比如RBM,CNN,AUTOENCODER等,尤其是LISP实验室的paper中的模型,它全都实现了的。
学习算法:调整Model中的参数的,并且还有别的功能,比如建立Monitor,来检测学习过程中的一些变化,比如精度曲线,里面有几个实现好的类,比如SGD、BGD。
数据集:就是我们训练算法用的数据,只是对原始数据和模型之间做了个接口,让模型对数据透明,因为不同的实现,毕竟数据类型很多,理论上支持任何类型的数据输入格式。如果数据时矩阵直接用DenseDesignmatrix类,如果数据在Numpy或者pickle format的直接用就是了,更大的数据也支持HDF5格式,同时这个模块还可以对数据进行ZCA,PCA的预处理。
具体使用是用配置文件来实现的,配置的主要模块也就是上面3个地方,每个地方会涉及到一些参数,具体的根据实际应用设定。
Example1
首先需要自行下载cifar10数据库文件,后面所有的测试均在windows平台完成。
算法模型:grbm_smd(a gaussian binary RBM trained using denoising score matching)
1.创建数据集
建立create_dataset.bat批处理文件,内容如下:
python make_dataset.py
pause
完成后就会创建cifar10_preprocessed_train.pkl数据集。
2.进行grbm模型训练
建立training.bat批处理文件,内容如下:
python C:\pylearn2\pylearn2\scripts\train.py --config cifar_grbm_smd.yaml
pause
注意输入参数的解析,训练完成之后会生成模型文件cifar_grbm_smd.pkl
3.进行模型的观测
建立monitor_model.bat print_monitor.bat summarize_model.bat批处理文件,内容如下:
python C:\pylearn2\pylearn2\scripts\plot_monitor.py --model_paths C:\pylearn2\pylearn2\scripts\tutorials\grbm_smd\cifar_grbm_smd.pkl
pause
python C:\pylearn2\pylearn2\scripts\print_monitor.py C:\pylearn2\pylearn2\scripts\tutorials\grbm_smd\cifar_grbm_smd.pkl
pause
python C:\pylearn2\pylearn2\scripts\summarize_model.py C:\pylearn2\pylearn2\scripts\tutorials\grbm_smd\cifar_grbm_smd.pkl
pause
4.查看生成的模型参数
直接查看生成参数的文件cifar_grbm_smd.pkl
加载模型文件
>>>from pylearn2.utils import serial
>>> model = serial.load('/home/jerry/pylearn2/pylearn2/scripts/tutorials/grbm_smd/cifar_grbm_smd.pkl')
查下文件结构
>>> dir(model)
获取权重参数
>>> model.get_weights()
获取参数名
>>> model.get_params()
获取参数值
>>> model.get_param_values()
5.输入数据集显示、模型测试、模型fine-tune、
(未完待续。。。。)