Как изменить массив массивов? - PullRequest
2 голосов
/ 27 октября 2019

Используя эту функцию

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,) массив.

Как изменить массив массивов ???

...