Используя эту функцию
def imRead (fold, file):
image = Image.open(os.path.join(fold, file)).convert('L')
image = image.resize((int(image.size[0]/100), int(image.size[1]/100)), Image.ANTIALIAS)
imData = np.asanyarray(image.getdata()).reshape(image.size)
return imData/255
Я читаю изображения в градациях серого в столбец кадра данных
data02 = data02.values
for j in range(0, len(data02)):
data02[j][2] = imRead(train_image_path, data02[j][0])
, затем разделяю данные изображения и метки
X = data02[:,2]
Y = data02[:,1]
Наконец, мой X - это массив массивов с длиной числа изображений (20 для теста) и каждого элемента - массива 210 * 140 (размер изображения). Как мне изменить форму X по порядку? передать его в слой Conv NN?
model = Sequential()
model.add(Conv2D(filters = 32, kernel_size = (5,5),padding = 'Same',
activation ='relu', input_shape = (210,140,1)))
X.reshape(20, 210,140,1)
Дает ошибку 'cannot reshape array of size 20 into shape (20,210,140,1)'
Я попытался применить много других фигур, но безуспешно, поскольку основной массив - это всего лишь (20,) массив.
Как изменить массив массивов ???