Я думаю, у вас очень неправильное представление об операции изменения формы. Операция изменения формы гарантирует, что количество элементов в матрице / векторе будет одинаковым независимо от того, что.
Таким образом, вы можете изменить форму матрицы только с (A, B, C, D)
до (A, E)
iff B x C x D = E
.
У вас есть два разных массива: X с формой (-1, 224, 224) и Y с формой (-1, 2). Вы не можете просто изменить их, вы должны прочитать изображения как массив numpy и для каждого изображения добавить метку в другой массив numpy, после чего вы можете применить to_categorical (Keras) или LabelEncoder (scikit-learn).
Воспользуйтесь некоторыми онлайн-ресурсами, чтобы получить представление о чтении меток: Tensorflow считывает изображения с метками