TensorFlow_yolov3测试map函数的流程,以及几个yolov3大神版本的优缺点!教你选择哪个TensorFlow_yolov3代码!以及使用TensorFlow1.x实现yolov3全集
一、前言
当你模型训练好了以后,可以看看你自己的模型效果怎么样,就需要测试其map。yunyang1994的yolov3版本已经把代码写好,直接使用,很方便。
二、使用步骤
一、实现修改config.py函数
__C.TEST.ANNOT_PATH = "./data/dataset/voc_test.txt"
__C.TEST.BATCH_SIZE = 2
__C.TEST.INPUT_SIZE = 416
__C.TEST.DATA_AUG = False
__C.TEST.WRITE_IMAGE = True
__C.TEST.WRITE_IMAGE_PATH = "./data/detection/"
__C.TEST.WRITE_IMAGE_SHOW_LABEL = True
__C.TEST.WEIGHT_FILE = "./checkpoint/yolov3_coco_demo.ckpt"
__C.TEST.SHOW_LABEL = True
__C.TEST.SCORE_THRESHOLD = 0.3
__C.TEST.IOU_THRESHOLD = 0.45
__C.TEST.WEIGHT_FILE修改为自己的路径
二、运行evaluate.py函数,基本不需要改什么,如果你的模型是修改了的,那么修改如下对应的部分即可:
# with tf.name_scope('ema'):
# ema_obj = tf.train.ExponentialMovingAverage(self.moving_ave_decay)
self.saver = tf.train.Saver()
self.sess = tf.Session(config=tf.ConfigProto(allow_soft_placement=True))
# self.saver = tf.train.Saver(ema_obj.variables_to_restore())
self.saver.restore(self.sess, self.weight_file)
运行的结果如下:
以及predict文件夹为:
三、运行map文件中的main文件即可
运行结果如下:
四、结言
yunyang1994的youlov3版本写的不错,他官方说的使用TensorFlow2.0,但是我用的TensorFlow1.11.0也能跑,还是gpu。
官方网址:
https://github.com/YunYang1994/tensorflow-yolov3
yunyang1994的yolov3代码跑出来的模型(.ckpt)大小大概1000多kb, 不影响使用。如果你是为了写论文对比的话,想减少模型大小的话,可以在博客的下方评价。
还有就是wizyang的yolov3写的也挺不错的,也能跑通,但是代码的测试集损失函数不下降,不管是自己的数据集还是官方的数据集,自己找了很久的原因也没有找到,改参数,找模型问题等。如果有大佬知道,也可以在博客下方评价,小弟将不胜感激。
官方网址L:
https://github.com/wizyoung/YOLOv3_TensorFlow
其次是qqwweee的代码,他是用全程Keras实现的代码,能训练,测试集,训练集的损失都能下降,但是不容易移植。
官方网址:
https://github.com/qqwweee/keras-yolo3
综上 我还是推荐yunyang1994的官方代码,比较好用,也全。
以上三份代码我都已经跑通,用的环境都是TensorFlow-GPU 1.11.0
大家如果在实现过程中遇到了什么问题,可以提问!