從前面的教程中,你如今已經有了一個自定義的模型和數據加載器。
你能夠自由建立本身的優化器,並編寫訓練邏輯:能夠使用PyTorch使研究人員對整個訓練邏輯更清晰並具備徹底控制權。tools/plain_train_net.py中提供了一個這樣的示例。(tools/plain_train_net.py:https://github.com/facebookresearch/detectron2/blob/master/tools/plain_train_net.py)
咱們還提供了標準化的"trainer"抽象,最小hook系統(https://detectron2.readthedocs.io/modules/engine.html#detectron2.engine.HookBase) ,這有助於簡化標準的訓練類型。
你能夠使用 SimpleTrainer().train() ,它爲單次成本、單優化器、單數據源的訓練提供了最小的抽象。內置train_net.py腳本使用 DefaultTrainer().train(),它包含一我的們可能但願選擇的更多標準默認行爲,這也意味着它不太可能支持你在研究過程當中可能想要的一些非標準行爲。html
from detectron2.utils.events import get_event_storage# 在模型中:if self.training: value = #根據輸入計算值 storage = get_event_storage() storage.put_scalar("some_accuracy", value)
有關更多詳細信息,請參閱其文檔。
原文連接:https://detectron2.readthedocs.io/tutorials/training.htmlgit