主頁 > 知識庫 > Python高級架構模式知識點總結

Python高級架構模式知識點總結

熱門標簽:ai電話機器人哪里好 湛江智能外呼系統(tǒng)廠家 西藏房產智能外呼系統(tǒng)要多少錢 外呼并發(fā)線路 長沙高頻外呼系統(tǒng)原理是什么 地圖標注審核表 百度地圖標注沒有了 宿遷星美防封電銷卡 ai電銷機器人源碼

1、殘差連接是目前常用的組件,解決了大規(guī)模深度學習模型梯度消失和瓶頸問題。

通常,在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、標準化用于使模型看到的不同樣本更相似,有助于模型的優(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輕,訓練快,精度高。 

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實例擴展:

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)計不同單詞的數(shù)目
print(len(set(list1)))

#1.1.2對統(tǒng)計結果進行分組 下面的方法表示分為4組,不填默認全部分組,以列表
#存儲,里面元素是tuple對象
print(counter1.most_common(4))


#1.1.3 elements()獲取Counter()生成對象的所有鍵名,重復的幾個會全部打印
# 該方法返回一個迭代器對象
keylist = counter1.elements()
print(keylist)
print(list(keylist))

#1.1.4 update(x) 更新計數(shù)器 把x的內容加入到原來計數(shù)器中
#x可以作為字符串,列表,元組,集合,但是不能作為字典,純數(shù)字,否則報錯
list2 = ['a','d','f','q',2,3,2,3,4]
print(counter1)
counter1.update(list2)
print(counter1)

#1.1.5 substract(x) 更新計數(shù)器 把x代表的次數(shù)減少1,默認減少1,(通過字典形式指定一次減少的個數(shù))
#,不存在則減為-1,依次減,作用與update()相反

counter1.subtract('a')
print(counter1)
counter1.subtract(['a','b',2])
print(counter1)

到此這篇關于Python高級架構模式知識點總結的文章就介紹到這了,更多相關Python高級架構模式的整理內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

標簽:林芝 普洱 南平 盤錦 寧夏 海南 漯河 大同

巨人網絡通訊聲明:本文標題《Python高級架構模式知識點總結》,本文關鍵詞  Python,高級,架構,模式,知識點,;如發(fā)現(xiàn)本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Python高級架構模式知識點總結》相關的同類信息!
  • 本頁收集關于Python高級架構模式知識點總結的相關信息資訊供網民參考!
  • 推薦文章