Что делает Keras, когда количество входных данных слоя LSTM больше или меньше количества ячеек LSTM в этом слое?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Что делает Keras, когда количество входных данных слоя LSTM больше или меньше количества ячеек LSTM в этом слое?

Сообщение Anonymous »

Пожалуйста, посмотрите код Python ниже. Я оставил комментарии в коде, где, по моему мнению, требуется акцент на информации.

Код: Выделить всё

import keras
import numpy

def build_model():
model = keras.models.Sequential()
model.add(keras.layers.LSTM(3, input_shape = (3, 1), activation = 'elu'))# Number of LSTM cells in this layer = 3.
return model

def build_data():
inputs = [1, 2, 3, 4, 5, 6, 7, 8, 9]
outputs = [10, 11, 12, 13, 14, 15, 16, 17, 18]
inputs = numpy.array(inputs)
outputs = numpy.array(outputs)
inputs = inputs.reshape(3, 3, 1)# Number of samples = 3, Number of input vectors in each sample  = 3, size of each input vector = 3.
outputs = outputs.reshape(3, 3)# Number of target samples = 3, Number of outputs per target sample = 3.
return inputs, outputs

def train():
model = build_model()
model.summary()
model.compile(optimizer= 'adam', loss='mean_absolute_error', metrics=['accuracy'])
x, y = build_data()
model.fit(x, y, batch_size = 1, epochs = 4000)
model.save("LSTM_testModel")

def apply():
model = keras.models.load_model("LSTM_testModel")
input = [[[7], [8], [9]]]
input = numpy.array(input)
print(model.predict(input))

def main():
train()

main()
Насколько я понимаю, для каждого входного образца существует 3 входных вектора. Каждый входной вектор попадает в ячейку LSTM. т. е. для образца 1 входной вектор 1 переходит в ячейку LSTM 1, входной вектор 2 переходит в ячейку LSTM 2 и так далее.

Просматривая учебные пособия в Интернете, я Я видел, что количество ячеек LSTM намного больше, чем количество входных векторов, например. 300 ячеек LSTM.

Скажем, например, у меня есть 3 входных вектора на выборку, какие входные данные поступают в 297 оставшихся ячеек LSTM?

Я попытался скомпилировать модель с двумя ячейками LSTM, и она по-прежнему принимала 3 входных вектора на выборку, хотя мне пришлось изменить целевые выходные данные в обучающих данных, чтобы приспособиться к этому (изменить размеры). Так что же случилось с третьим входным вектором каждого образца... он игнорируется?

Изображение


Я верю, что На изображении выше показано, что каждый входной вектор (произвольного сценария) сопоставляется с определенной ячейкой RNN. Возможно, я неправильно это интерпретирую. Изображение выше взято со следующего URL: http://karpathy.github.io/2015/05/21/rnn-efficientness/

Подробнее здесь: https://stackoverflow.com/questions/596 ... er-than-or
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»