我在理解張量流中的LSTM模型時遇到了一些麻煩。 爲了簡單起見,我們考慮Example program。瞭解Tensorflow LSTM模型輸入?
我使用tflearn作爲包裝,因爲它自動完成所有初始化和其他更高級別的工作。
直行號42
net = tflearn.input_data([None, 200])
很清楚發生了什麼。 您將一個數據集加載到變量中,並在此情況下將其標準長度設置爲200.對於這兩個輸入變量以及此時出現的2個類都將轉換爲一個熱向量。
我在這裏想知道的是,LSTM如何處理輸入以及它預測輸出的樣本數量? 這裏n_words=20000
& net = tflearn.embedding(net, input_dim=20000, output_dim=128)
這些參數表明什麼?
活動識別數據集例如我想輸入4096向量作爲輸入提供給LSTM和想法是採取這樣的載體16,然後產生分類結果。
我認爲的代碼是這樣的,但我不知道怎麼輸入LSTM應給予
from __future__ import division, print_function, absolute_import
import tflearn
from tflearn.data_utils import to_categorical, pad_sequences
from tflearn.datasets import imdb
train, val = something.load_data()
trainX, trainY = train #each X sample is a (16,4096) nd float64
valX, valY = val #each Y is a one hot vector of 101 classes.
net = tflearn.input_data([None, 16,4096])
net = tflearn.embedding(net, input_dim=4096, output_dim=256)
net = tflearn.lstm(net, 256)
net = tflearn.dropout(net, 0.5)
net = tflearn.lstm(net, 256)
net = tflearn.dropout(net, 0.5)
net = tflearn.fully_connected(net, 101, activation='softmax')
net = tflearn.regression(net, optimizer='adam',
loss='categorical_crossentropy')
model = tflearn.DNN(net, clip_gradients=0., tensorboard_verbose=3)
model.fit(trainX, trainY, validation_set=(testX, testY), show_metric=True,
batch_size=128,n_epoch=2,snapshot_epoch=True)
鏈接已損壞。重命名爲https://github.com/nlintz/TensorFlow-Tutorials/blob/master/07_lstm.py –
謝謝!更新。 –