Keras:加载 .h5 模型并预测样本时间序列

时间:2021-05-25 19:30:07

标签: tensorflow keras lstm

我训练了一个 keras LSTM 模型来预测超过 6 个类别的时间序列人类活动。 X_train 中的每一行代表一帧(时间戳),window_size 为 32 帧,即一个活动的长度。此外,每行包含 36 个浮点值(特征)。这是模型的构建方式:

training_data_count = len(X_train)  # 4519 training series 
test_data_count = len(X_test)  # 1197 test series
n_input = len(X_train[0][0])
n_hidden = 34 
n_classes = 6 
learning_rate = 0.0025
decay_rate = 0.02 
lambda_loss_amount = 0.0015
training_epochs = 100  
batch_size = 1024

model = keras.Sequential([
   # relu activation
   keras.layers.Dense(n_hidden, activation='relu', 
       kernel_initializer='random_normal', 
       bias_initializer='random_normal',
       batch_input_shape=(batch_size, n_steps, n_input)
   ),
   keras.layers.LSTM(n_hidden, return_sequences=True,  unit_forget_bias=1.0),
   keras.layers.LSTM(n_hidden,  unit_forget_bias=1.0),

   keras.layers.Dense(n_classes, kernel_initializer='random_normal', 
       bias_initializer='random_normal',
       kernel_regularizer=keras.regularizers.l2(lambda_loss_amount),
       bias_regularizer=keras.regularizers.l2(lambda_loss_amount),
       activation='softmax'
   )
])

模型保存为 model.h5。我现在正在尝试加载模型并预测一个样本活动(在 X_val.txt 中,有 32 行和 36 列)。

model = load_model('model.h5', compile = True)
X_val = load_X(X_val.txt)

# Generate predictions
predictions = model.predict(X_val)
print(predictions)

预测失败

Input to reshape is a tensor with 1152 values, but the requested shape has 1179648
     [[node sequential_1/dense_4/Tensordot/Reshape (defined at <ipython-input-25-8efbdd03d456>:14) ]] [Op:__inference_predict_function_17869]

如何解决重塑问题?

0 个答案:

没有答案
相关问题