keras提取每一層的係數

2022-09-07 18:12:10 字數 1475 閱讀 5220

import keras

from keras.models import model

from keras.layers import input, dense

from keras.layers.convolutional import conv2d

from keras.layers.pooling import maxpool2d

from keras.layers.normalization import batchnormalization

import numpy as np

mnist_input = input(shape=(28, 28, 1), name='input')

conv1 = conv2d(128, kernel_size=4, activation='relu', name='conv1')(mnist_input)

bn1 = batchnormalization()(conv1)

pool1 = maxpool2d(pool_size=(2, 2), name='pool1')(bn1)

conv2 = conv2d(64, kernel_size=4, activation='relu', name='conv2')(pool1)

bn2 = batchnormalization()(conv2)

pool2 = maxpool2d(pool_size=(2, 2), name='pool2')(bn2)

hidden1 = dense(64, activation='relu', name='hidden1')(pool2)

output = dense(10, activation='softmax', name='output')(hidden1)

model = model(inputs=mnist_input, outputs=output)

print(model.summary())

weights = np.array(model.get_weights())

print(weights[0].shape)

for i in model.get_weights():

print(i.shape)

對於bn層,layer.get_weights()返回乙個list,為[gamma, beta, mean, std]四個array, 見stackoverflow

對於卷積層和全連線層,layer.get_weights()返回乙個list,為[weight, bias]兩個array

for j in model.layers:    # 得到所有層的名稱

print(j.name)

print(model.get_layer('batch_normalization_1').get_weights()) # 根據層的名稱索引到具體的層,然後得到權重係數

OSI每一層的功能

5.2 tcp ip協議棧 5.3 描述tcp協議狀態機及三次握手四次揮手過程 5.4 loopback網絡卡功能 5.5 描述資料報封裝解封裝過程 5.6 埠號的作用及常用的協議埠號有哪些 5.7 ip模組 5.8 基礎路由和交換技術 5.1 osi七層模式 5.1.1 什麼是網路 從小方面來說 ...

TCP的四層結構及每一層的功能

tcp ip是一組協議的代名詞,它還包括許多協議,組成了tcp ip協議簇。tcp ip協議簇分為四層,ip位於協議簇的第二層 對應osi的第三層 tcp位於協議簇的第三層 對應osi的第四層 應用層 應用程式間溝通的層,如簡單電子郵件傳輸 smtp 檔案傳輸協議 ftp 網路遠端訪問協議 teln...

跳表每一層元素數量概率問題

可表述為 從第一層開始,逐次向上一層,對每層進行擲硬幣操作,如果0則不插入,如果為1則插入。對於第一層,元素有1 2概率插入。如果擲硬幣結果為0,則對第二層進行擲硬幣操作,元素有1 2 不插入第一層的概率 1 2 插入第二層的概率 概率插入,以此類推,如果跳表已經有n層,而前n次擲硬幣的操作結果都為...