【发布时间】:2021-12-04 19:38:25
【问题描述】:
我正在使用 keras 功能 api,但我收到有关模型输入形状的错误 -
ValueError:输入 0 与层金融模型不兼容:预期 shape=(None, 1, 62),发现 shape=(1, 62)
samples = np.array(samples, dtype=np.float64)
labels = np.array(labels, dtype=np.uint8)
x_train, x_test, y_train, y_test = train_test_split(samples, labels, test_size=0.33,
random_state=42)
min_max = MinMaxScaler()
x_train = min_max.fit_transform(x_train)
lstm_input = np.expand_dims(x_train, axis=1).shape
inputs = keras.Input(shape=(lstm_input[1],lstm_input[2]))
hidden = keras.layers.LSTM(lstm_input[2], activation='tanh')(inputs)
output = keras.layers.Dense(2)(hidden)
model = keras.Model(inputs=inputs, outputs=output, name="financial_model")
model.compile(
loss=keras.losses.SparseCategoricalCrossentropy(from_logits=True),
optimizer=keras.optimizers.Adam(learning_rate=0.001),
metrics=["accuracy"],
)
model.summary()
history = model.fit(x_train, y_train, batch_size=1, epochs=5, validation_split=0.2)
我从类似的问题中了解到,输入形状维度中省略了批量大小。当输入对象中遗漏了批量大小时,如何将 3 维输入形状输入 lstm 层?
【问题讨论】:
-
你的样品和标签是什么形状的?
标签: numpy tensorflow keras