關(guān)于keras.layers.Conv1D的kernel_size參數(shù)使用介紹
今天在用keras添加卷積層的時候,發(fā)現(xiàn)了kernel_size這個參數(shù)不知怎么理解,keras中文文檔是這樣描述的:
kernel_size: 一個整數(shù),或者單個整數(shù)表示的元組或列表, 指明 1D 卷積窗口的長度。
又經(jīng)過多方查找,大體理解如下:
因為是添加一維卷積層Conv1D(),一維卷積一般會處理時序數(shù)據(jù),所以,卷積核的寬度為1,而kernel_size就是卷積核的長度了,這樣的意思就是這個卷積核是一個長方形的卷積核。
補充知識:tf.layers.conv1d函數(shù)解析(一維卷積)
一維卷積一般用于處理文本,所以輸入一般是一段長文本,就是詞的列表
函數(shù)定義如下:
tf.layers.conv1d( inputs, filters, kernel_size, strides=1, padding='valid', data_format='channels_last', dilation_rate=1, activation=None, use_bias=True, kernel_initializer=None, bias_initializer=tf.zeros_initializer(), kernel_regularizer=None, bias_regularizer=None, activity_regularizer=None, kernel_constraint=None, bias_constraint=None, trainable=True, name=None, reuse=None )
比較重要的幾個參數(shù)是inputs, filters, kernel_size,下面分別說明
inputs : 輸入tensor, 維度(None, a, b) 是一個三維的tensor
None : 一般是填充樣本的個數(shù),batch_size
a : 句子中的詞數(shù)或者字數(shù)
b :字或者詞的向量維度
filters : 過濾器的個數(shù)
kernel_size : 卷積核的大小,卷積核其實應該是一個二維的,這里只需要指定一維,是因為卷積核的第二維與輸入的詞向量維度是一致的,因為對于句子而言,卷積的移動方向只能是沿著詞的方向,即只能在列維度移動
一個例子:
inputs = tf.placeholder('float', shape=[None, 6, 8])
out = tf.layers.conv1d(inputs, 5, 3)
說明: 對于一個樣本而言,句子長度為6個字,字向量的維度為8
filters=5, kernel_size=3, 所以卷積核的維度為3*8
那么輸入6*8經(jīng)過3*8的卷積核卷積后得到的是4*1的一個向量(4=6-3+1)
又因為有5個過濾器,所以是得到5個4*1的向量
畫圖如下:

以上這篇關(guān)于keras.layers.Conv1D的kernel_size參數(shù)使用介紹就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
python中使用numpy包的向量矩陣相乘np.dot和np.matmul實現(xiàn)
本文主要介紹了python中使用numpy包的向量矩陣相乘np.dot和np.matmul實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-02-02
全網(wǎng)最詳細的PyCharm+Anaconda的安裝過程圖解
這篇文章主要介紹了全網(wǎng)最詳細的PyCharm+Anaconda的安裝過程圖解,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-01-01
Python3網(wǎng)絡爬蟲中的requests高級用法詳解
本節(jié)我們再來了解下 Requests 的一些高級用法,如文件上傳,代理設(shè)置,Cookies 設(shè)置等等。感興趣的朋友跟隨小編一起看看吧2019-06-06

