Почему мой набор данных сокращается во время тренировки? - PullRequest
0 голосов
/ 31 марта 2020

Во время обучения мой набор данных сокращается. Я не знаю, что вызывает это. Я набрал X и использовал тестовый поезд split

max_features = 4500
X = pad_sequences(sequences = X, maxlen = max_features, padding = 'pre')
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.2, random_state = 101)

X_train.shape

(17983, 4500)

y_train.shape

(17983,)

Это мой алгоритм lstm

lstm_model = Sequential(name = 'lstm_nn_model')
lstm_model.add(layer = Embedding(input_dim = max_features, output_dim = 120, name = '1st_layer'))
lstm_model.add(layer = LSTM(units = 120, dropout = 0.2, recurrent_dropout = 0, name = '2nd_layer'))
lstm_model.add(layer = Dropout(rate = 0.5, name = '3rd_layer'))
lstm_model.add(layer = Dense(units = 120,  activation = 'relu', name = '4th_layer'))
lstm_model.add(layer = Dropout(rate = 0.5, name = '5th_layer'))
lstm_model.add(layer = Dense(units = len(set(y)),  activation = 'sigmoid', name = 'output_layer'))
lstm_model.compile(optimizer = 'adam', loss = 'sparse_categorical_crossentropy', metrics = ['accuracy'])


lstm_model_fit = lstm_model.fit(X_train, y_train, epochs = 2)

enter image description here Когда эпохи начнут бежать, прежде чем это было 1/17983. Теперь, когда я бегу, это 1/562. Обратите внимание, что я новичок в этом, я просто запускаю существующий код для изучения. Почему это происходит?

1 Ответ

1 голос
/ 31 марта 2020

Когда вы подгоняете модель к данным, графический процессор должен загружать все данные и работать с ними. Если графический процессор загружает 17983 данных одновременно, ему не хватит памяти. По этой причине данные помещаются в «Пакет», который представляет собой группы данных, которые обрабатываются вместе. Стандартный размер 32, и если вы сделаете 17983/32 = 561,96875, и он округляется.

...