微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

无法重塑数组

如何解决无法重塑数组

Val和测试数据的形状:

x_train = train_data.reshape(train_data.shape[0],train_data.shape[1],train_data.shape[2],INPUT_DIMENSION)
#x_t =x_train = train_data.reshape(train_data.shape[0],train_data.shape[2])
x_test_all = test_data.reshape(test_data.shape[0],test_data.shape[1],test_data.shape[2],INPUT_DIMENSION)

x_val = x_test_all[-VAL_SIZE:]
y_val = y_test[-VAL_SIZE:]

x_test = x_test_all[:-VAL_SIZE]
y_test = y_test[:-VAL_SIZE]


history_fdssc = model_fdssc.fit(
        [x_train.reshape(x_train.shape[0],x_train.shape[1],x_train.shape[2],x_train.shape[3],1),x_train.reshape(x_train.shape[0],x_train.shape[3])],[y_train,y_train,y_train],validation_data=(x_val.reshape(x_val.shape[0],x_val.shape[1],x_val.shape[2],x_val.shape[3],y_val),batch_size=batch_size,epochs=nb_epoch,shuffle=True,callbacks=[early_Stopping,save_Best_Model,reduce_LR_On_Plateau,history,tensor_board])

运行程序时,出现以下错误

Please input the name of Dataset(IN,UP,KSC or SS):KSC
(512,614,176)
The class numbers of the HSI data is: 13
-----Importing Setting Parameters-----
-----Starting the  1 Iteration-----
Train size:  1048
Test size:  4163
Validation size:  524

-----Selecting Small Pieces from the Original Cube Data-----

回溯(最近通话最近): 在第189行的文件“ hyb.py”中 x_t = x_train = train_data.reshape(train_data.shape [0],train_data.shape [1],train_data.shape [2]) ValueError:无法将大小为14940288的数组重塑为形状(1048、9、9)

解决方法

该错误源自第一行,因为数组的总大小无法通过给定的整形参数整除。这是一个玩具示例:

x_train = train_data.reshape(train_data.shape[0],train_data.shape[1],train_data.shape[2],INPUT_DIMENSION)
>>> x = np.arange(14940288)
>>> x.reshape(1049,9,9)
Traceback (most recent call last):
  File "<stdin>",line 1,in <module>
ValueError: cannot reshape array of size 14940288 into shape (1049,9)

这是您应该尝试的方法。另外,请注意,您没有提供变量INPUT_DIMENSION

>>> x.reshape(-1,9).shape  #-1 takes the whole length
(184448,9)
>>> INPUT_DIMENSION = 16 
>>> x.reshape(-1,INPUT_DIMENSION).shape
(11528,16)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。