天天看點

這周嘗試meta公司也就是改名前的Facebook出的分割模型–––Segmentanything時,用官方給的代碼示例

作者:coding老王

這周嘗試meta公司也就是改名前的Facebook出的分割模型–––Segment anything時,用官方給的代碼示例,跑出來的結果非常慢,示例圖耗時11秒,你沒看錯,真的是11秒。

然後,直覺一想不太可能,去翻了官網的介紹,在FAQ中說了,在A100顯示卡上耗時0.15ms。

這差距也太大了吧。

感覺肯定哪裡也不對,翻了一下segment anything的代碼倉庫,有幾個issue在說這個網頁連結,還有這個網頁連結。感覺群衆都遇到了這個問題,說明這不是個例。

那問題出在哪裡呢?去翻了一下實作源碼,原來示例代碼沒有設定到gpu上,并且沒有執行eval模式,是以結論很明顯了,那些問問題的人沒有深入去了解,導緻出了一個烏龍。

sam = sam_model_registry[MODEL_TYPE](checkpoint=CHECKPOINT_PATH)

sam.to(device=DEVICE)

sam.eval()

就這兩行,讓模型使用GPU進行推理,速度直接上來了,通過watch -n 0.01 nvidia-smi 檢視,推理時顯示卡的确有在工作。

不設定這2行,直接是CPU上運作,然後就掉坑裡面了。

這周嘗試meta公司也就是改名前的Facebook出的分割模型–––Segmentanything時,用官方給的代碼示例
這周嘗試meta公司也就是改名前的Facebook出的分割模型–––Segmentanything時,用官方給的代碼示例
這周嘗試meta公司也就是改名前的Facebook出的分割模型–––Segmentanything時,用官方給的代碼示例
這周嘗試meta公司也就是改名前的Facebook出的分割模型–––Segmentanything時,用官方給的代碼示例

繼續閱讀