В конце прошлой темы вы обучили полносвязную сеть для решения задачи классификации одежды. Замените эту сеть на свёрточную со слоями: Conv2D + relu + Flatten + Dense. Примените в свёрточном слое 4 фильтра размером 3x3.
Обучать свёрточную сеть не нужно. Вызовите у модели функцию summary(): она напечатает на экране информацию об устройстве сети.
Подсказка
Чтобы модель работала, укажите размер входного тензора input_shape=(28, 28, 1) в качестве параметра Conv2D().
from tensorflow.keras import Sequential
from tensorflow.keras.layers import Conv2D, Flatten, Dense
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')
# Меняем размерности изображений и приводим числа к диапазону [0, 1].
# При изменении размера одну из размерностей можно указать равной -1,
# чтобы она вычислялась автоматически
features_train = features_train.reshape(-1, 28, 28, 1) / 255.0
features_test = features_test.reshape(-1, 28, 28, 1) / 255.0
model = Sequential()
# < напишите код здесь >
model.add(Conv2D(filters=4, kernel_size=(3, 3), activation='relu', input_shape=(28, 28, 1)))
model.compile(loss='sparse_categorical_crossentropy', optimizer='sgd', metrics=['acc'])
model.add(Flatten())
model.compile(loss='sparse_categorical_crossentropy', optimizer='sgd', metrics=['acc'])
# < напишите код здесь >
model.add(Dense(units=10, activation='softmax',input_dim=features_train.shape[1]))
model.compile(loss='sparse_categorical_crossentropy', optimizer='sgd', metrics=['acc'])
model.summary()