ValueError: невозможно преобразовать массив размера n в форму (n, высота, ширина) - PullRequest
0 голосов
/ 30 мая 2018

Я делаю обработку данных для cnn, и мой набор данных является корневым изображением завода.Когда я пытаюсь изменить форму мини-пакета, установленного для ввода керас, я не могу изменить его.

Мой тест выглядит так:

subset = chose_data(imgs, 1)
subset.shape

(1,)

подмножество содержит только одно изображение, и форма изображения:

subset[0].shape

(1720, 261)

подмножество:

array([ array([[255, 255, 255, ..., 255, 255, 255],
       [255, 255, 255, ..., 255, 255, 255],
       [255, 255, 255, ..., 255, 255, 255],
       ..., 
       [255, 255, 255, ..., 255, 255, 255],
       [255, 255, 255, ..., 255, 255, 255],
       [255, 255, 255, ..., 255, 255, 255]], dtype=uint8)], dtype=object)

когда я делаю

subset.reshape((subset.shape[0], subset[0].shape[0], subset[0].shape[1]))

Я получаю ошибку значения: не могу преобразовать массив размера 1 в форму (1,1720,261)

выбранные данныеметод:

def chose_data(data, m):
    index = np.random.randint(0, len(data), size = m)
    data_rand = data[index]

    return data_rand

и метод загрузки данных:

data_dir = "/.../data/"
images = []
files = glob.glob (data_dir + "*.jpg")
for file in files:
    image = cv2.imread(file, 0)
    images.append(image)

imgs = np.array(images)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...