![](/img/trans.png)
[英]Tensorflow 2.0 Object Detection Training Error - Error with loading checkpoint
[英]Tensorflow object detection API: How to disable loading from checkpoint
我創建MobileNetV2特征提取架構的自定義變化,通過改變expansion_size
從6比4 research/slim/nets/mobilenet/mobilenet_v2.py
的tensorflow/models
回購。
我希望能夠使用model_main.py
腳本訓練SSD + Mobilenet_v2(具有此更改)模型,如對象檢測API的running_locally教程中所述 。
當我這樣做時,我看到以下錯誤,這是有道理的:
`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_checkpoint
規范。 object_detection/model_hparams.py
load_pretrained=True
更改為load_pretrained=False
。 --hparams_overrides='load_pretrained=false'
作為命令行輸入參數model_main.py
。 盡管有這些,我仍然看到相同的錯誤。
為什么tensorflow仍在嘗試還原檢查點。 我該如何做呢?
自己找到解決方案。 事實證明,即使我已安排它不從管道配置文件中恢復檢查點,但事實證明內部tf.Estimator
對象仍可以使用指定的model_dir
的檢查點; 即使model_dir
的主要用途是將輸出檢查點寫入其中的輸出目錄。
我在tf.Estimator的官方文檔中找到了此信息。 以下是相關摘錄供參考:
`model_dir:用於保存模型參數,圖形等的目錄 。 這也可用於將檢查點從目錄加載到估計器中,以繼續訓練先前保存的模型 。 如果是PathLike對象,則路徑將被解析。 如果設置為None,則使用config中的model_dir。 如果兩者都設置,則必須相同。 如果兩者都為None,則將使用一個臨時目錄。
我原來的model_dir
有一個舊的檢查點,該檢查點在架構上與我的自定義模型不兼容。 因此,我看到了錯誤。 為了解決這個問題,我只需將model_dir
更改為指向一個新的空目錄即可。 我希望這對遇到類似問題的人有所幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.