Измените механизм агрегации потерь для суммирования по размеру партии - PullRequest
0 голосов
/ 01 апреля 2020

Когда я тренирую сверточную сеть, используя керасы 2.3.2 с тензорным потоком (TF) 1.15.0, производительность лучше, чем керасы 2.2.4 с ТФ 1.13.1, но мне нужно использовать керасы 2.2.4 с ТФ 1.13 0,1. Итак, я смотрю на список изменений, кажется, что в keras 2.3.0 он имеет следующее:

Измените механизм агрегации потерь для суммирования по размеру пакета. Это может изменить сообщаемые значения потерь, если вы использовали выборочные веса или веса классов. Вы можете добиться прежнего поведения, убедившись, что вес каждой выборки равен 1 для каждой партии.

Как я могу модифицировать это изменение для keras 2.2.4?

Ниже приведен код Я использую: (как для Keras 2.3.2, так и для Keras 2.2.4, но мне нужны вышеуказанные изменения для Keras 2.2.4, так как это не по умолчанию, как мне его изменить?)

ptm = PretrainedModel(
    input_shape=IMAGE_SIZE + [3],
    weights='imagenet',
    include_top=False)

for layer in ptm.layers:
    layer.trainable=False

K = len(folders) # number of classes
x = Flatten()(ptm.output)
x = Dense(512, activation='relu')(x)
x = Dense(K, activation='softmax')(x)

# create a model object
model = Model(inputs=ptm.input, outputs=x)

# view the structure of the model
model.summary()



model.compile(
  loss='categorical_crossentropy',
  optimizer='adam',
  metrics=['accuracy']
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...