A 图像部分:resnet18(预训练)得到 51277 的 feature map,使用 tensorly 库函数进行分
解重组(
大概
),得到 51277 的 feature map,为每一张特征图建立一个单分类器(共 512 个),过滤掉
重复即为原始图像分类结果
B 文本部分:利用 bert 模型(预训练,利用 pytorch_transformers)进行多标签分类。
C 融合部分:利用 A 得到的 2561 的 fc 层,与 B 得到的 2561 的 fc 层,进行一维卷积,得
到的结果进行分类。若实现上有难度,直接将两个 fc 层,拼接然后分类。
训练方法 :
Epoch0:训练 A,B 部分,反向传播得到训练参数
Epoch1,:利用上一轮训练得到的参数向前传播,训练模型 C 部分,反向传播
…
训练轮数:结果变化小于百分之 0.1 或者最优上下浮动平均值,终止,并保存最优参数
保存每次评价指标结果以及最终最优结果的参数。
其余部分 :
为数据集 flickr25k(三分之一测试其余训练)和 MSCOCO2014 两个数据集,分别进行预处
理以及加载。
评价指标:Coverage,RankingLoss,MacroAUC,ExampleAUC,AveragePrecision,MicroAUC
HammingLoss
一 tensoly
tl.set_backend