sklearn train_test_split в списке трехмерных массивов - PullRequest
0 голосов
/ 19 марта 2020

Я хочу провести классификацию изображений, и в качестве data_X у меня есть список из 12000 трехмерных numpy массивов. Все эти массивы имеют форму 300 x 300 x 3 (высота, ширина, RGB). Мои data_Y - это просто список из 12000 дюймов (от 0 до 5) с указанием класса, к которому принадлежит массив. Когда я использую train_test_split sklearn, как

X_train, X_test, Y_train, Y_test = train_test_split (data_X, data_Y, test_size = 0.2, random_state = 42)

, в результате X_train представляет собой список из 9600 двумерных массивы формы 300 x 300. Как я потерял третье измерение ??

Также, когда пытался подогнать нейронную сеть, как это:

model1 = Sequential ()

model1.add (Conv2D (32, kernel_size = (3, 3), активация = "relu", input_shape = (300, 300, 3)))

model1.add (Conv2D (32, kernel_size = (3, 3), активация = "relu"))

model1.add (MaxPooling2D (pool_size = (2,2)))

model1.add (выпадение (0,25))

model1.add (Flatten ())

model1.add (Плотный (6, активация = "softmax"))

model1.compile (оптимизатор = "rmsprop", потеря = "категорический_центр", метрики = ["точность"])

model1.fit (X_train, Y_train, validation_data = (X_test, Y_test), эпох = 80, пакетный размер = 20)

Я получаю эту ошибку: Ошибка при проверке ввод модели: список массивов Numpy, которые вы передаете своей модели, не соответствует размеру, ожидаемому моделью. Ожидается увидеть 1 массив (ов), но вместо этого получен следующий список из 9600 массивов: [массив ([[1., 1., 1., ..., 1., 1., 1.], [1. , 1., 1., ..., 1., 1., 1.], [1., 1., 1., ..., 1., 1., 1.], ..., [ 1., 1., 1., ..., 1., 1., 1.], [1., 1., 1., ..., 1., 1., 1 ....

Пожалуйста, помогите !!!

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