Добавьте дополнительное ядро ​​на уровень CNN, сохраняя веса, изученные для других ядер - PullRequest
0 голосов
/ 24 июня 2019

Я обучаю простой нейронной сети прямой связи на наборе данных cifar10.Пройдя несколько эпох, я хочу увеличить количество ядер во втором слое конвив с 16 до некоторого числа k.

Как это сделать, сохраняя обученные веса для других ядер и слоев в моделицелы?


def conv_layer(inp, fltrs):
    inp = Conv2D(filters = fltrs, kernel_size = 3, strides = 1, padding = 'valid')(inp)
    inp = BatchNormalization()(inp)
    inp = Dropout(0.25)(inp)
    inp = Activation('relu')(inp)
    return inp

inp = Input(shape = (32, 32, 3))

x0 = conv_layer(inp, 8)
x1 = conv_layer(x0, 16)
x2 = MaxPooling2D(pool_size= 2, strides=None, padding='valid', data_format=None)(x1)
x3 = conv_layer(x2, 32)
x4 = conv_layer(x3, 48)
x5 = conv_layer(x4, 64)
x6 = MaxPooling2D(pool_size= 2, strides=None, padding='valid', data_format=None)(x5)
x7 = Flatten()(x6)
x8 = Dense(512)(x7)
x9 = BatchNormalization()(x8)
x10 = Dropout(0.25)(x9)
x11 = Activation('relu')(x10)
x12 = Dense(num_classes, activation='softmax')(x11)


model = Model(inputs = [inp], outputs = [x12])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...