我有一个简单的数据集,其中包含x_train(1048575,19)和y_train(1048575,)
我的代码如下所示
x_train = np.array(feature_df.values)
y_train = np.array(target.values)
x_train = x_train.reshape(-1,1,19)
y_train = y_train.reshape(-1,1,1)
model = tf.keras.Sequential([
LSTM(64, activation='tanh', input_shape=(1, 19),return_sequences = True),
LSTM(64, activation='tanh',return_sequences = True),
LSTM(64, activation='tanh',return_sequences = True),
LSTM(64, activation='tanh',return_sequences = True),
Dense(10, activation='relu'),
Dense(1)
])
model.compile(optimizer='adam',
loss=tf.keras.losses.BinaryCrossentropy(from_logits=True),
metrics=['accuracy'])
model.fit(x_train,y_train, epochs=5)
我遵循了这个question,将我的x和y火车重塑为3维,效果很好。
我上面的代码有两个问题
1。这样重塑y_train是否正确?
2.我想知道是否将tensorflow数据集作为我的fit函数的输入,我应该如何重塑数据集?
例如,我用
dataset = tf.data.Dataset.from_tensor_slices((feature_df.values, target.values))
# with LSTM(64, activation='tanh', input_shape=(1, 19),return_sequences = True)
model.fit(dataset, epochs=5)
这给我错误
ValueError: Error when checking input: expected lstm_input to have 3 dimensions,
but got array with shape (19, 1)
我尝试对我的数据集使用expand_dims,但是它不起作用
如果我使用tensorflow数据集,应如何重塑数据集?
谢谢!