Я столкнулся с проблемой, когда я пытался подобрать модель, вот моя модель сборки и форма моего поезда и данные испытаний:
import keras
def buildModel(dataLength, labelLength):
price=Input(shape=(dataLength, 51),name='price')
# price = Input(shape = (dataLength,1),name='price')
sentiment = Input(shape=(dataLength, 51),name='sentiment')
priceLayers = LSTM(64, return_sequences=False)(price)
sentimentLayers = LSTM(64, return_sequences=False)(sentiment)
output = keras.layers.concatenate(
[priceLayers,sentimentLayers,]
)
output = Dense(labelLength, activation='linear',name='output')(output)
model = Model(
inputs = [price,sentiment],
outputs=[output]
)
model.compile(optimizer='rmsprop',loss='mse')
return model
from keras.layers import Input, Embedding, LSTM, Dense
from keras.models import Model
lstm = buildModel(22234,1)
lstm.fit([trainX,trainS],[trainY],validation_data=(
[testX,testS],
[testY]),epochs = 10)
trainX.shape = (1, 22234, 51)
testX.shape = (1, 9500, 51)
trainY.shape = (22234,)
testY.shape = (9500,)
trainS.shape = (1, 22234, 51)
testS.shape = (1, 9500, 51)
Ошибка показывает:
ValueError Traceback (most recent call last)
<ipython-input-40-4d75b702c980> in <module>()
5 lstm.fit([trainX,trainS],[trainY],validation_data=(
6 [testX,testS],
----> 7 [testY]),epochs = 10
8 )
ValueError: Input arrays should have the same number of samples as target arrays. Found 1 input samples and 22234 target samples.
Но я не понимаю, почему он говорит, что мои входные и целевые выборки имеют разный размер, потому что в X и S есть 3 измерения, а в Y только 2D?Я думаю: вход должен быть 3D, поэтому я изменяю X и S;однако Y является меткой, и ее не нужно изменять