- тензор формы (num_window, window_len) -> (1, 600)
Код: Выделить всё
X_infer
- тензор в форме (num_window, window_len) -> (1, 600)
Код: Выделить всё
y_infer
- : 128 (амплитуда)
Код: Выделить всё
X
- : 5 (Цветовая метка)
Код: Выделить всё
y
- тензор формы (num_window, window_len) -> (471, 180)
Код: Выделить всё
X_train
- тензор в форме (num_window, window_len) -> (471, 180)
Код: Выделить всё
y_train
Код: Выделить всё
model = instantiate_untrained_model(seq_len=180)
model.fit(X_train, y_train)
Код: Выделить всё
model.save_weights('trained.weights.h5')
Код: Выделить всё
# 600
model = instantiate_untrained_model(seq_len=600) # entire array
model.load_weights('trained.weights.h5') # No error
y_pred_600 = model.predict(X_infer)
# 180
model = instantiate_untrained_model(seq_len=180) # windowed array
model.load_weights('trained.weights.h5')
y_pred_180 = model.predict(X_train)
[img]https:/ /i.sstatic.net/0kHa9JlC.png[/img]
Построение прогноза y_pred_600 и его основная истина:

Хотя это сигнал, но вы можете считать эту проблему именованной Распознавание объектов.
А вот модель keras:
Код: Выделить всё
SEQ_LEN=seq_len
VOCAB_SIZE=128
EMBEDD_DIM=128
encoder_inputs = Input(shape=(SEQ_LEN,), name="encoder_inputs", dtype=np.uint8)
token_embeddings = Embedding(input_dim=VOCAB_SIZE, output_dim=EMBEDD_DIM)(encoder_inputs)
position_encodings = SinePositionEncoding()(token_embeddings)
# this line adds up the embeddings and fixes the problem
embeddings = token_embeddings + position_encodings
encoder_outputs = TransformerEncoder(intermediate_dim=EMBEDD_DIM*4, num_heads=2, dropout=0.05)(inputs=embeddings)
# Output layer for vocabulary size of 5
output_predictions = Dense(units=5, activation=None)(encoder_outputs)
# Final model
model = Model(encoder_inputs, output_predictions, name="transformer_encoder")
Почему это произошло? Есть ли связь с SinePositionEncoding или чем-то еще? Модель не является гибкой и ненадежной, она обеспечивает хорошую производительность только тогда, когда длина последовательности равна 180 вместо произвольной длины? Как я могу решить эту проблему?
Подробнее здесь: https://stackoverflow.com/questions/792 ... ing-traini