gpt4 book ai didi

Tensorflow 对象检测 API : Train from exported model checkpoint

转载 作者:行者123 更新时间:2023-12-05 03:43:41 25 4
gpt4 key购买 nike

我之前导出了一个 RetinaNet 模型(最初来自对象检测动物园),该模型已使用 Tensorflow 对象检测 API(Tensorflow 版本 2.4.1)在自定义数据集上进行了微调。以下是导出模型文件夹的外观。

enter image description here

在模型上运行评估(如下所示)时,它的 mAP@0.5IOU 为 0.5。

python model_main_tf2.py --model_dir=exported-models/retinanet --pipeline_config_path=exported-models/retinanet/pipeline.config --checkpoint_dir=exported-models/retinanet/checkpoint

问题

由于不幸的情况,我没有训练模型时的训练文件夹。随着我最近获得更多数据,我想使用导出的模型作为进一步训练的起点,并在新训练的pipeline.config:

  fine_tune_checkpoint: "exported-models/retinanet/checkpoint/ckpt-0"
num_steps: 25000
startup_delay_steps: 0.0
replicas_to_aggregate: 8
max_number_of_boxes: 100
unpad_groundtruth_tensors: false
fine_tune_checkpoint_type: "detection"
use_bfloat16: false
fine_tune_checkpoint_version: V2

但是,当使用 model_main_tf2.py 脚本开始训练时,第一个检查点(在第 0 步)的分数很糟糕 - 即使在运行评估的同一数据集上也是如此导出的模型。

我希望第一个检查点与导出模型的分数具有相同的分数(至少对于相同的测试集)。这是错误的假设吗?在那种情况下,为什么?

最佳答案

终于找到下面的here :

// Whether to load all checkpoint vars that match model variable names and
// sizes. This option is only available if `from_detection_checkpoint` is
// True. This option is *not* supported for TF2 --- setting it to true
// will raise an error. **Instead, set fine_tune_checkpoint_type: 'full'.**
optional bool load_all_detection_checkpoint_vars = 19 [default = false];

通过将 fine_tune_checkpoint_type 设置为“full”,我得到了第一个检查点的正确 map (在 0 步处)。

关于Tensorflow 对象检测 API : Train from exported model checkpoint,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66673499/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com