【问题标题】:keras validation_data with multiple input具有多个输入的 keras validation_data
【发布时间】:2017-09-13 11:33:48
【问题描述】:

我尝试使用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)

我收到一个错误:

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

如果我使用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)

【问题讨论】:

  • 您能给我们提供一个模型定义吗?

标签: python machine-learning keras


【解决方案1】:

model.fit() 将数据输入作为第一个参数,将数据输出作为第二个参数。你尝试使用[X['macd_train'], X['rsi_train'], X['ema_train']]

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

【讨论】:

    猜你喜欢
    • 2019-09-17
    • 2019-03-28
    • 2019-03-06
    • 1970-01-01
    • 2019-08-28
    • 2019-11-11
    • 2019-08-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多