Мне нужно реализовать и обучить 8 нейронных сетей со следующей архитектурой:
- Входной слой с последовательностями длиной L
- Встраивание с 32 модулями
- LSTM с 32 модулями
- LSTM с 32 модулями
- Полностью связанный слой с 46 модулями
Каждую из нейронных сетей необходимо обучить и оценить с помощью одного и того же набора news (см. раздел ниже о наборе данных), но с разной длиной текста. Например, мы можем использовать следующие длины: 10,20,30,50,100,150,200 и 250.
О наборе данных
import tensorflow as tf
import matplotlib.pyplot as plt
import numpy as np
%matplotlib inline
num_words = 2000
(reuters_train_x, reuters_train_y), (reuters_test_x, reuters_test_y) = tf.keras.datasets.reuters.load_data(num_words=num_words)
n_labels = np.unique(reuters_train_y).shape[0]
print("labels: {}".format(n_labels))
# This is the first new
print(reuters_train_x[0])
Реализация LSTM
model2 = Sequential()
#Embedding
model2.add(Embedding(input_dim=num_words,32,input_length=10))
#LSTM(1)
model2.add(LSTM(32))
#LSTM(2)
model2.add(LSTM(32))
#fully connected
model2.add(Dense(46,activation='softmax'))
И Теперь я должен обучить модель, но есть ли способ оценить все длины без необходимости 8 раз строить / кодировать то же самое, просто изменяя длину?