Я пытаюсь отформатировать массив для сверточной нейронной сети, и я продолжаю получать эту ошибку, когда пытаюсь изменить массив в желаемые размеры с помощью этой функции.
x_train = x_train.reshape(200, 320, 240, 1)
Каждое изображение имеетдлина 320 пикселей и ширина 240 пикселей, и их 200.В настоящее время массив форматируется следующим образом:
[[....], [.....], [.....]]
, где каждый «под» массивсоответствует данным, извлеченным из каждого изображения.Однако функция выше считывает длину массива как количество «под» массивов, а не как число членов.Как я могу объединить подмассивы в один больший массив, например,
[.....................]
, позволяющийизменить форму, чтобы вычислить ее длину на основе количества терминов?
Я уже пробовал копировать отдельные термины в массив, но это дает ту же ошибку.Я также прочитал все остальные сообщения переполнения стека, содержащие ту же ошибку.
В настоящее время это мой сценарий обработки данных.
train_size = 600
test_size = 200
batch_size = 60
num_classes = 2
epochs = 10
img_rows, img_cols = 320, 240
TrainArray = []
for file in os.listdir("C:/Users/aeshon/Desktop/Project2020/Step2/TRAIN/birds"):
img = imread("C:/Users/aeshon/Desktop/Project2020/Step2/TRAIN/birds/" + file)
# print("Hi"+str(count))
new_img = img[:, :, 0]
TrainArray.append(new_img)
for file in os.listdir("C:/Users/aeshon/Desktop/Project2020/Step2/TRAIN/animals"):
img = imread("C:/Users/aeshon/Desktop/Project2020/Step2/TRAIN/animals/" + file)
# print("Hi"+str(count))
new_img = img[:, :, 0]
TrainArray.append(new_img)
print("Train Array Synthesis Complete")
x_train = np.asarray(TrainArray)
del TrainArray
print("Array Deleted!")
count = 0
TestArray = []
for file in os.listdir("C:/Users/aeshon/Desktop/Project2020/Step2/TEST/birds"):
img = imread("C:/Users/aeshon/Desktop/Project2020/Step2/TEST/birds/" + file)
# print("Hi"+str(count))
new_img = img[:, :, 0]
TestArray.append(new_img)
for file in os.listdir("C:/Users/aeshon/Desktop/Project2020/Step2/TEST/animals"):
img = imread("C:/Users/aeshon/Desktop/Project2020/Step2/TEST/animals/" + file)
# print("Hi"+str(count))
new_img = img[:, :, 0]
TestArray.append(new_img)
print("Test Array Synthesis Complete")
x_test = np.asarray(TestArray)
#print(TestArray)
del TestArray
print("Array Deleted!")
#sys.exit()
x_train = x_train.reshape(train_size, img_rows, img_cols, 1)
x_test = x_test.reshape(test_size, img_rows, img_cols, 1)
РЕДАКТИРОВАТЬ: код ошибки
Traceback (most recent call last):
File "C:/Users/aeshon/PycharmProjects/Object_Detector/Model2.py", line 59, in <module>
x_test = x_test.reshape(-1, img_rows, img_cols, 1)
ValueError: cannot reshape array of size 200 into shape (320,240,1)
массив в настоящее время выглядит следующим образом (отредактировано для длины):
[[ 2, 13, 0, ..., 0, 16, 0],
[ 11, 96, 112, ..., 80, 77, 13],
[ 0, 106, 122, ..., 93, 81, 4],
...
[168, 167, 164, ..., 183, 183, 184],
[170, 168, 165, ..., 183, 183, 184],
[171, 169, 165, ..., 183, 184, 184]]