View difference between Paste ID: rMG42VDa and FaW6GsfJ
SHOW: | | - or go back to the newest paste.
1-
#В конце прошлой темы вы обучили полносвязную сеть для решения задачи классификации одежды. Замените эту сеть на свёрточную со слоями: Conv2D + relu + Flatten + Dense. Примените в свёрточном слое 4 фильтра размером 3x3.
1+
#Добавьте в сеть ещё один свёрточный слой с 4 фильтрами размером 3x3. Сделайте так, чтобы размер изображения после первого слоя не поменялся, а после второго — уменьшился в два раза.
2-
#Обучать свёрточную сеть не нужно. Вызовите у модели функцию summary(): она напечатает на экране информацию об устройстве сети.
2+
#Вызовите функцию summary() для просмотра устройства сети. Затем запустите обучение на одном объекте, чтобы убедиться в работоспособности кода (уже в прекоде).
3
4
from tensorflow.keras import Sequential
5
from tensorflow.keras.layers import Conv2D, Flatten, Dense
6
import matplotlib.pyplot as plt
7
import numpy as np
8
9
10
features_train = np.load('/datasets/fashion_mnist/train_features.npy')
11
target_train = np.load('/datasets/fashion_mnist/train_target.npy')
12
features_test = np.load('/datasets/fashion_mnist/test_features.npy')
13
target_test = np.load('/datasets/fashion_mnist/test_target.npy')
14
15-
# Меняем размерности изображений и приводим числа к диапазону [0, 1].
15+
16-
# При изменении размера одну из размерностей можно указать равной -1, 
16+
17-
# чтобы она вычислялась автоматически
17+
18
model = Sequential()
19
20
model.add(Conv2D(filters=4, kernel_size=(3, 3), activation='relu', padding='same', input_shape=(28, 28, 1)))
21
model.add(Conv2D(filters=4, kernel_size=(3, 3), activation='relu', padding='same',strides = 2))
22
model.add(Flatten())
23-
model.add(Conv2D(filters=4, kernel_size=(3, 3), activation='relu', input_shape=(28, 28, 1)))
23+
model.add(Dense(units=10, activation='softmax'))
24
25
model.compile(loss='sparse_categorical_crossentropy', optimizer='sgd', metrics=['acc'])
26
model.summary()
27
model.fit(features_train, target_train, epochs=1, verbose=1,
28
          steps_per_epoch=1, batch_size=1)
29-
model.add(Dense(10, activation='softmax',input_dim=features_train.shape[1])) 
29+