Python 深度學習 學習筆記(十四)

2021-09-25 21:56:17 字數 3330 閱讀 9294

用一維卷積神經網路處理序列

今天,我們將學習到用一維卷積理解序列資料。

一維卷積的卷積核是 (n,1) 的形狀。這裡需要注意的一點是,我們在二維卷積是大部分時間用到的卷積核為(3,3)(3x3=9),在一維卷積層,卷積視窗的大小可以提公升到 (7, ) 或 (9, ).

一維卷積處理的思路與二維的大致相同,這裡直接貼上**例項:

from keras.datasets import imdb

from keras.preprocessing import sequence

max_features =

10000

max_len =

500print

('loading data...'

)(x_train,y_train)

,(x_test,y_test)

= imdb.load_data(num_words=max_features)

print

(len

(x_train)

,'train sequences'

)print

(len

(x_test)

,'test sequences'

)print

('pad sequences (sample x time)'

)x_train = sequence.pad_sequences(x_train,maxlen=max_len)

x_test = sequence.pad_sequences(x_test,maxlen=max_len)

print

('x_train shape:'

,x_train.shape)

print

('x_test shape:'

,x_test.shape)

輸出:

#每個單詞對應乙個128維的向量

from keras.models import sequential

from keras import layers

from keras.optimizers import rmsprop

model = sequential(

)model.add(layers.embedding(max_features,

128,input_length=max_len)

)model.add(layers.conv1d(32,

(7,)

,activation=

'relu'))

#卷積核為 7

這裡特別注意,global_max_pooling1d就是對每個層做最大值池化,從而使 三維—>二維( 也可以用flatten()展平)

驗證集精確度也達到0.86,說明一維卷積的方法是完全可行的,想要再提高精確度需要對模型超引數進行調整,同時還要控制防止過擬合情況。

Python學習筆記(十)

mylab 專案實戰 1 在templates中乙個index.html我需要引入當前資料夾中的另乙個網頁,我直接在index的 中引入 html無效 最後,我在這個專案的主目錄下的urls中進行設定,可行 2 在呼叫網頁的時候,進行views設定,就已經把處理函式給選定了 直接在views,用re...

python學習筆記十

字典遍歷 集合函式 copy僅拷貝物件本身,而不對中的子物件進行拷貝,故對子物件進行修改也會隨著修改。dict1 dict2 dict1 dict3 dict1.copy dict1 user root dict1 num remove 1 print dict1 print dict2 print...

Python深度學習 學習筆記(十三)

上一節,我們提到了rnn已經rnn在keras中最簡單的層 rnn。但 rnn由於過於簡化,沒有實用價值。實際上,它不可以學到長期依賴。原因在於梯度消失問題,當運用比較多的非迴圈層時,而讓網變得無法訓練。同樣的問題其實也普遍發生在密集連線層。今天介紹的lstm long short term mem...