Home > Back-end >  ValueError: cannot reshape array of size 3 into shape (1,80)
ValueError: cannot reshape array of size 3 into shape (1,80)

Time:03-21

While fitting cnn model to my data, it caught error:

    161         X = X.reshape([X.shape[0], X.shape[1],1])
    162         X_train_1 = X[:,0:10080,:]
--> 163         X_train_2 = X[:,10080:10160,:].reshape(1,80)

ValueError: cannot reshape array of size 3 into shape (1,80)

The input data consists of X_train_1(each sample of shape 1, 10080) and X_train_2(each sample of shape 1, 80). X_train_1 and X_train_2 join to form a sample size of shape 1, 10160. What is the size 3 referring to?

CodePudding user response:

try the following with the two different values for n:

import numpy as np
n = 10160
#n = 10083
X = np.arange(n).reshape(1,-1)
np.shape(X)

X = X.reshape([X.shape[0], X.shape[1],1])
X_train_1 = X[:,0:10080,:]
X_train_2 = X[:,10080:10160,:].reshape(1,80)
np.shape(X_train_2)

If you cannot make sure that X is 10160 long I suggest one of the following solutions:

X_train_1 with 10080 samples, X_train_2 with the rest:

X = X.reshape([X.shape[0], X.shape[1],1])
X_train_1 = X[:,0:10080,:] # X_train_1 with 10080 samples
X_train_2 = X[:,10080:,:].reshape(1,-1) # X_train_2 with the remaining samples

Or X_train_2 with 80 samples, X_train_1 with the rest:

X = X.reshape([X.shape[0], X.shape[1],1])
X_train_1 = X[:,0:-80,:] # X_train_1 with the remaining samples
X_train_2 = X[:,-80:,:].reshape(1,80) # X_train_2 with 80 samples
  • Related