Я хочу создать список из 10 матриц (32,32,3), который будет содержать сумму значений из моих изображений RGB.
Так что я использовал matrixSum = np.zeros((10,32,32,3),np.uint64)
И я думал, чтобы получить к нему доступ, используя matrixSum[indiceClass][ligne][col][rgb]
Но я продолжаю иметь ошибку, сообщающую мне, что matrixSum [indiceClass] только размер 1
![enter image description here](https://i.stack.imgur.com/gPFhz.png)
Поэтому я изменил свой код на matrixSum[indiceClass][0][ligne][col][rgb]
, и у меня больше нет этой ошибки, но это доставляет мне проблемы позже.
Я что-то не так делаю? Не понятно, почему у меня будет массив размером 1 вместо 32. Или это логично?
Вот полный код функции: (indiceclasse будет только между 0 и 9)
def createMatrixSum(data, nbImagesParClasse):
matricesSum = np.zeros((10,32,32,3),np.uint64)
indiceClasse = 0
for i in range(0,80):
indiceClasse = data["y"][i]
indiceClasse -= 1;
nbImagesParClasse[indiceClasse] += 1
for ligne in range(32):
for col in range(32):
for rgb in range(3):
matricesSum[indiceClasse][ligne][col][rgb] += data["X"][ligne,col,rgb,i]
return matricesSum, nbImagesParClasse
Редактировать: вот длина и форма моих данных / матрицы до ошибки.
![enter image description here](https://i.stack.imgur.com/IGy02.png)
Я не вижу ничего плохого.