1

我的模型是Yolov4 暗网模型。我使用“-map”函数来计算那里的指标,-map 函数属于darknet

但是,在将我的模型转换为tensorflow lite时,我想在两者之间的 tensorflow 模型上重新计算这些指标。所以实际上我的问题是如何在我的yolov4-416 tensorflow 模型上找到 f1 分数、平均精度等值?

4

1 回答 1

0

很难回答,因为您使用的 repo 对我们来说是未知的。你可以用mAP的公式来计算它,但是使用哪个iou阈值取决于你。通常它是 0.5,因此 mAP@0.5 将计算为:

  1. 将 IoU 阈值设置为 0.5
  2. 计算 AP 为:TP/(TP+FP)其中 TP 代表 True Positives,FP 代表每个类别的 False Positives。
  3. 然后计算mAP作为AP的平均值。如果您使用的是 hanglc007,请尝试以下操作:
  4. 转换为您将使用的框架(在您的项目中,它是 tflite):

python save_model.py --weights ./path/to/your/weights --output ./checkpoints/yolov4-416 --input_size 416 --model yolov4 --framework tflite python convert_tflite.py --weights ./checkpoints/yolov4-416 --output ./checkpoints/yolov4-416.tflite --quantize_mode( you can use eiter float16 or int8)

  1. 评估您的 TFLite 模型: python evaluate.py --weights ./checkpoints/yolov4-416.tflite --framework tflite --input_size 416 --model yolov4 --annotations /path/to/your/annotations.txt
  2. 计算mAP: cd mAP/extra python remove_space.py cd .. python main.py --output results_yolov4_tflite
  3. 然后在 mAP/results_yolov4_tflite/results.txt 中查看您的 mAP
于 2021-07-11T13:01:26.977 回答