Lasagne(n.烤宽面条),大概是一种美食,是不是就是我们的炒面或者是焗面条。
我感觉Lasagne是对Theano的一种封装。Theano的Symbolic Math非常漂亮,但是可能比较难理解。Lasagne将Theano的封装了一下,构造DNN的时候,用Lasagne
就基本够用了,Lasagne的接口就比较容易理解一点。当然,如果你有自己的其他想法,还是需要用Theano来自己实现(甚至Theano也不一定能实现,只能自己写Python或者C++程序)。
Lasagne据说还没有正式版本,但是开源的。Daniel Nouri有一个很好的Tutorial,去年12月写的,可惜我昨天才看到,相见恨晚。
环境:ubuntu 14.04,Python2.7, 以前已经装过Theano。
Installation
目前还只能从源代码安装。
git clone https://github.com/Lasagne/Lasagne.git # 会建立一个Lasagne目录
cd Lasagne
pip install -r requirements.txt
sudo python setup.py install # 这一步需要root权限
Daniel Nouri[Tutorial]上是这样安装的
pip install -r https://raw.githubusercontent.com/dnouri/kfkd-tutorial/master/requirements.txt。
这样需要以root用户来执行,不推荐这样做。
test on mnist
cd examples
python mnist.py
可以得到下面的结果。(我的机器还是比较慢的)
Epoch 103 of 500 took 11.717s
training loss: 0.045202
validation loss: 0.059163
validation accuracy: 98.16 %%
Epoch 104 of 500 took 11.702s
training loss: 0.046228
validation loss: 0.058582
validation accuracy: 98.14 %%
Epoch 105 of 500 took 11.704s
training loss: 0.044530
validation loss: 0.058295
validation accuracy: 98.18 %%
Epoch 106 of 500 took 11.694s
training loss: 0.045262
validation loss: 0.057991
validation accuracy: 98.26 %%