Model Management
推理服務器以以下三種模型控制模式之一進行操作:NONE,POLL或EXPLICIT。
Model Control Mode NONE
服務器嘗試在啓動時加載模型存儲庫中的所有模型。 服務器無法加載的模型在服務器狀態中將標記爲UNAVAILABLE
,並且不可用於推理。
服務器運行時對模型存儲庫的更改將被忽略。 使用模型控制API的模型控制請求將不起作用,並且將收到錯誤響應。
啓動推理服務器時,通過指定--model-control-mode = none
來選擇此模型控制模式。
Model Control Mode POLL
服務器嘗試在啓動時加載模型存儲庫中的所有模型。服務器無法加載的模型在服務器狀態中將標記爲UNAVAILABLE
,並且不可用於推理。
將檢測到對模型存儲庫的更改,並且服務器將根據這些更改嘗試根據需要加載和卸載模型。可能無法立即檢測到對模型存儲庫的更改,因爲服務器會定期輪詢存儲庫。您可以使用--repository-poll-secs
選項控制輪詢間隔。控制檯日誌或Status API可用於確定模型存儲庫更改何時生效。
使用模型控制API的模型控制請求將不起作用,並且將收到錯誤響應。
該模型控制模式是默認模式,但可以通過指定--model-control-mode = poll
並將啓動推理服務器時將--repository-poll-secs
設置爲非零值來顯式啓用。
在POLL模式下,推理服務器將響應以下模型存儲庫更改:
-
通過添加和刪除相應的版本子目錄,可以從模型中添加和刪除版本。推理服務器將允許正在進行的請求完成,即使它們正在使用模型的已刪除版本也是如此。對刪除模型版本的新請求將失敗。根據型號的版本政策,對可用版本的更改可能會更改默認提供的型號版本。
-
可以通過刪除相應的模型目錄從存儲庫中刪除現有模型。推理服務器將允許對已刪除模型的任何版本進行實時請求。對刪除模型的新請求將失敗。
-
可以通過添加新模型目錄將新模型添加到資源庫中。
-
可以更改模型配置(config.pbtxt),服務器將卸載並重新加載模型以獲取新的模型配置。
-
可以添加,刪除或修改爲表示分類的輸出提供標籤的標籤文件,推理服務器將卸載並重新加載模型以拾取新標籤。如果添加或刪除了標籤文件,則必須同時執行其在模型配置中對應的輸出的label_filename屬性的相應編輯。
Model Control Mode EXPLICIT
在啓動時,服務器僅加載使用--load-model
命令行選項明確指定的那些模型。 如果未指定--load-model
,則啓動時不會加載任何模型。 啓動後,必須使用Model Control API顯式啓動所有模型加載和卸載操作。 模型控制請求的響應狀態指示加載或卸載操作的成功或失敗。
通過指定--model-control-mode = explicit
啓用此模型控制模式。
EXPLICIT模型控制模式是實驗性的。 推理服務器將嘗試使用框架後端提供的API來加載和卸載模型,但是至少某些後端可能難以管理重複的加載/卸載週期。