我有一個NP陣列稱爲X_train具有以下屬性的使用Keras Conv2D層:如何使用可變形輸入
X_train.shape = (139,)
X_train[0].shape = (210, 224, 3)
X_train[1].shape = (220,180, 3)
換句話說,有139個觀測。每張圖片都有不同的寬度和高度,但都有3個通道。所以維度應該是(139, None, None, 3)
其中None =變量。
由於您沒有在圖層中包含觀察值數量的維數,因此我使用的Conv2D圖層使用了input_shape=(None,None,3)
。但是,這給我的錯誤:
expected conv2d_1_input to have 4 dimensions, but got array with shape (139, 1)
我的猜測是,這個問題是輸入形狀(139,)
,而不是(139, None, None, 3)
。但是我不確定如何轉換到那個。
這就是問題所在,我想你會需要一個輸入/培訓目標在同一時間(批次大小爲1),否則您將無法創建具有一致尺寸的陣列 – gionni
爲什麼不用零填充圖像以使它們都具有相似的尺寸? –
@WilmarvanOmmeren好主意 - 有沒有這樣的功能? – megashigger