python内核大小_关于keras.layers.Conv1D的kernel_size参数使用介绍
今天在用keras添加卷積層的時候,發現了kernel_size這個參數不知怎么理解,keras中文文檔是這樣描述的:
kernel_size: 一個整數,或者單個整數表示的元組或列表, 指明 1D 卷積窗口的長度。
又經過多方查找,大體理解如下:
因為是添加一維卷積層Conv1D(),一維卷積一般會處理時序數據,所以,卷積核的寬度為1,而kernel_size就是卷積核的長度了,這樣的意思就是這個卷積核是一個長方形的卷積核。
補充知識:tf.layers.conv1d函數解析(一維卷積)
一維卷積一般用于處理文本,所以輸入一般是一段長文本,就是詞的列表
函數定義如下:
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
)
比較重要的幾個參數是inputs, filters, kernel_size,下面分別說明
inputs : 輸入tensor, 維度(None, a, b) 是一個三維的tensor
None : 一般是填充樣本的個數,batch_size
a : 句子中的詞數或者字數
b :字或者詞的向量維度
filters : 過濾器的個數
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經過3*8的卷積核卷積后得到的是4*1的一個向量(4=6-3+1)
又因為有5個過濾器,所以是得到5個4*1的向量
畫圖如下:
以上這篇關于keras.layers.Conv1D的kernel_size參數使用介紹就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持我們。
本文標題: 關于keras.layers.Conv1D的kernel_size參數使用介紹
本文地址: http://www.cppcns.com/jiaoben/python/313960.html
總結
以上是生活随笔為你收集整理的python内核大小_关于keras.layers.Conv1D的kernel_size参数使用介绍的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 电饼锅的样式图片价格_2020年三明治机
- 下一篇: 数据交换平台_从零开始理解大数据架构之数