最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

關于keras中卷積層Conv2D的學習記錄

 更新時間:2023年02月21日 16:53:50   作者:擺爛的CV工程師  
這篇文章主要介紹了關于keras中卷積層Conv2D的學習記錄,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

keras中卷積層Conv2D的學習

關于卷積的具體操作不細講,本文只是自己太懶了不想記手寫筆記。

由于自己接觸到的都是圖像

處理相關的工作,因此,在這里只介紹2D卷積。

keras.layers.convolutional.Conv2D(filters,kernel_size,strides(1,1),?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? padding='valid',
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? data_format=None,
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? dilation_rate=(1,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)

此操作將二維向量進行卷積,當使用該層作為第一層時,應提供input_shape參數。

參數

  • filters:卷積核的數目(即輸出的維度)。
  • kernel_size:單個整數或由兩個整數構成的list/tuple,卷積核的寬度和長度。如為單個整數,則表示在各個空間維度的相同長度。
  • strides:單個整數或由兩個整數構成的list/tuple,為卷積的步長。如為單個整數,則表示在各個空間維度的相同步長。任何不為1的strides均與任何不為1的dilation_rata均不兼容。
  • padding:補0策略,為“valid”, “same”。“valid”代表只進行有效的卷積,即對邊界數據不處理。“same”代表保留邊界處的卷積結果,通常會導致輸出shape與輸入shape相同。
  • activation:激活函數,為預定義的激活函數名(參考激活函數),或逐元素(element-wise)的Theano函數。如果不指定該參數,將不會使用任何激活函數(即使用線性激活函數:a(x)=x)。
  • dilation_rate:單個整數或由兩個個整數構成的list/tuple,指定dilated convolution中的膨脹比例。任何不為1的dilation_rata均與任何不為1的strides均不兼容。
  • data_format:字符串,“channels_first”或“channels_last”之一,代表圖像的通道維的位置。該參數是Keras 1.x中的image_dim_ordering,“channels_last”對應原本的“tf”,“channels_first”對應原本的“th”。以128x128的RGB圖像為例,“channels_first”應將數據組織為(3,128,128),而“channels_last”應將數據組織為(128,128,3)。該參數的默認值是~/.keras/keras.json中設置的值,若從未設置過,則為“channels_last”。
  • use_bias:布爾值,是否使用偏置項。
  • kernel_initializer:權值初始化方法,為預定義初始化方法名的字符串,或用于初始化權重的初始化器。
  • bias_initializer:權值初始化方法,為預定義初始化方法名的字符串,或用于初始化權重的初始化器。
  • kernel_regularizer:施加在權重上的正則項,為Regularizer對象。
  • bias_regularizer:施加在偏置向量上的正則項,為Regularizer對象。
  • activity_regularizer:施加在輸出上的正則項,為Regularizer對象。
  • kernel_constraints:施加在權重上的約束項,為Constraints對象。
  • bias_constraints:施加在偏置上的約束項,為Constraints對象。

keras中conv2d,conv2dTranspose的Padding詳解

conv2d和conv2dTranspose屬于最常用的層,但在keras的實現中關于padding的部分有點模糊,周末趁著空閑做了一些嘗試,來實驗padding的valid和same參數在實際過程中如何操作的。

conv2D演示代碼

conv2D部分

v_input = np.ones([1,5,5,1])
kernel = np.ones([3,3])
stride = 1
model = Sequential()
model.add(Conv2D(1, kernel_size=(3, 3),
                 activation='relu',
                 padding="valid" ,  # "same"
                 strides = 1, 
                 # dilation_rate = 1,
                 kernel_initializer = keras.initializers.Ones(),
                 input_shape=v_input.shape[1:]))

其中stride可以嘗試多組測試

padding在valid 和 same 間切換測試

Conv2d演示結論

padding 為valid則不進行填充, 根據stride的滑動大小來做平移, 則:

output_shape = ceil( (input_shape - (kernel_size - 1)) / stride )

如果是same模式則 會進行左右上下的補齊, 其中左,上依次補齊 flood (kernel_size -1 ) / 2 , 右下補齊ceil (( kernel_size - 1) /2 ) ,補齊后進行的操作就是類似valid下的滑動卷積

output_shape = ceil (input_shape / stride)
  • ceil表示上取整 
  • flood表示下取整

CONV2Dtranspose演示代碼

v_input = np.ones([1,5,5,1])
kernel = np.ones([3,3])
stride = 1
model = Sequential()
model.add(Conv2DTranspose(1, kernel_size=(3, 3),
                 activation='relu',
                 padding="valid" ,  # "same"
                 strides = 1, 
                 # dilation_rate = 1,
                 kernel_initializer = keras.initializers.Ones(),
                 input_shape=v_input.shape[1:]))

如果padding的設置為valid則,保持最小相交的原則上下左右均填充kernel_size大小,如果stride設置為非1,起實際的作用和dilation_rate一樣均是在矩陣中進行填充(實際滑動是永遠都是1) 具體填充出來的矩陣大小是 (input_size -1) * stride + 1 + 2 * (kernel_size - 1)

之后就是按照這個矩陣做著類似conv2d valid的卷積 則:

output_shape = (input_size -1) * stride + 1 + 2 * (kernel_size - 1) - (kernel_size -1) = (input_size - 1) * stride + kernel_size

在這里插入圖片描述

如果padding為same的話則output_shape = input_shape * stride

其中原始矩陣左上padding = ceil (( kernel_size ) /2 )  右下補齊 flood (( kernel_size ) /2 )  這里conv2d

總結

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • 你真的了解Python的random模塊嗎?

    你真的了解Python的random模塊嗎?

    這篇文章主要介紹了Python的random模塊的相關內容,具有一定借鑒價值,需要的朋友可以參考下。
    2017-12-12
  • pytorch之添加BN的實現

    pytorch之添加BN的實現

    今天小編就為大家分享一篇pytorch之添加BN的實現,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-01-01
  • 使用Python讀取Excel數據在PPT中創(chuàng)建圖表

    使用Python讀取Excel數據在PPT中創(chuàng)建圖表

    使用Python從Excel讀取數據并在PowerPoint幻燈片中創(chuàng)建圖表不僅能夠極大地簡化圖表創(chuàng)建過程,通過Python這一橋梁,我們可以輕松實現數據自動化處理和圖表生成,本文將演示如何使用Python讀取Excel數據在PPT中創(chuàng)建圖表,需要的朋友可以參考下
    2024-08-08
  • Windows系統下Chromedriver.exe安裝及配置詳細教程

    Windows系統下Chromedriver.exe安裝及配置詳細教程

    ChromeDriver.exe是一款實用的chrome瀏覽器驅動工具,能夠用于自動化測試、網絡爬蟲和操作瀏覽器,其主要作用是模擬瀏覽器操作,下面這篇文章主要給大家介紹了關于Windows系統下Chromedriver.exe安裝及配置的相關資料,需要的朋友可以參考下
    2023-11-11
  • 輕松實現python搭建微信公眾平臺

    輕松實現python搭建微信公眾平臺

    這篇文章主要介紹了python搭建微信公眾平臺的相關資料和技巧,文中給出了詳細的python搭建微信公眾平臺的步驟,感興趣的朋友可以參考一下
    2016-02-02
  • 教你用Python實現短信驗證碼的發(fā)送

    教你用Python實現短信驗證碼的發(fā)送

    當我們在注冊一個網頁時,有的網頁會讓必須要短信驗證、郵箱驗證,才可以進行賬號的注冊,下面這篇文章主要給大家介紹了關于用Python實現短信驗證碼發(fā)送的相關資料,需要的朋友可以參考下
    2022-12-12
  • OpenCV實現人臉識別

    OpenCV實現人臉識別

    本文主要介紹了python使用opencv實現人臉識別的相關資料。具有很好的參考價值。下面跟著小編一起來看下吧
    2017-04-04
  • Python移動測試開發(fā)subprocess模塊項目實戰(zhàn)

    Python移動測試開發(fā)subprocess模塊項目實戰(zhàn)

    這篇文章主要為大家介紹了Python移動測試開發(fā)subprocess模塊項目實戰(zhàn)示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-07-07
  • Python?查找算法之二分查找線性查找與哈希查找實例探究

    Python?查找算法之二分查找線性查找與哈希查找實例探究

    這篇文章主要為大家介紹了Python查找算法探究之二分查找、線性查找與哈希查找的實例探究,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2024-01-01
  • conda查看、創(chuàng)建、刪除、激活與退出環(huán)境命令詳解

    conda查看、創(chuàng)建、刪除、激活與退出環(huán)境命令詳解

    在不同的項目中經常需要conda來配置環(huán)境,這樣能夠實現不同版本的python和庫的隨意切換,并且減少了很多不必要的麻煩,下面這篇文章主要給大家介紹了關于conda查看、創(chuàng)建、刪除、激活與退出環(huán)境命令的相關資料,需要的朋友可以參考下
    2023-05-05

最新評論

浮山县| 区。| 普兰县| 石台县| 崇明县| 桃园市| 梅州市| 长岛县| 观塘区| 双城市| 句容市| 东乡县| 永德县| 密云县| 烟台市| 达拉特旗| 上蔡县| 郁南县| 湘乡市| 南阳市| 洞头县| 博乐市| 满城县| 潼南县| 广东省| 肃北| 丹棱县| 锡林浩特市| 临颍县| 寿阳县| 双牌县| 通州区| 仙桃市| 英吉沙县| 渭南市| 乌拉特后旗| 天峻县| 济宁市| 娱乐| 广昌县| 札达县|