【51CTO晃荡】8.26 带你与清华大年夜学、搜狗、京东大年夜咖们一路商量基于算法的IT运维实践
一、为何要用Keras
如今在深度进修大年夜火的时刻,第三方对象也层出不穷,比较出名的有Tensorflow,Caffe,Theano,MXNet,在如斯多的第三方框架中频繁的改换无疑是很低效的,只要你可以或许好好控制个一一个框架,熟悉其道理,那么之后因为各类请求你想要改换框架也是很轻易的。
那么sherlock用的是哪个框架呢?sherlock应用的是Google的开源框架Tensorflow,因为Google开源了tensorflow之后其社区异常活泼,并且版本更新也异常稳定,所以我就选择了这个框架。对于框架之争,在知乎上已经有很多人在撕逼了,这个就比如哪种编程说话好这个问题一样。对于我们来讲,选择一个稳定的框架,好好的进修deep learning才是重中之重,对于哪种框架更好的问题,我们学好之后天然有本身的看法,所以前期切忌在刷知乎听完大年夜神撕逼之后频繁改换框架。
对于Tensorflow的安装,以及CPU和GPU版本,各类体系的安装网上已经有很多人具体的写过攻略了,可以本身去网上搜一搜,很轻易就可以安装成功。
选择了Tensorflow之后,我们就可以高兴的开端我们的深度进修之旅了。去Tensorflow的中文社区,可以看到有一些新手教程,网上也有很多进修材料,推荐看看stanford大年夜学cs224d的课件,http://cs224d.stanford.edu/lectures/CS224d-Lecture7.pdf, 很具体的介绍了tensorflow。然后你就可以写tensorflow的法度榜样了。固然说tensorflow已经是一个封装好的框架,然则你发明你写一个简单的神经收集也须要很多行才能够写完,这个时刻,就有很多的第三方才架来赞助你写收集,也就是说你用tensorflow要写10行,第三方才架帮你封装了一个函数,就是把这10行集合在这个函数琅绫擎,那么你用1行,传入雷同的参数,就可以或许达到10行雷同的效不雅,如斯简便并且节约时光,可以赞助很快的实现我们的设法主意。
总结
下面就给一个简单的例子,来看一看Keras到底有多简单。
- from keras.models import Sequential
- model = Sequential()
- from keras.layers import Dense, Activation
- model.add(Dense(units=64, input_dim=100))
- model.add(Activation('relu'))
- model.add(Dense(units=10))
- model.add(Activation('softmax'))
可以看到参加层很简单,只须要写.add,后面是要加的层的类型。
- model.compile(loss='categorical_crossentropy',
- optimizer='sgd',
- metrics=['accuracy'])
一旦你写好了收集之后,就可以用compile编译全部收集,看参数设置有没有问题
惹人sequential,这个就是一个空的收集构造,并且这个构造是一个次序的序列,所以叫Sequential,Keras琅绫擎还有一些其他的收集构造。
- model.compile(loss=keras.losses.categorical_crossentropy,
- optimizer=keras.optimizers.SGD(lr=0.01,momentum=0.9,nesterov=True))
- model.fit(x_train,y_train,epochs=5,batch_size=32)
这个就像scikit-learn一样练习模型。
- loss_and_metrics=model.evaluate(x_test,y_test,batch_size=128)
这个就是评估练习结不雅。
- classes=model.predict(x_test,batch_size=128)
或者是经由过程predict进行猜测。
你也可以自定义个中的优化函数,就像膳绫擎如许,’sgd’是Keras已经写好了一些默认参数的优化函数,你可以本身从新定义参数,获得一个优化函数。
看了膳绫擎的代码,信赖很多熟悉scikit-learn的同窗都很亲切,因为确切很简便,跟scikit-learn也有着类似的语法。
在懂得CNN之前,我们有须要先懂得一下什么是神经收集,如许才能开端懂得更高等的卷积神经收集。
推荐阅读
【51CTO晃荡】8.26 带你与清华大年夜学、搜狗、京东大年夜咖们一路商量基于算法的IT运维实践 一、UDB高可用数据库架构 UDB以虚拟IP、HAProxy、单节点UDB数据库搭建双节点高可用架构:>>>详细阅读
本文标题:小白学CNN以及Keras的速成
地址:http://www.17bianji.com/lsqh/36937.html
1/2 1