利用Tensorflow Object_detection的tfrecord脚本制作自己数据集训练时损失函数一直很小,模型测试效果很差。

对提供的tfrecord制作的脚本进行排查后,发现原因如下:

制作的record数据集格式错误

我在脚本中的example = tf.train.Example(features=tf.train.Features(feature={ 'image/height': dataset_util.int64_feature(height), 'image/width': dataset_util.int64_feature(width), 'image/filename': dataset_util.bytes_feature( data['filename'].encode('utf8')), 'image/source_id': dataset_util.bytes_feature( data['filename'].encode('utf8')), 'image/key/sha256': dataset_util.bytes_feature(key.encode('utf8')), 'image/encoded': dataset_util.bytes_feature(encoded_jpg), 'image/format': dataset_util.bytes_feature('png'.encode('utf8')), 'image/object/bbox/xmin': dataset_util.float_list_feature(xmin), 'image/object/bbox/xmax': dataset_util.float_list_feature(xmax), 'image/object/bbox/ymin': dataset_util.float_list_feature(ymin), 'image/object/bbox/ymax': dataset_util.float_list_feature(ymax), 'image/object/class/text': dataset_util.bytes_list_feature(classes_text), 'image/object/class/label': dataset_util.int64_list_feature(classes), }))前面进行了打印它们的值,发现他们有一些为空,有一些格式不对,解决这些问题后,传入record正确的值如下:

image/height: 768
image/width: 1024
image/filename: b'00000.png'
image/source_id: b'00000.png'
image/key/sha256: b'b3a332dc6326fcf4138cd2acce98ce8a762979d2b614efc003db3f592ea79f32'
image/object/bbox/xmin: [0.5146484375]
image/object/bbox/xmax: [0.5419921875]
image/object/bbox/ymin: [0.4908854166666667]
image/object/bbox/ymax: [0.5260416666666666]
image/object/class/text: [b'danger']
image/object/class/label: [3]

传入了正确的值,制作出了正确的record格式的数据集,就可以好好训练了。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值