Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/344.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Tensorflow对象检测API:如何禁用从检查点加载_Python_Tensorflow_Object Detection Api - Fatal编程技术网

Python Tensorflow对象检测API:如何禁用从检查点加载

Python Tensorflow对象检测API:如何禁用从检查点加载,python,tensorflow,object-detection-api,Python,Tensorflow,Object Detection Api,我已经创建了mobilenet v2功能提取器架构的定制变体,通过将research/slim/nets/mobilenet/mobilenet\u v2.py中的tensorflow/modelsrepo的expansion\u大小从6更改为4 我希望能够使用对象检测API中描述的model\u main.py脚本来训练SSD+Mobilenet\u v2(有此更改)模型 当我这样做时,我看到以下错误,这是有意义的: `InvalidArgumentError (see above for t

我已经创建了mobilenet v2功能提取器架构的定制变体,通过将
research/slim/nets/mobilenet/mobilenet\u v2.py中的
tensorflow/models
repo的
expansion\u大小从6更改为4

我希望能够使用对象检测API中描述的
model\u main.py
脚本来训练SSD+Mobilenet\u v2(有此更改)模型

当我这样做时,我看到以下错误,这是有意义的:

`InvalidArgumentError (see above for traceback): Restoring from checkpoint failed. This is most likely due to a mismatch between the current graph and the graph from the checkpoint. Please ensure that you have not altered the graph expected based on the checkpoint.
为解决这一问题:

  • 我从我的
    pipeline.config
    中删除了
    finetune\u检查点
    规范
  • 我将
    object\u detection/model\u hparams.py
    中的
    load\u pretrained=True
    更改为
    load\u pretrained=False
  • 我将
    --hparams\u overrides='load\u pretrained=false'
    作为命令行输入参数添加到
    model\u main.py
  • 尽管如此,我仍然看到同样的错误


    为什么tensorflow仍在尝试恢复检查点。我怎么能不这样做呢?

    我自己找到了解决办法。结果是,即使我已经安排它不从我的管道配置文件恢复检查点,结果是内部
    tf.Estimator
    对象仍然可以使用指定的
    model\u dir
    中的检查点;尽管
    model_dir
    的主要用途是作为输出目录,其中写入了输出检查点

    我在网上找到了这个信息。以下是相关摘录供参考:

    `model_dir:用于保存模型参数、图形等的目录。这也可用于将检查点从目录加载到估计器中,以继续训练先前保存的模型。如果是PathLike对象,则将解析路径。如果没有,则如果设置,将使用配置中的model_dir。如果两者都已设置,则它们必须相同。如果两者都为“无”,则将使用临时目录


    我原来的
    model\u dir
    中有一个旧的检查点,它在架构上与我的自定义模型不兼容。因此,我看到了错误。为了解决这个问题,我只需将我的
    model_dir
    更改为指向一个新的空目录,它就工作了。我希望这能帮助有类似问题的人。

    我自己找到了解决方案。结果是,即使我已经安排它不从我的管道配置文件恢复检查点,结果是内部
    tf.Estimator
    对象仍然可以使用指定的
    model\u dir
    中的检查点;尽管
    model_dir
    的主要用途是作为输出目录,其中写入了输出检查点

    我在网上找到了这个信息。以下是相关摘录供参考:

    `model_dir:用于保存模型参数、图形等的目录。这也可用于将检查点从目录加载到估计器中,以继续训练先前保存的模型。如果是PathLike对象,则将解析路径。如果没有,则如果设置,将使用配置中的model_dir。如果两者都已设置,则它们必须相同。如果两者都为“无”,则将使用临时目录

    我原来的
    model\u dir
    中有一个旧的检查点,它在架构上与我的自定义模型不兼容。因此,我看到了错误。为了解决这个问题,我只需将我的
    model_dir
    更改为指向一个新的空目录,它就工作了。我希望这能帮助有类似问题的人