Lasagne不只是一个美味的意大利菜,也是一个与Blocks和Keras有着相似功能的深度学习库,但其在设计上与它们有些不同。
下面是Lasagne的一些设计目的:
简单化:它应该是易于使用和扩展的机器学习库。每添加一个特征,就应该考虑其对易用性和扩展性的影响。每一个抽象概念的加入都应该仔细检查,以确定增加的复杂性是否合理。小接口:尽可能少的类和方法。尽可能依赖Theano的功能和数据类型,遵循Theano的规定。如果没有严格的必要,不要在类中封装东西。这会使它更容易使用库并且扩展它(不需要有太多的认知)。不碍事:未使用的功能应该是不可见的,用户不会考虑他们不使用的功能。尽可能单独的使用库文件中的组件。透明性:不要试图掩盖Theano,尽量以Python或NumPy数据类型的形式将函数和方法返回给Theano表达式。重点:遵循Unix哲学“做一件事,并把它做好”,重点集中在前馈神经网络。实用主义:使普通用例更易于使用,这要比支持每一个可能的用例更为重要。
Daniel Nouri Tutorial
Github 网址
Installation
git clone https://github.com/Lasagne/Lasagne.git #建立一个Lasagne的目录
cd Lasagne
sudo su # 进入root用户
pip install -r requirements.txt
sduo python setup.py install
test on mnist
cd examples
python mnist.py
可能出现的问题
AttributeError: 'module' object has no attribute 'find_graphviz'
这是因为在 pydot 1.2.x 版本中 find_graphviz 过时了,最好是安装pydot 1.1.0版本 。
pip install pydot==1.1.0
参考主页
http://stackoverflow.com/questions/38446771/importing-theano-attributeerror-module-object-has-no-attribute-find-graphvi