2017-09-13 79 views
1

我嘗試使用validation_data的方法,但有一個問題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) 

我得到一個錯誤:

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) 
+0

你能否給我們提供模型定義? –

回答

1

model.fit()將數據輸入作爲第一個參數,並將數據輸出作爲第二個參數。您試圖通過使用[X['macd_train'], X['rsi_train'], X['ema_train']]

但是,您不是串聯數據,而只是增加數組的維數。您應該使用numpy.concatenate()來控制適當軸上的串聯。