Tensorflow对象检测API ValueError:无需保存的变量

问题描述 投票:1回答:5

我正在尝试使用tensorflow对象检测api训练自定义对象检测模型。出于训练目的,我使用了用于训练的腌制图像数据集,并且使用ssd_mobilenet_v1_coco作为模型。当我开始训练时,它给了我这个错误。

Traceback (most recent call last):
  File "train.py", line 184, in <module>
    tf.app.run()
  File "/usr/local/lib/python3.6/dist-packages/tensorflow/python/platform/app.py", line 126, in run
    _sys.exit(main(argv))
  File "train.py", line 180, in main
    graph_hook_fn=graph_rewriter_fn)
  File "/content/models/research/object_detection/trainer.py", line 381, in train
    init_saver = tf.train.Saver(available_var_map)
  File "/usr/local/lib/python3.6/dist-packages/tensorflow/python/training/saver.py", line 1338, in __init__
    self.build()
  File "/usr/local/lib/python3.6/dist-packages/tensorflow/python/training/saver.py", line 1347, in build
    self._build(self._filename, build_save=True, build_restore=True)
  File "/usr/local/lib/python3.6/dist-packages/tensorflow/python/training/saver.py", line 1372, in _build
    raise ValueError("No variables to save")
ValueError: No variables to save

完整的错误代码可在此处找到...

[https://gist.github.com/mpgovinda/1f59f7de7873f6ec4c4426b79dc6827a][1]

我该如何解决这个问题?

tensorflow python-3.6 google-colaboratory object-detection-api
5个回答
1
投票

最新型号有这个问题,要解决这个问题:

转到模型的“.config”文件,在训练部分将from_detection_checkpoint: true更改为false

它会工作。

快乐编码:)


2
投票

如果不存在,尝试将fine_tune_checkpoint_type: "detection"行添加到train_config {文件中的*.config部分。

样品:

train_config: {
  ...
  fine_tune_checkpoint: "./pre_trained_model/model.ckpt"
  fine_tune_checkpoint_type:  "detection"
  ...
}

ssd_mobilenet_v1_quantized_300x300_coco14_sync模型上测试。


0
投票

我在尝试使用初始v2训练更快的rcnn时遇到了同样的错误。事实证明我的模型配置文件中有错误的微调检查点。在我链接到模型的相应检查点后,错误消失了。


0
投票

我有同样的错误。通过使用不同的检查点解决。


0
投票

您应该使用检查点或从slim.learning.train参数中删除“init_fn = init_fn”,并从trainer中删除“initializer_fn”变量。你可以在教练的393左右访问所有这些

© www.soinside.com 2019 - 2024. All rights reserved.