?近幾年各種深度學(xué)習(xí)框架涌現(xiàn),大家可能很難從眾多的深度學(xué)習(xí)框架中選擇一個(gè)合適的框架進(jìn)行學(xué)習(xí)。對于深度學(xué)習(xí)的初學(xué)者,或者覺得Tensorflow,Caffe等框架學(xué)習(xí)困難難以上手的人,可以考慮學(xué)習(xí)Keras。
? ?
Keras是一種高度模塊化,使用簡單上手快,合適深度學(xué)習(xí)初學(xué)者使用的深度學(xué)習(xí)框架。Keras由純Python編寫而成并以Tensorflow、Theano以及CNTK為后端。Keras為支持快速實(shí)驗(yàn)而生,能夠把你的idea迅速轉(zhuǎn)換為結(jié)果。
? ?
Keras的設(shè)計(jì)原則是:
? ?
用戶友好:Keras是為人類而不是天頂星人設(shè)計(jì)的API。用戶的使用體驗(yàn)始終是我們考慮的首要和中心內(nèi)容。Keras遵循減少認(rèn)知困難的較佳實(shí)踐:Keras提供一致而簡潔的API, 能夠極大減少一般應(yīng)用下用戶的工作量,同時(shí),Keras提供清晰和具有實(shí)踐意義的bug反饋。
? ?
模塊性:模型可理解為一個(gè)層的序列或數(shù)據(jù)的運(yùn)算圖,完全可配置的模塊可以用最少的代價(jià)自由組合在一起。具體而言,網(wǎng)絡(luò)層、損失函數(shù)、優(yōu)化器、初始化策略、激活函數(shù)、正則化方法都是獨(dú)立的模塊,你可以使用它們來構(gòu)建自己的模型。
? ?
易擴(kuò)展性:添加新模塊超級容易,只需要仿照現(xiàn)有的模塊編寫新的類或函數(shù)即可。創(chuàng)建新模塊的便利性使得Keras更適合于先進(jìn)的研究工作。
? ?
與Python協(xié)作:Keras沒有單獨(dú)的模型配置文件類型(作為對比,caffe有),模型由python代碼描述,使其更緊湊和更易debug,并提供了擴(kuò)展的便利性。
第一部份 Keras簡介,Anaconda安裝,Tensorflow的CPU版本安裝,Keras安裝。
第二部份 Keras實(shí)現(xiàn)線性回歸,非線性回歸,手寫數(shù)字分類。
第三部份 交叉熵(cross-entropy),過擬合,dropout,正則化以及Keras中各種優(yōu)化器的介紹。
第四部份 卷積神經(jīng)網(wǎng)絡(luò)CNN的講解,以及用CNN解決MNIST分類問題。
第五部份 遞歸神經(jīng)網(wǎng)絡(luò)LSTM的講解,以及LSTM網(wǎng)絡(luò)的使用。
第六部份 使用Keras完成圖像識(shí)別。
第七部份 使用Keras完成圖片風(fēng)格轉(zhuǎn)換。
第八部份 seq2seq模型講解及使用。
第九部份 使用Keras進(jìn)行情感分類。
第十部份 使用Keras搭建生成對抗網(wǎng)絡(luò)GAN。
|