Python Tensorflow对象检测API:如何禁用从检查点加载
我已经创建了mobilenet v2功能提取器架构的定制变体,通过将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
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
更改为指向一个新的空目录,它就工作了。我希望这能帮助有类似问题的人