ValueError: logits and labels must have the same shape ((None, 2) vs (None, 1))
ValueError: logits and labels must have the same shape ((None, 2) vs (None, 1))
我正在使用 LSTMS 来预测我们(机器人)是否应该根据 2 个因素购买东西。所以我的 X 由一个 numpy 数组组成,每个数组由单独的 numpy 数组组成,每个数组都有一个 2 的 numpy 数组。因为这令人困惑,它看起来像 np.array(np.array(np.array([item,item ]),np.array([item,item])),np.array(np.array([item,item]),np.array([item,item])))
我的 y 值是一个 0 和 1 列表的 numpy 数组。一个例子是
[[1]
[0]
[0]
...
[0]]
这是我的模型
model = Sequential()
model.add(LSTM(128,input_shape=(30,2),return_sequences=True))
model.add(Dropout(0.1))
model.add(LSTM(128,return_sequences=True))
model.add(Dropout(0.2))
model.add(LSTM(128))
model.add(Dropout(0.1))
model.add(BatchNormalization())
model.add(Flatten())
model.add(Dense(64,activation='relu'))
model.add(Dense(2,activation='softmax'))
model.compile(optimizer='adam',loss='binary_crossentropy',metrics=['accuracy'])
model.fit(seqs,buy_sell,epochs=200,callbacks=[tensboard])
和我的回溯
ValueError: logits and labels must have the same shape ((None, 2) vs (None, 1))
我正在考虑重塑我的 X/y 但这不会影响模型。我将如何解决这个问题?
损失函数和这个有关系吗?
添加到我的评论中,如果您出于任何原因想要坚持 softmax
激活(您将来可能会有更多 类),请将最后一行代码修改为:
model.fit(seqs, tf.keras.utils.to_categorical(buy_sell, num_classes=2), epochs=200, callbacks=[tensboard])
我正在使用 LSTMS 来预测我们(机器人)是否应该根据 2 个因素购买东西。所以我的 X 由一个 numpy 数组组成,每个数组由单独的 numpy 数组组成,每个数组都有一个 2 的 numpy 数组。因为这令人困惑,它看起来像 np.array(np.array(np.array([item,item ]),np.array([item,item])),np.array(np.array([item,item]),np.array([item,item])))
我的 y 值是一个 0 和 1 列表的 numpy 数组。一个例子是
[[1]
[0]
[0]
...
[0]]
这是我的模型
model = Sequential()
model.add(LSTM(128,input_shape=(30,2),return_sequences=True))
model.add(Dropout(0.1))
model.add(LSTM(128,return_sequences=True))
model.add(Dropout(0.2))
model.add(LSTM(128))
model.add(Dropout(0.1))
model.add(BatchNormalization())
model.add(Flatten())
model.add(Dense(64,activation='relu'))
model.add(Dense(2,activation='softmax'))
model.compile(optimizer='adam',loss='binary_crossentropy',metrics=['accuracy'])
model.fit(seqs,buy_sell,epochs=200,callbacks=[tensboard])
和我的回溯
ValueError: logits and labels must have the same shape ((None, 2) vs (None, 1))
我正在考虑重塑我的 X/y 但这不会影响模型。我将如何解决这个问题?
损失函数和这个有关系吗?
添加到我的评论中,如果您出于任何原因想要坚持 softmax
激活(您将来可能会有更多 类),请将最后一行代码修改为:
model.fit(seqs, tf.keras.utils.to_categorical(buy_sell, num_classes=2), epochs=200, callbacks=[tensboard])