網站首頁 編程語言 正文
Conv1D
keras.layers.Conv1D(filters, kernel_size, strides=1, padding='valid', data_format='channels_last', 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)
1D 卷積層 (例如時序卷積)。
該層創(chuàng)建了一個卷積核,該卷積核以 單個空間(或時間)維上的層輸入進行卷積, 以生成輸出張量。 如果 use_bias 為 True, 則會創(chuàng)建一個偏置向量并將其添加到輸出中。 最后,如果 activation 不是 None,它也會應用于輸出。
當使用該層作為模型第一層時,需要提供 input_shape 參數(整數元組或 None),例如, (10, 128) 表示 10 個 128 維的向量組成的向量序列, (None, 128) 表示 128 維的向量組成的變長序列。
參數
-
filters
: 整數,輸出空間的維度 (即卷積中濾波器的輸出數量)。 -
kernel_size
: 一個整數,或者單個整數表示的元組或列表, 指明 1D 卷積窗口的長度。 -
strides
: 一個整數,或者單個整數表示的元組或列表, 指明卷積的步長。 指定任何 stride 值 != 1 與指定 dilation_rate 值 != 1 兩者不兼容。 -
padding
: “valid”, “causal” 或 “same” 之一 (大小寫敏感) “valid” 表示「不填充」。 “same” 表示填充輸入以使輸出具有與原始輸入相同的長度。 “causal” 表示因果(膨脹)卷積, 例如,output[t] 不依賴于 input[t+1:], 在模型不應違反時間順序的時間數據建模時非常有用。 -
data_format
: 字符串, “channels_last” (默認) 或 “channels_first” 之一。輸入的各個維度順序。 “channels_last” 對應輸入尺寸為 (batch, steps, channels) (Keras 中時序數據的默認格式) 而 “channels_first” 對應輸入尺寸為 (batch, channels, steps)。 -
dilation_rate
: 一個整數,或者單個整數表示的元組或列表,指定用于膨脹卷積的膨脹率。 當前,指定任何 dilation_rate 值 != 1 與指定 stride 值 != 1 兩者不兼容。 -
activation
: 要使用的激活函數。 如未指定,則不使用激活函數 (即線性激活: a(x) = x)。 -
use_bias
: 布爾值,該層是否使用偏置向量。 -
kernel_initializer
: kernel 權值矩陣的初始化器 。 -
bias_initializer
: 偏置向量的初始化器 。 -
kernel_regularizer
: 運用到 kernel 權值矩陣的正則化函數。 -
bias_regularizer
: 運用到偏置向量的正則化函數。 -
activity_regularizer
: 運用到層輸出(它的激活值)的正則化函數 。 -
kernel_constraint
: 運用到 kernel 權值矩陣的約束函數。 -
bias_constraint
: 運用到偏置向量的約束函數。
輸入尺寸
3D 張量 ,尺寸為 (batch_size, steps, input_dim)
輸出尺寸
3D 張量,尺寸為 (batch_size, new_steps, filters)。 由于填充或窗口按步長滑動,steps 值可能已更改
輸入輸出尺寸的理解
一般在2D卷積中,輸入尺寸很直觀,為 (samples, rows, cols, channels),即為樣本數,行數、列數和通道數四維信息,但是若以此推斷,在Conv1D總兩維信息就足夠,中間卻夾雜了一個steps,那這個steps如何去理解呢?
理解steps參數,我們應該跳出圖像的思維,1D卷積通常施用在時序數據中,在時序數據的輸入中:
-
batch_size
: 輸入的樣本數 -
steps
: 時間維度,個人認為可以理解成量化后的時間長度,也就是多少個時刻 -
input_dim
: 每個時刻的特征數量
keras Conv1D 一維卷積的輸入維度
報錯情況
expected conv1d_1_input to have 3 dimensions, but got array with shape (1, 56)
問題原因
維數不匹配
解決方法
數組的維數是(1,56),但神經網絡維數與數組維數相反,應該使用(56,1)或(None,1)
同時神經網絡的輸入數據應改成三維,即reshape為(1,56,1)
總結
原文鏈接:https://blog.csdn.net/qq_36763031/article/details/108007612
相關推薦
- 2022-07-07 C#操作注冊表之RegistryKey類_C#教程
- 2023-10-16 nginx啟動與配置
- 2022-04-18 Python腳本,標識符,變量使用,腳本語句,注釋,模塊引用詳解_python
- 2022-03-15 react 編譯警告 chunk common [mini-css-extract-plugin]
- 2022-04-18 Python讀取配置文件-ConfigParser的二次封裝方法_python
- 2022-12-11 C++?Boost?Tokenizer使用詳細講解_C 語言
- 2023-11-16 python 插值 —— 如何實現插值,以及錯誤ValueError: A value in x_n
- 2022-04-07 Go語言中int、float、string類型之間相互的轉換_Golang
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細win安裝深度學習環(huán)境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發(fā)現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態(tài)字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支