编写不易如果觉得不错,麻烦关注一下~
第一步
由于我的数据集是coco2014 有github大佬提供过他的tsv数据文件。所以我从那些文件中,拼凑出和微软一致的数据存储tsv 形式。千人千面,千个代码最终要调到和它一致的tsv输入格式。
这里的建议多print ,多调。总能调好。在生成数据时,有可能出现代码没错,但是崩溃的情形。我的就出现过。之后没改还能成功生成文件。
第二步:
运行predcls 代码由于根本没有relations 标签。所以需要自己伪造该属性,否则代码不通,例如我只有36个框,所以我的伪造annotaion['relations']结构如下:
第三步 :
这个yaml 就是配置自己的数据集的配置文件
img 就是自己的图像文件,当然看demo_tsv.py 它就是将一个图片编码成base64.
hw 就是存储图片名称和宽、高
label就是每个目标框坐标集 目标类别
labelmap 由于neural motif 就是这些类,所以就用这个labelmap. 第一你把目标类缩成这150个类,第二你把模型改了,从头训练你目标类的个数。由于第一个看着简单,所以我用了第一种,当然我也想用第二种提高谓词关系的精准率。
linelist 这个也是生成tsv 代码中可以生成的。
虽然文件中写了这几个,但是他们都有配对文件,lineidx 也是不可以少的
结果文件
我感觉由于我是提供标签的所以这里直接object conf 为1 。 后面就有各个id之间的关系预测
结果截图: