簡體   English   中英

python 中全連接深度神經網絡輸入的重塑誤差

[英]reshape error of fully connected deep neural network input in python

我正在實現一個完全連接的深度神經網絡。 為網絡提供數據需要重塑我的數據,但我面臨這個錯誤。 這是解決它的任何建議嗎?

import time
start=time.time()
import numpy as np
from keras.layers import Dense
from keras.models import Sequential
from scipy.io import loadmat

Tar_train = (x['t_train']) 
Tar_val = (x['t_val'])
Tar_test = (x['t_test'])

Signal_train = x['data_train']
Signal_val = x['data_val']
Signal_test = x['data_test']

Signal_train = np.reshape(Signal_train,(240*64)) 
Signal_val = np.reshape(Signal_val,(240*64))
Signal_test = np.reshape(Signal_test,(240*64))

model = Sequential()
model.add(Dense(20 , activation='relu' , input_shape=(240*64,) ))
model.add(Dense(200, activation='relu'))

signal_train 的大小是 (1274, 240, 64) signal_validation 的大小是 (510, 240, 64) signal_test 的大小是 (764, 240, 64)

錯誤是:ValueError:無法將大小為 19568640 的數組重塑為形狀(15360,)

假設錯誤發生在第一個np.reshape中,請使用

Signal_train = np.reshape(Signal_train, (-1, 240*64)) 
Signal_val = np.reshape(Signal_val, (-1, 240*64))
Signal_test = np.reshape(Signal_test, (-1, 240*64))

這是因為當您展平兩個維度的 rest 時,會保留第一個維度(1274,對於Signal_train )。 例如,當您將 1274 張 240 x 64 的圖像展平為 1274 個尺寸為 240*64 的向量時,總共仍有 1274 張圖像。

尺寸尺寸-1表示讓 numpy 使用適合原始尺寸的任何尺寸尺寸。 在這種情況下,第一個-1隱含1274等。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM