国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

邊寫代碼邊學(xué)習(xí)之卷積神經(jīng)網(wǎng)絡(luò)CNN

這篇具有很好參考價(jià)值的文章主要介紹了邊寫代碼邊學(xué)習(xí)之卷積神經(jīng)網(wǎng)絡(luò)CNN。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

1. 卷積神經(jīng)網(wǎng)絡(luò)CNN

卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)是一種深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)的架構(gòu),主要用于圖像識(shí)別、圖像分類和計(jì)算機(jī)視覺等任務(wù)。它是由多層神經(jīng)元組成的神經(jīng)網(wǎng)絡(luò),其中包含卷積層、池化層和全連接層等組件。

CNN的設(shè)計(jì)受到了生物視覺系統(tǒng)的啟發(fā),其中最重要的組件是卷積層。卷積層通過使用一系列稱為卷積核(或過濾器)的小矩陣,對(duì)輸入圖像進(jìn)行卷積操作。這個(gè)卷積操作可以理解為滑動(dòng)窗口在輸入圖像上的移動(dòng),對(duì)窗口中的圖像部分和卷積核進(jìn)行逐元素相乘并相加,從而生成輸出特征圖。這個(gè)過程可以有效地提取輸入圖像中的局部特征,例如邊緣、紋理等信息。

隨后,通常會(huì)應(yīng)用池化層來降低特征圖的空間維度,減少模型中的參數(shù)數(shù)量,以及提取更加抽象的特征。常見的池化操作包括最大池化和平均池化,它們分別選擇局部區(qū)域中的最大值或平均值作為池化后的值。

最后,通過一個(gè)或多個(gè)全連接層對(duì)池化后的特征進(jìn)行處理,將其映射到特定的輸出類別。全連接層通常是傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),其輸出用于執(zhí)行分類、回歸或其他任務(wù)。

卷積神經(jīng)網(wǎng)絡(luò)在圖像處理領(lǐng)域表現(xiàn)出色,因?yàn)樗鼈兡軌蜃詣?dòng)從原始像素中學(xué)習(xí)特征,并且能夠處理大量數(shù)據(jù),從而實(shí)現(xiàn)較高的準(zhǔn)確性。在過去的幾年里,CNN在計(jì)算機(jī)視覺和其他領(lǐng)域的許多任務(wù)上取得了顯著的突破,成為深度學(xué)習(xí)的重要組成部分。

2.?tf.keras.layers.Conv1D

邊寫代碼邊學(xué)習(xí)之卷積神經(jīng)網(wǎng)絡(luò)CNN,學(xué)習(xí),cnn,人工智能

tf.keras.layers.Conv1D(
    filters,
    kernel_size,
    strides=1,
    padding="valid",
    data_format="channels_last",
    dilation_rate=1,
    groups=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,
    **kwargs
)

一維卷積層(例如時(shí)間卷積(temporal convolution))。

該層創(chuàng)建一個(gè)卷積核,該卷積核與單個(gè)空間(或時(shí)間)維度上的層輸入進(jìn)行卷積,以產(chǎn)生輸出張量。 如果 use_bias 為 True,則創(chuàng)建偏差向量并將其添加到輸出中。 最后,如果激活不是 None,它也會(huì)應(yīng)用于輸出。

當(dāng)將此層用作模型中的第一層時(shí),請(qǐng)?zhí)峁?input_shape 參數(shù)(整數(shù)元組或 None,例如 (10, 128) 表示 10 個(gè) 128 維向量的向量序列,或 (None, 128) 表示可變長度 128 維向量的序列。

3. 例子

3.1 簡單的一層卷積網(wǎng)絡(luò)

定義一個(gè)一維的卷積,卷積核的shape的(,2),輸入的shape是(None, 1)。 biase沒有,filter是1.??

定義輸入數(shù)據(jù)和卷積核,然后輸入到卷積網(wǎng)絡(luò)中,輸出結(jié)果。

def case1():
    # Create a Conv1D model
    model = tf.keras.Sequential([
        tf.keras.layers.Conv1D(filters=1, kernel_size=2, activation='linear', use_bias=False,
                               input_shape=(None, 1)),
    ])
    model.summary()

    # Input sequence and filter
    input_sequence = np.array([1, 2, 3, 4, 5, 6])
    filter_kernel = np.array([2, -1])

    # Reshape the input sequence and filter to fit Conv1D
    input_sequence = input_sequence.reshape(1, -1, 1)
    filter_kernel = filter_kernel.reshape(-1, 1, 1)

    # Set the weights of the Conv1D layer to the filter_kernel
    model.layers[0].set_weights([filter_kernel])

    # Perform 1D Convolution
    output_sequence = model.predict(input_sequence).flatten()

    print("Input Sequence:", input_sequence.flatten(), "shape:", input_sequence.shape)
    print("Filter:", filter_kernel.flatten(), " shape :",filter_kernel.shape )
    print("Output Sequence:", output_sequence)

if __name__ == '__main__':
    case1()

輸出

Model: "sequential"
_________________________________________________________________
 Layer (type)                Output Shape              Param #   
=================================================================
 conv1d (Conv1D)             (None, None, 1)           2         
                                                                 
=================================================================
Total params: 2
Trainable params: 2
Non-trainable params: 0
_________________________________________________________________
1/1 [==============================] - 0s 121ms/step
Input Sequence: [1 2 3 4 5 6] shape: (1, 6, 1)
Filter: [ 2 -1]  shape : (2, 1, 1)
Output Sequence: [0. 1. 2. 3. 4.]

Process finished with exit code 0

3.2 . 自定激活函數(shù)

為了驗(yàn)證激活函數(shù)是在卷積后調(diào)用,?特寫下面代碼。你們可以根據(jù)輸入和輸出做校驗(yàn)。

def case_custom_activation():
    # Input sequence and filter
    input_sequence = np.array([1, 2, 3, 4, 5, 6])
    filter_kernel = np.array([2, -1])

    # Reshape the input sequence and filter to fit Conv1D
    input_sequence = input_sequence.reshape(1, -1, 1)
    filter_kernel = filter_kernel.reshape(-1, 1, 1)

    def custom_activation(x):
        # return tf.square(tf.nn.tanh(x))
        return tf.square(x)

    # Create a Conv1D model
    model = keras.Sequential([
        keras.layers.Conv1D(filters=1, kernel_size=2, activation=custom_activation, use_bias=False,
                               input_shape=(None, 1)),
    ])

    model.summary()

    # Set the weights of the Conv1D layer to the filter_kernel
    model.layers[0].set_weights([filter_kernel])

    # Perform 1D Convolution
    output_sequence = model.predict(input_sequence).flatten()

    print("Input Sequence:", input_sequence.flatten(), "shape:", input_sequence.shape)
    print("Filter:", filter_kernel.flatten(), " shape :",filter_kernel.shape )
    print("Output Sequence:", output_sequence)

if __name__ == '__main__':
    case_custom_activation()

輸出

Model: "sequential"
_________________________________________________________________
 Layer (type)                Output Shape              Param #   
=================================================================
 conv1d (Conv1D)             (None, None, 1)           2         
                                                                 
=================================================================
Total params: 2
Trainable params: 2
Non-trainable params: 0
_________________________________________________________________
1/1 [==============================] - 0s 57ms/step
Input Sequence: [1 2 3 4 5 6] shape: (1, 6, 1)
Filter: [ 2 -1]  shape : (2, 1, 1)
Output Sequence: [ 0.  1.  4.  9. 16.]

3.3. 驗(yàn)證偏置

和上面代碼唯一不同是,定義了偏置。

def cnn1d_biase():
    # Input sequence and filter
    input_sequence = np.array([1, 2, 3, 4, 5, 6])
    filter_kernel = np.array([2, -1])
    biase = np.array([2])

    # Reshape the input sequence and filter to fit Conv1D
    input_sequence = input_sequence.reshape(1, -1, 1)
    filter_kernel = filter_kernel.reshape(-1, 1, 1)

    def custom_activation(x):
        # return tf.square(tf.nn.tanh(x))
        return tf.square(x)

    # Create a Conv1D model
    model = keras.Sequential([
        keras.layers.Conv1D(filters=1, kernel_size=2, activation=custom_activation,
                               input_shape=(None, 1)),
    ])

    model.summary()

    print(model.layers[0].get_weights()[0].shape)
    print(model.layers[0].get_weights()[1].shape)

    # Set the weights of the Conv1D layer to the filter_kernel
    model.layers[0].set_weights([filter_kernel, biase])

    # Perform 1D Convolution
    output_sequence = model.predict(input_sequence).flatten()

    print("Input Sequence:", input_sequence.flatten(), "shape:", input_sequence.shape)
    print("Filter:", filter_kernel.flatten(), " shape :", filter_kernel.shape)
    print("Output Sequence:", output_sequence)


if __name__ == '__main__':
    cnn1d_biase()

輸出文章來源地址http://www.zghlxwxcb.cn/news/detail-614939.html

Model: "sequential"
_________________________________________________________________
 Layer (type)                Output Shape              Param #   
=================================================================
 conv1d (Conv1D)             (None, None, 1)           3         
                                                                 
=================================================================
Total params: 3
Trainable params: 3
Non-trainable params: 0
_________________________________________________________________
(2, 1, 1)
(1,)
1/1 [==============================] - 0s 60ms/step
Input Sequence: [1 2 3 4 5 6] shape: (1, 6, 1)
Filter: [ 2 -1]  shape : (2, 1, 1)
Output Sequence: [ 4.  9. 16. 25. 36.]

Process finished with exit code 0

到了這里,關(guān)于邊寫代碼邊學(xué)習(xí)之卷積神經(jīng)網(wǎng)絡(luò)CNN的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 深度學(xué)習(xí)之卷積神經(jīng)網(wǎng)絡(luò)中常用模型評(píng)估指標(biāo)(混淆矩陣,精確率,召回率,特異度計(jì)算方法)——python代碼

    深度學(xué)習(xí)之卷積神經(jīng)網(wǎng)絡(luò)中常用模型評(píng)估指標(biāo)(混淆矩陣,精確率,召回率,特異度計(jì)算方法)——python代碼

    深度學(xué)習(xí)之卷積神經(jīng)網(wǎng)絡(luò)中常用模型評(píng)估指標(biāo)(混淆矩陣,精確率,召回率,特異度計(jì)算方法): 混淆矩陣,精確率,召回率,特異度作為卷積神經(jīng)網(wǎng)絡(luò)的模型性能評(píng)價(jià)指標(biāo),它們的計(jì)算和繪制具有非常重要的意義,特別是在寫論文的時(shí)候,我們往往需要這些指標(biāo)來證明我們模

    2024年02月06日
    瀏覽(25)
  • 機(jī)器學(xué)習(xí)之卷積神經(jīng)網(wǎng)絡(luò)

    機(jī)器學(xué)習(xí)之卷積神經(jīng)網(wǎng)絡(luò)

    卷積神經(jīng)網(wǎng)絡(luò)是一類包含卷積計(jì)算且具有深度結(jié)構(gòu)的前饋神經(jīng)網(wǎng)絡(luò),是深度學(xué)習(xí)的代表算法之一。卷積神經(jīng)網(wǎng)絡(luò)具有表征學(xué)習(xí)能力,能夠按其階層結(jié)構(gòu)對(duì)輸入信息進(jìn)行平移不變分類,因此又稱為SIANN。卷積神經(jīng)網(wǎng)絡(luò)仿照生物的視知覺機(jī)制構(gòu)建,可以進(jìn)行監(jiān)督學(xué)習(xí)和非監(jiān)督學(xué)習(xí)

    2024年01月18日
    瀏覽(29)
  • 深度學(xué)習(xí)之卷積神經(jīng)網(wǎng)絡(luò)(CNN)

    深度學(xué)習(xí)之卷積神經(jīng)網(wǎng)絡(luò)(CNN)

    ? ? ? 大家好,我是帶我去滑雪! ? ? ? 卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)是一種基于深度學(xué)習(xí)的前饋神經(jīng)網(wǎng)絡(luò),主要用于 圖像 和 視頻識(shí)別 、 分類 、 分割 和 標(biāo)注 等計(jì)算機(jī)視覺任務(wù)。它主要由 卷積層 、 池化層 、 全連接層 和 激活函數(shù)層 等組成。其中,卷積

    2024年02月05日
    瀏覽(27)
  • TensorFlow學(xué)習(xí)之:了解和實(shí)踐卷積神經(jīng)網(wǎng)絡(luò)和序列模型

    學(xué)習(xí)CNN的結(jié)構(gòu)和原理,了解如何用TensorFlow實(shí)現(xiàn)CNN。 卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)是深度學(xué)習(xí)中的一種強(qiáng)大的模型架構(gòu),特別適合于處理圖像數(shù)據(jù)。CNN通過使用卷積層自動(dòng)地從圖像中學(xué)習(xí)空間層級(jí)的特征,這使得它們?cè)趫D像分類、物體檢測(cè)、圖像分割等計(jì)算機(jī)視

    2024年04月17日
    瀏覽(27)
  • 機(jī)器學(xué)習(xí)之計(jì)算機(jī)視覺中的深度學(xué)習(xí):卷積神經(jīng)網(wǎng)絡(luò)介紹

    機(jī)器學(xué)習(xí)之計(jì)算機(jī)視覺中的深度學(xué)習(xí):卷積神經(jīng)網(wǎng)絡(luò)介紹

    文章代碼來源:《deep learning on keras》,非常好的一本書,大家如果英語好,推薦直接閱讀該書,如果時(shí)間不夠,可以看看此系列文章。 在這一章,我們會(huì)學(xué)習(xí)卷積神經(jīng)網(wǎng)絡(luò),一種在計(jì)算機(jī)視覺中常用的深度學(xué)習(xí)模型,你將會(huì)學(xué)著將它們運(yùn)用到分類問題中。 我們首先會(huì)介紹卷

    2024年02月04日
    瀏覽(32)
  • 【探索AI】十八 深度學(xué)習(xí)之第3周:卷積神經(jīng)網(wǎng)絡(luò)(CNN)(二)-常見的卷積層、池化層與全連接層

    卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)是一種深度學(xué)習(xí)算法,特別適用于處理圖像相關(guān)的任務(wù)。CNN通過模擬人腦視覺皮層的層次化結(jié)構(gòu),實(shí)現(xiàn)了對(duì)圖像的高效特征提取和分類。下面將詳細(xì)介紹CNN的基本原理和結(jié)構(gòu),包括卷積層、池化層和全連接層的作用和位置。 卷積層

    2024年04月16日
    瀏覽(33)
  • 卷積神經(jīng)網(wǎng)絡(luò)模型之——AlexNet網(wǎng)絡(luò)結(jié)構(gòu)與代碼實(shí)現(xiàn)

    卷積神經(jīng)網(wǎng)絡(luò)模型之——AlexNet網(wǎng)絡(luò)結(jié)構(gòu)與代碼實(shí)現(xiàn)

    AlexNet原文地址:https://proceedings.neurips.cc/paper/2012/file/c399862d3b9d6b76c8436e924a68c45b-Paper.pdf AlexNet誕生于2012年,由2012年ImageNet競賽冠軍獲得者Hinton和他的學(xué)生Alex Krizhevsky設(shè)計(jì)的。 AlexNet的貢獻(xiàn)點(diǎn): 首次使用GPU加速網(wǎng)絡(luò)訓(xùn)練 使用ReLU激活函數(shù),代替不是傳統(tǒng)的Sigmoid和Tanh,解決了Sigmo

    2024年02月08日
    瀏覽(22)
  • 72.全卷積神經(jīng)網(wǎng)絡(luò)(FCN)及代碼實(shí)現(xiàn)

    72.全卷積神經(jīng)網(wǎng)絡(luò)(FCN)及代碼實(shí)現(xiàn)

    語義分割是對(duì)圖像中的每個(gè)像素分類 。 全卷積網(wǎng)絡(luò)( fully convolutional network,F(xiàn)CN )采用卷積神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)了從 圖像像素到像素類別的變換 。 與我們之前在圖像分類或目標(biāo)檢測(cè)部分介紹的卷積神經(jīng)網(wǎng)絡(luò)不同,全卷積網(wǎng)絡(luò) 將中間層特征圖的高和寬變換回輸入圖像的尺寸 :這是

    2024年02月05日
    瀏覽(21)
  • 動(dòng)手學(xué)深度學(xué)習(xí)—卷積神經(jīng)網(wǎng)絡(luò)(原理解釋+代碼詳解)

    動(dòng)手學(xué)深度學(xué)習(xí)—卷積神經(jīng)網(wǎng)絡(luò)(原理解釋+代碼詳解)

    多層感知機(jī)對(duì)圖像處理是百萬維度,模型不可實(shí)現(xiàn)。 如果要在圖片中找到某個(gè)物體,尋找方法應(yīng)該和物體位置無關(guān)。 適合 計(jì)算機(jī)視覺 的神經(jīng)網(wǎng)絡(luò)架構(gòu): 平移不變性 :不管檢測(cè)對(duì)象出現(xiàn)在圖像中的哪個(gè)位置,神經(jīng)網(wǎng)絡(luò)前幾層應(yīng)該對(duì)相同圖像區(qū)域有相似的反應(yīng)。 局部性 :神

    2024年02月14日
    瀏覽(23)
  • 圖像分割-FCN全卷積神經(jīng)網(wǎng)絡(luò)(完整代碼詳解)

    圖像分割-FCN全卷積神經(jīng)網(wǎng)絡(luò)(完整代碼詳解)

    目錄 FCN全卷積神經(jīng)網(wǎng)絡(luò) 實(shí)現(xiàn)過程 全卷積 反卷積 FCN的三點(diǎn)創(chuàng)新 code ? ? ? ? FCN為深度學(xué)習(xí)在語義分割領(lǐng)域的開山之作,提出使用卷積層代替CNN中的全連接操作,生成熱力圖heat map而不是類別。 圖1? FCN網(wǎng)絡(luò)結(jié)構(gòu) ????????包括全卷積過程以及反卷積過程。 ????????全卷積

    2024年02月05日
    瀏覽(24)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包