具有多个输入的 keras 验证数据

YON*_*JNS 8 python machine-learning keras

我尝试使用validation_data方法,但有问题

model.fit([X['macd_train'], X['rsi_train'],X['ema_train']],
           Y['train'],
           sample_weight=sample_weight,
           validation_data=([X['macd_valid'],
                             X['rsi_valid'],
                             X['ema_valid']],
                             Y['valid']),
           epochs=nb_epochs,
           batch_size=512,
           verbose=True,
           callbacks=callbacks)
Run Code Online (Sandbox Code Playgroud)

我收到一个错误:

ValueError: The model expects 3  arrays, but only received one array. Found: array with shape (127, 100, 8)
Run Code Online (Sandbox Code Playgroud)

如果我使用,我的代码可以正常运行 validation_data=None

这是我的变量信息

X['macd_train'].shape, X['macd_valid'].shape
(507, 100, 2), (127, 100, 2)

X['rsi_train'].shape, X['rsi_valid'].shape
(507, 100, 1), (127, 100, 1)

X['ema_train'].shape, X['ema_valid'].shape
(507, 100, 6), (127, 100, 6)

Y['train'].shape, Y['valid'].shape
(507, 1), (127, 1)
Run Code Online (Sandbox Code Playgroud)

Nat*_*han 2

model.fit()将数据输入作为第一个参数,将数据输出作为第二个参数。您尝试通过使用来做到这一点[X['macd_train'], X['rsi_train'], X['ema_train']]

但是,您并没有连接数据,而只是增加了数组的维度。您应该使用 来numpy.concatenate()控制正确轴上的串联。