Модель Keras оценивает ожидаемые размеры тренировочного набора вместо размеров тестового набора

[container.requirements.dataraces] / 2 говорит:

Несмотря на (17.6.5.9), реализации необходимы, чтобы избежать гонок данных, когда содержимое содержащегося объекта в разных элементах в тот же контейнер, за исключением vector<bool>, изменяется одновременно.

Таким образом, вы можете безопасно изменять отдельные элементы одного и того же контейнера стандартной библиотеки из отдельных потоков, за исключением случаев, когда этот контейнер является vector<bool>.

0
задан JHeisey 15 January 2019 в 23:54
поделиться

2 ответа

Идея Ankish Bansal разбить длинную последовательность на маленькие окна может быть хорошим подходом. Но вы можете захотеть сохранить всю последовательность по какой-то причине.

В этом случае вы должны установить input_shape=(None,98), таким образом, ваша модель принимает любую длину последовательности. (При условии, что вы не используете слой Flatten или другой слой, для которого требуются фиксированные размеры.)

Но, если в ваших данных «более одной последовательности», вам, вероятно, следует просмотреть все, потому что число из последовательностей обычно должен быть размер партии.

0
ответ дан Daniel Möller 15 January 2019 в 23:54
поделиться

Слой Keras LSTM ожидает, что на входе будет 3 димма, как (batch_size, seq_length, input_dims), но вы его неправильно присвоили. Попробуйте это

Сначала измените ваши данные следующим образом: (1,18227, 98) и набор тестов x_test измерений (1,3217, 98)

X_train = x_train.reshape(-1,98)
X_test = x_test.reshape(-1,98)

Теперь используйте выбор [113 ], я выбрал 10.

seq_length = 10
X_train1 = []
X_test1 = []
for i in range(0, X_train.shape[0] - seq_length, 1):
    X_train1.append(X_train[i:i+seq_length])      
    X_test1.append(X_test[i:i+seq_length])
    # labels.append(labels[i+seq_length-1])
import numpy as np
X_train1 = np.reshape(X_train1, (-1, seq_length, 98))
X_test1 = np.reshape(X_test1, (-1, seq_length, 98))

Теперь вы готовы идти

input_dims = 98 # an integer
seq_length = 10 # an integer
model = Sequential()
 model.add(LSTM(128, activation='relu', input_shape=(seq_length, input_dims), return_sequences=True))

Вы использовали одну последовательность для своей модели, что неэффективно.

0
ответ дан Ankish Bansal 15 January 2019 в 23:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: