В полносвязных сетях подаваемые на вход объекты должны быть строками таблицы, а весь датасет — двумерной таблицей. Чтобы не было ошибки, преобразуйте датасет из трёхмерного массива в двумерную таблицу. Для этого вам понадобится метод np.array.reshape() (от англ. «изменить размер»).

Преобразуйте features_train так, чтобы в первом значении features_train.shape было количество объектов, а во втором — количество пикселей в изображении. Таким же способом измените features_test. Напечатайте на экране новые размеры массивов (уже в прекоде).

Подсказка

Обучающая выборка преобразуется так:

features_train = features_train.reshape(features_train.shape[0], 28 * 28)

import matplotlib.pyplot as plt
import numpy as np


features_train = np.load('/datasets/fashion_mnist/train_features.npy')
target_train = np.load('/datasets/fashion_mnist/train_target.npy')
features_test = np.load('/datasets/fashion_mnist/test_features.npy')
target_test = np.load('/datasets/fashion_mnist/test_target.npy')

features_train = features_train.reshape(features_train.shape[0], 28 * 28) 
features_test = features_test.reshape(features_test.shape[0], 28 * 28) 

print("Обучающая:", features_train.shape)
print("Тестовая:", features_test.shape)

Результат