跑TDD-net遇到的一些坑

本文为PCB缺陷检测相关论文:https://ietresearch.onlinelibrary.wiley.com/doi/10.1049/trit.2019.0019

进行环境配置遇到的一些问题,欢迎评论区交流

1、tensorflow不要用requirement里的2.5.1,一定要用1。因为不兼容,尝试过debug一下午都没法。

2、cudnn、gcc、tensorflow、cuda这四者尽量按照相关兼容性进行搭配!具体可参考我的另外一篇文章

TDD-net跑实验_HITSZ阿星的博客-CSDN博客

3、不仅要修改作者Readme里的checkpoint,还要修改cfgs.py文件里的一些目录。

4、如果跑完实验发现没结果,很可能是没加载成功pcb_30000model.ckpt导致的,具体来说要么是checkpoint地址错,要么是cfgs里地址错

就我而言,我是cfgs文件里

具体来说,在build_whole_network.py里

checkpoint_path = tf.train.latest_checkpoint(os.path.join(cfgs.TRAINED_CKPT, cfgs.VERSION)

cfgs.TRAINED_CKPT = rootpath + /output/trained_weights
cfgs.VERSION = FPN_Res101_0117_OHEM

#也就是说,cfgs.py里的VERSION定义决定了模型加载目录

因此需要在trained_weights里新建文件夹 FPN_Res101_0117_OHEM,然后把那些checkpoint、pcb_30000model.ckpt文件丢进去,然后记得修改checkpoint指向!

5、inference、train、test、eval是几个不同的过程

拿作者readme来说,inference是单纯推理过程,拿训练好的模型去检测输入的图片,输出是检测结果(只是图片),不需要输入annotation,也没有所谓的精度结果。

而eval和test有点类似,输入图片(如果像COCO数据集细分了测试集,需要把目录设置为测试集)和annotation,然后进行测试精度,输出的有检测结果(图片),也有各种精度指标。

因此不要拿inference的结果去评估精度,而是要拿数据集里待测试的测试集去eval

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值