作者:Christian S.Peron 译者:刘帝伟 摘要:本文展示了如何基于nolearn使用一些卷积层和池化层来建立一个简单的ConvNet体系结构,以及如何使用ConvNet去训练一个特征提取器 Lasagne 和 nolearn Lasagne和nolearn是我最喜欢使用的深度学习Python包。 nolearn库是一个神经网络软件包实用程序集(包含Lasagne),它在神经网络体系结构的创建过程上、各层的检验等都能够给我们很大的帮助。 Dropout层效果(来自CS231n网站) 调用训练方法后,nolearn包将会显示学习过程的状态,我的机器使用的是低端的的GPU,得到的结果如下: [py] view plaincopy # Neural 第一层的5x5x32过滤器 如你所视,nolearn的plot_conv_weights函数在我们指定的层中绘制出了所有的过滤器。
因其浮点计算和矩阵运算能力有助于加速深度学习是业界的共识,Theano是主流的深度学习Python库之一,亦支持GPU,然而Theano入门较难,Domino的这篇博文介绍了如何使用GPU和Theano加速深度学习,使用更简单的基于Theano的 Nolearn 尽管这比Theano显得更好,但是构建每一层,然后附加在彼此顶部会显得有些冗长乏味,所以我们将使用 Nolearn库,它在Lasagne库上提供了一个类似 Scikit-Learn风格的API,能够轻松地构建多层神经网络 git://github.com/Theano/Theano.git#egg=Theano -e git://github.com/lasagne/lasagne.git#egg=lasagne nolearn ==0.5.0 配置Theano 现在,在我们导入Lasagne库和Nolearn库之前,首先我们需要配置Theano,使其可以使用GPU硬件。 None, 1024),hidden1_num_units = 100, hidden2_num_units = 100, #Added Layer Params Here 现在,正如我前面提到的关于Nolearn
因其浮点计算和矩阵运算能力有助于加速深度学习是业界的共识,Theano是主流的深度学习Python库之一,亦支持GPU,然而Theano入门较难,Domino的这篇博文介绍了如何使用GPU和Theano加速深度学习,使用更简单的基于Theano的 Nolearn 尽管这比Theano显得更好,但是构建每一层,然后附加在彼此顶部会显得有些冗长乏味,所以我们将使用 Nolearn库,它在Lasagne库上提供了一个类似 Scikit-Learn风格的API,能够轻松地构建多层神经网络 配置Theano 现在,在我们导入Lasagne库和Nolearn库之前,首先我们需要配置Theano,使其可以使用GPU硬件。 使用nolearn的API,我们可以很容易地创建一个输入层,隐藏层和输出层的多层感知器。 现在,正如我前面提到的关于Nolearn类似Scikit-Learn风格的API,我们可以用fit函数来拟合神经网络。 ? 当网络使用GPU训练时,我们可以看到每次迭代时间通常需要0.5秒。 ?
theano import lasagne from lasagne import layers from lasagne.updates import nesterov_momentum from nolearn.lasagne import NeuralNet from nolearn.lasagne import visualize from sklearn.metrics import classification_report
另外的我只是在一些特别的任务中用过(比如nolearn和他们的Deep Belief Network implementation)。 这篇文章的目的是向你介绍这些库。 8.nolearn 我在PyImageSearch博客上用过几次nolearn,主要是在我的MacBook Pro上进行一些初步的GPU实验和在Amazon EC2 GPU实例中进行深度学习。 Keras把 Theano和TensorFlow包装成了更具人性化的API,而nolearn也为Lasagne做了相同的事。 此外,nolearn中所有的代码都是与scikit-learn兼容的,这对我来说绝对是个超级的福利。 我个人不使用nolearn做卷积神经网络(CNNs),但你当然也可以用(我更喜欢用Keras和mxnet来做CNNs)。
https://github.com/dmlc/mxnet Keras: https://keras.io Lasagne:http://lasagne.readthedocs.io/en/latest/ Nolearn :https://github.com/dnouri/nolearn 这里有一个根据语言分类的深度学习库列表:http://www.teglor.com/b/deep-learning-libraries-language-cm569 danielnouri.org/notes/2014/12/17/using-convolutional-neural-nets-to-detect-facial-keypoints-tutorial/ 所需程序库:Nolearn ,https://github.com/dnouri/nolearn#installation 相关课程:“cs231n: 卷积神经网络视觉识别”http://cs231n.stanford.edu 深度学习之自然语言处理
mlxtend Its a library consisting of useful tools and extensions for the day-to-day data science tasks. nolearn , 192 commits, 4 contributors, www.github.com/dnouri/nolearn This package contains a number of utility
Nolearn 如果你想在深度学习中也能使用优秀的Scikit-learn库API,封装了Decaf的Nolearn会让你能够更轻松地使用它。
www.github.com/rasbt/mlxtend nolearn:这个程序包容纳了大量能对你完成机器学习任务有帮助的实用程序模块。 www.github.com/dnouri/nolearn Ramp:Ramp是一个在Python语言下制定机器学习中加快原型设计的解决方案的库程序。
www.github.com/rasbt/mlxtend 15 nolearn:这个程序包容纳了大量能对你完成机器学习任务有帮助的实用程序模块。 www.github.com/dnouri/nolearn 16 Ramp:Ramp是一个在Python语言下制定机器学习中加快原型设计的解决方案的库程序。
以上是Python开发工程师必知十大机器学习库,除此之外,还有OverFeat、Nolearn以及Decaf等机器学习库,在此就不一一介绍了,感兴趣的可以深入学习一下!
17.nolearn www.github.com/dnouri/nolearn 这个程序包容纳了大量能对你完成机器学习任务有帮助的实用程序模块。
Nolearn 如果你想在深度学习中也能使用优秀的Scikit-learn库API,封装了Decaf的Nolearn会让你能够更轻松地使用它。
GigabitEthernet0/0/1 ( VLAN 1 ) , loopback detect status: 3.(1:normal; 2:block; 3:shutdown; 4:trap; 5:nolearn block Block port //阻塞 nolearn Nolearning port //不学习MAC shutdown
Nolearn 如果你想在深度学习中也能使用优秀的Scikit-learn库API,封装了Decaf的Nolearn会让你能够更轻松地使用它。
nolearn:这个程序包容纳了大量能对你完成机器学习任务有帮助的实用程序模块。其中大量的模块和scikit-learn一起工作,其它的通常更有用。
nolearn:这个程序包容纳了大量能对你完成机器学习任务有帮助的实用程序模块。其中大量的模块和scikit-learn一起工作,其它的通常更有用。
Nolearn 702 神经网络库的抽象,著名的Lasagne。 DCGAN TensorFlow 568 基于tensorflow实现的深度卷积生成对抗网络。
nolearn:这个程序包容纳了大量能对你完成机器学习任务有帮助的实用程序模块。其中大量的模块和scikit-learn一起工作,其它的通常更有用。
nolearn 包含大量其他神经网络库中的包装器和抽象(wrappers and abstractions),其中最值得注意的是 Lasagne,其中也包含一些机器学习的实用模块。