使用TensorFlow对象检测API的预训练Mask R-CNN Inception ResNet V2 1024 x1024模型的错误

yftpprvb  于 12个月前  发布在  其他
关注(0)|答案(1)|浏览(131)

我正在尝试使用TensorFlow Object Detection API对预训练的Mask R-CNN Inception ResNet V2 1024 x1024模型进行自定义任务的微调。我已经从这个location下载了模型。
我已经为这个模型创建了一个管道配置,指定了我的训练和评估TFRecord数据集以及下载的检查点的路径作为fine_tune_checkpoint。
然而,当我运行model_main_tf2.py脚本来启动训练时,我遇到了一个错误,指出模型中缺少检查点中的一些变量。错误如下:
Traceback (most recent call last): File "/content/models/research/object_detection/model_main_tf2.py", line 114, in <module> tf.compat.v1.app.run() File "/usr/local/lib/python3.10/dist-packages/tensorflow/python/platform/app.py", line 36, in run _run(main=main, argv=argv, flags_parser=_parse_flags_tolerate_undef) File "/usr/local/lib/python3.10/dist-packages/absl/app.py", line 308, in run _run_main(main, args) File "/usr/local/lib/python3.10/dist-packages/absl/app.py", line 254, in _run_main sys.exit(main(argv)) File "/content/models/research/object_detection/model_main_tf2.py", line 105, in main model_lib_v2.train_loop( File "/usr/local/lib/python3.10/dist-packages/object_detection/model_lib_v2.py", line 605, in train_loop load_fine_tune_checkpoint( File "/usr/local/lib/python3.10/dist-packages/object_detection/model_lib_v2.py", line 398, in load_fine_tune_checkpoint raise ValueError('Checkpoint version should be V2') ValueError: Checkpoint version should be V2
这个错误表明在我的管道中定义的模型架构和预训练模型的架构之间存在不匹配。然而,据我所知,我的管道配置是为Mask R-CNN Inception ResNet V2 1024 x1024模型正确设置的。
此外,我使用inspect_checkpoint.py脚本检查了检查点文件,它似乎包含了该模型所需的所有变量。下载的检查点文件包括ckpt-0.indexckpt-0.data-00000-of-00001checkpoint
我在Google Colab上运行了TensorFlow 2.12.0版和Python 3.10.0版。我将非常感谢对这个问题的任何指导或解决方案。

复制

重现该行为的步骤:
1.从TensorFlow Model Zoo下载预训练的Mask R-CNN Inception ResNet V2 1024 x1024模型。
1.设置自定义训练管道配置,在fine_tune_checkpoint字段中指定下载的检查点的路径。
1.运行模型训练脚本(model_main_tf2.py)。
1.出现错误,指示在模型中找不到检查点中的某些变量。

预期行为

我希望模型训练开始是从指定的预训练模型中加载权重。这个错误似乎表明我的管道中定义的模型架构和预训练模型的架构之间不匹配。尽管如此,我的管道配置似乎为Mask R-CNN Inception ResNet V2 1024 x1024模型正确设置。

附加上下文

在使用inspect_checkpoint.py检查检查点文件时,它似乎包含Mask R-CNN Inception ResNet V2 1024 x1024模型的所有预期变量。我还确认下载的文件包括ckpt-0.index、ckpt-0.data-00000-of-00001和checkpoint。然而,问题依然存在。对此问题的任何指导或解决方案将不胜感激。
我在下面附上了我的pipeline.config文件:

系统信息

  • OS平台和分布:Google Colab
  • TensorFlow安装自(源代码或二进制):源
  • TensorFlow版本:2.12.0
  • Python版本:3.10.0
  • GPU型号和内存:A100; 40 GB
6qfn3psc

6qfn3psc1#

将以下标志添加到train_config:fine_tune_checkpoint下面的部分:条目
微调检查点版本:V2 fine_tune_checkpoint_type:“侦查”
还请注意,这个模型似乎有一个开放的问题-
https://github.com/tensorflow/models/issues/9546

相关问题