当我使用带有tensorflow(TF)1.15.0的keras 2.3.2训练卷积网络时,性能要优于带有TF 1.13.1的keras 2.2.4,但是我需要使用带有TF 1.13的keras 2.2.4 .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']
)