改动lasagne模块代码使其能够与theano 0.9兼容

在科研的时候读到一篇论文,将基于character的n-gram信息结合到word2vec中,称为charagram 。在运行其github上面的示例代码时,出现了错误:

from theano.tensor.signal import downsample
ImportError: cannot import name downsample

看到错误,是lasagne模块调用theano时,使用了过时的api。lasagne已经不再更新,所以需要我们自己修改一下模块里面的代码。主要是lasagne/layers/pool.py中,将

from theano.tensor.signal import downsample

改为

from theano.tensor.signal.pool import pool_2d

并且将下面所有downsample改为pool_2d。 修改完成后,将pool.py编译一下生成pool.pyc,就能继续运行了。