我一直在阅读一篇论文A Perceptual Measure for Deep Single Image Camera Calibration,他们采用了 DenseNet,最后一层被三个独立的头替换。
我从 keras 获取 DenseNet:
base_model = DenseNet169(include_top = False, weights = 'imagenet')
将 trainable 的层设置为 False 并以下列方式添加这些头:
x = base_model.output
x = GlobalAveragePooling2D()(x)
x = Dense(4096, activation = 'relu')(x)
psi = Dense(256, activation = 'softmax')(x)
不幸的是,这根本没有收敛:验证错误只是在训练时无限增长。我对训练数据非常确定,所以我目前的理论是头部应该更复杂一些。
有没有人实施那篇论文或知道这些头应该是什么样子?