Python高級架構(gòu)模式知識點(diǎn)總結(jié)
1、殘差連接是目前常用的組件,解決了大規(guī)模深度學(xué)習(xí)模型梯度消失和瓶頸問題。
通常,在10層以上的模型中追加殘差連接可能有幫助。
from keras import layers x = ... y = layers.Conv2D(128, 3, activation='relu', padding='same')(x) y = layers.Conv2D(128, 3, activation='relu', padding='same')(y) y = layers.MaxPooling2D(2, strides=2)(y) # 形狀不同,要做線性變換: residual = layers.Conv2D(128, 1, strides=2, padding='same')(x) # 使用 1×1 卷積,將 x 線性下采樣為與 y 具有相同的形狀 y = layers.add([y, residual])
2、標(biāo)準(zhǔn)化用于使模型看到的不同樣本更相似,有助于模型的優(yōu)化和泛化。
# Conv conv_model.add(layers.Conv2D(32, 3, activation='relu')) conv_model.add(layers.BatchNormalization()) # Dense dense_model.add(layers.Dense(32, activation='relu')) dense_model.add(layers.BatchNormalization())
3、深度可分離卷積層,在Keras中被稱為SeparableConv2D,其功能與普通Conv2D相同。
但是SeparableConv2D比Conv2D輕,訓(xùn)練快,精度高。
from tensorflow.keras.models import Sequential, Model from tensorflow.keras import layers height = 64 width = 64 channels = 3 num_classes = 10 model = Sequential() model.add(layers.SeparableConv2D(32, 3,activation='relu',input_shape=(height, width, channels,))) model.add(layers.SeparableConv2D(64, 3, activation='relu')) model.add(layers.MaxPooling2D(2)) model.add(layers.SeparableConv2D(64, 3, activation='relu')) model.add(layers.SeparableConv2D(128, 3, activation='relu')) model.add(layers.MaxPooling2D(2)) model.add(layers.SeparableConv2D(64, 3, activation='relu')) model.add(layers.SeparableConv2D(128, 3, activation='relu')) model.add(layers.GlobalAveragePooling2D()) model.add(layers.Dense(32, activation='relu')) model.add(layers.Dense(num_classes, activation='softmax')) model.compile(optimizer='rmsprop', loss='categorical_crossentropy')
Counter實(shí)例擴(kuò)展:
from collections import Counter list1 = ['a','b','c',23,23,'a','d','b','e'] counter1 = Counter(list1) print(counter1) print(counter1['a']) #1.1.1統(tǒng)計(jì)不同單詞的數(shù)目 print(len(set(list1))) #1.1.2對統(tǒng)計(jì)結(jié)果進(jìn)行分組 下面的方法表示分為4組,不填默認(rèn)全部分組,以列表 #存儲,里面元素是tuple對象 print(counter1.most_common(4)) #1.1.3 elements()獲取Counter()生成對象的所有鍵名,重復(fù)的幾個會全部打印 # 該方法返回一個迭代器對象 keylist = counter1.elements() print(keylist) print(list(keylist)) #1.1.4 update(x) 更新計(jì)數(shù)器 把x的內(nèi)容加入到原來計(jì)數(shù)器中 #x可以作為字符串,列表,元組,集合,但是不能作為字典,純數(shù)字,否則報(bào)錯 list2 = ['a','d','f','q',2,3,2,3,4] print(counter1) counter1.update(list2) print(counter1) #1.1.5 substract(x) 更新計(jì)數(shù)器 把x代表的次數(shù)減少1,默認(rèn)減少1,(通過字典形式指定一次減少的個數(shù)) #,不存在則減為-1,依次減,作用與update()相反 counter1.subtract('a') print(counter1) counter1.subtract(['a','b',2]) print(counter1)
到此這篇關(guān)于Python高級架構(gòu)模式知識點(diǎn)總結(jié)的文章就介紹到這了,更多相關(guān)Python高級架構(gòu)模式的整理內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python調(diào)用OpenCV實(shí)現(xiàn)圖像平滑代碼實(shí)例
這篇文章主要介紹了Python調(diào)用OpenCV實(shí)現(xiàn)圖像平滑代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-06-06Pytorch深度學(xué)習(xí)addmm()和addmm_()函數(shù)用法解析
這篇文章主要為大家介紹了Pytorch中addmm()和addmm_()函數(shù)用法解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06python 從csv讀數(shù)據(jù)到mysql的實(shí)例
今天小編就為大家分享一篇python 從csv讀數(shù)據(jù)到mysql的實(shí)例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-06-06Pytorch BCELoss和BCEWithLogitsLoss的使用
這篇文章主要介紹了Pytorch BCELoss和BCEWithLogitsLoss的使用詳解,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-05-05python實(shí)現(xiàn)html轉(zhuǎn)ubb代碼(html2ubb)
這篇文章主要介紹了python實(shí)現(xiàn)html轉(zhuǎn)ubb代碼(html2ubb),使用正則表達(dá)式寫的一個函數(shù),需要的朋友可以參考下2014-07-07python使用difflib實(shí)現(xiàn)自動查重
Python中有許多現(xiàn)成的庫和工具,可以方便地實(shí)現(xiàn)自動查重的功能,其中,difflib庫就是一個專門用于比較文件和字符串差異的庫,下面我們就來看看如何利用difflib實(shí)現(xiàn)自動查重吧2023-11-11Python簡單爬蟲導(dǎo)出CSV文件的實(shí)例講解
今天小編就為大家分享一篇Python簡單爬蟲導(dǎo)出CSV文件的實(shí)例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-07-07