Keras總結(jié)

使用Kreas搭建神經(jīng)網(wǎng)絡(luò)相對來說輕松一些,總結(jié)一下Keras的基本用法袄简,為后續(xù)學(xué)習(xí)tensorflow打好基礎(chǔ)。

Keras中文文檔https://keras-cn.readthedocs.io/en/latest/

Sequential模型(順序模型)
#導(dǎo)入順序模型
from keras.models import Sequential
model = Sequential()
#dense層(標準一維全連接層)第一層需要指定輸入形狀,以對接輸入數(shù)據(jù)的形狀刮萌,比如以(16,)對接(*,16)形狀的數(shù)據(jù)
from keras.layers import Dense, Activation
model.add(Dense(units=64, input_dim=100))#第一層,64個神經(jīng)元,輸入維度10
model.add(Activation("relu"))
model.add(Dense(units=10))
model.add(Activation("softmax"))
#以準確度作為度量標準
model.compile(loss='categorical_crossentropy', optimizer='sgd', metrics=['accuracy'])
#學(xué)習(xí)率0.9熏纯,動量法同诫,使用Nesterov梯度下降
from keras.optimizers import SGD
model.compile(loss='categorical_crossentropy', optimizer=SGD(lr=0.01, momentum=0.9, nesterov=True))
#model.fit訓(xùn)練網(wǎng)絡(luò),epochs訓(xùn)練輪數(shù)樟澜,size訓(xùn)練batch大小
model.fit(x_train, y_train, epochs=5, batch_size=32)
loss_and_metrics = model.evaluate(x_test, y_test, batch_size=128)
#使用模型進行預(yù)測
classes = model.predict(x_test, batch_size=128)

簡單的keras神經(jīng)網(wǎng)絡(luò)搭建完成误窖。

dense層介紹
keras.layers.Dense(units, 
                  activation=None, 
                  use_bias=True, 
                  kernel_initializer='glorot_uniform', 
                  bias_initializer='zeros', 
                  kernel_regularizer=None, 
                  bias_regularizer=None, 
                  activity_regularizer=None, 
                  kernel_constraint=None, 
                  bias_constraint=None)

units:該層有幾個神經(jīng)元
activation:該層使用的激活函數(shù)
use_bias:是否添加偏置項
kernel_initializer:權(quán)重初始化方法
bias_initializer:偏置值初始化方法
kernel_regularizer:權(quán)重規(guī)范化函數(shù)
bias_regularizer:偏置值規(guī)范化方法
activity_regularizer:輸出的規(guī)范化方法
kernel_constraint:權(quán)重變化限制函數(shù)
bias_constraint:偏置值變化限制函數(shù)

Keras中啟用tensorboard
# 編譯模型 評價函數(shù)和損失函數(shù)相似,不過評價函數(shù)的結(jié)果不會用于訓(xùn)練過程中
model.compile(optimizer='Adam', loss='categorical_crossentropy',
              metrics=['accuracy'])

# TensorBoard調(diào)用查看一下訓(xùn)練情況
# tb_cb = TensorBoard(log_dir='logs')
tb_cb = TensorBoard(log_dir='logs',histogram_freq=1,
write_graph=True,
write_images=True)
# 開始模型訓(xùn)練
model.fit(x=x_train, y=y_train, batch_size=batch_size, epochs=epochs,
          verbose=1, validation_data=(x_valid, y_valid), shuffle=True,
          callbacks=[tb_cb])

然后秩贰,在anaconda promot中定位到程序所在文件夾霹俺,輸入

tensorboard --logdir=logs/

之后會顯示一個網(wǎng)址,復(fù)制進入微軟自帶瀏覽器即可打開tensorboard(雖然我看不懂==)

image.png
Conv1D層
keras.layers.convolutional.Conv1D(filters, kernel_size, strides=1, padding='valid', dilation_rate=1, 
activation=None, use_bias=True, kernel_initializer='glorot_uniform', bias_initializer='zeros', 
kernel_regularizer=None, bias_regularizer=None, activity_regularizer=None, kernel_constraint=None,
 bias_constraint=None)

一維卷積層(即時域卷積)毒费,用以在一維輸入信號上進行鄰域濾波丙唧。當使用該層作為首層時,需要提供關(guān)鍵字參數(shù)input_shape觅玻。例如(10,128)代表一個長為10的序列想际,序列中每個信號為128向量。而(None, 128)代表變長的128維向量序列溪厘。

該層生成將輸入信號與卷積核按照單一的空域(或時域)方向進行卷積胡本。如果use_bias=True,則還會加上一個偏置項畸悬,若activation不為None侧甫,則輸出為經(jīng)過激活函數(shù)的輸出。

參數(shù)

  • filters:卷積核的數(shù)目(即輸出的維度)

  • kernel_size:整數(shù)或由單個整數(shù)構(gòu)成的list/tuple,卷積核的空域或時域窗長度

  • strides:整數(shù)或由單個整數(shù)構(gòu)成的list/tuple披粟,為卷積的步長咒锻。任何不為1的strides均與任何不為1的dilation_rate均不兼容

  • padding:補0策略,為“valid”, “same” 或“causal”僻爽,“causal”將產(chǎn)生因果(膨脹的)卷積虫碉,即output[t]不依賴于input[t+1:]。當對不能違反時間順序的時序信號建模時有用胸梆。參考WaveNet: A Generative Model for Raw Audio, section 2.1.敦捧。“valid”代表只進行有效的卷積碰镜,即對邊界數(shù)據(jù)不處理兢卵。“same”代表保留邊界處的卷積結(jié)果绪颖,通常會導(dǎo)致輸出shape與輸入shape相同秽荤。

  • activation:激活函數(shù),為預(yù)定義的激活函數(shù)名(參考激活函數(shù))柠横,或逐元素(element-wise)的Theano函數(shù)窃款。如果不指定該參數(shù),將不會使用任何激活函數(shù)(即使用線性激活函數(shù):a(x)=x)

  • dilation_rate:整數(shù)或由單個整數(shù)構(gòu)成的list/tuple牍氛,指定dilated convolution中的膨脹比例晨继。任何不為1的dilation_rate均與任何不為1的strides均不兼容。

  • use_bias:布爾值搬俊,是否使用偏置項

  • kernel_initializer:權(quán)值初始化方法紊扬,為預(yù)定義初始化方法名的字符串,或用于初始化權(quán)重的初始化器唉擂。參考initializers

  • bias_initializer:權(quán)值初始化方法餐屎,為預(yù)定義初始化方法名的字符串,或用于初始化權(quán)重的初始化器玩祟。參考initializers

  • kernel_regularizer:施加在權(quán)重上的正則項腹缩,為Regularizer對象

  • bias_regularizer:施加在偏置向量上的正則項,為Regularizer對象

  • activity_regularizer:施加在輸出上的正則項空扎,為Regularizer對象

  • kernel_constraints:施加在權(quán)重上的約束項庆聘,為Constraints對象

  • bias_constraints:施加在偏置上的約束項,為Constraints對象

輸入shape

形如(samples勺卢,steps伙判,input_dim)的3D張量

輸出shape

形如(samples,new_steps黑忱,nb_filter)的3D張量宴抚,因為有向量填充的原因勒魔,steps的值會改變

【Tips】可以將Convolution1D看作Convolution2D的快捷版,對例子中(10菇曲,32)的信號進行1D卷積相當于對其進行卷積核為(filter_length, 32)的2D卷積冠绢。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市常潮,隨后出現(xiàn)的幾起案子弟胀,更是在濱河造成了極大的恐慌,老刑警劉巖喊式,帶你破解...
    沈念sama閱讀 218,451評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件孵户,死亡現(xiàn)場離奇詭異,居然都是意外死亡岔留,警方通過查閱死者的電腦和手機夏哭,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,172評論 3 394
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來献联,“玉大人竖配,你說我怎么就攤上這事±锬妫” “怎么了进胯?”我有些...
    開封第一講書人閱讀 164,782評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長原押。 經(jīng)常有香客問我龄减,道長,這世上最難降的妖魔是什么班眯? 我笑而不...
    開封第一講書人閱讀 58,709評論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮烁巫,結(jié)果婚禮上署隘,老公的妹妹穿的比我還像新娘。我一直安慰自己亚隙,他們只是感情好磁餐,可當我...
    茶點故事閱讀 67,733評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著阿弃,像睡著了一般诊霹。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上渣淳,一...
    開封第一講書人閱讀 51,578評論 1 305
  • 那天脾还,我揣著相機與錄音,去河邊找鬼入愧。 笑死鄙漏,一個胖子當著我的面吹牛嗤谚,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播怔蚌,決...
    沈念sama閱讀 40,320評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼巩步,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了桦踊?” 一聲冷哼從身側(cè)響起椅野,我...
    開封第一講書人閱讀 39,241評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎籍胯,沒想到半個月后竟闪,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,686評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡芒炼,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,878評論 3 336
  • 正文 我和宋清朗相戀三年瘫怜,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片本刽。...
    茶點故事閱讀 39,992評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡鲸湃,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出子寓,到底是詐尸還是另有隱情暗挑,我是刑警寧澤,帶...
    沈念sama閱讀 35,715評論 5 346
  • 正文 年R本政府宣布斜友,位于F島的核電站炸裆,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏鲜屏。R本人自食惡果不足惜烹看,卻給世界環(huán)境...
    茶點故事閱讀 41,336評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望洛史。 院中可真熱鬧惯殊,春花似錦、人聲如沸也殖。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,912評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽忆嗜。三九已至己儒,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間捆毫,已是汗流浹背闪湾。 一陣腳步聲響...
    開封第一講書人閱讀 33,040評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留绩卤,地道東北人响谓。 一個月前我還...
    沈念sama閱讀 48,173評論 3 370
  • 正文 我出身青樓损合,卻偏偏與公主長得像,于是被迫代替她去往敵國和親娘纷。 傳聞我的和親對象是個殘疾皇子嫁审,可洞房花燭夜當晚...
    茶點故事閱讀 44,947評論 2 355

推薦閱讀更多精彩內(nèi)容