配置歷史版本Detectron遇到的問題

背景

  最近想測試一個目標檢測模型CBNet,該模型是基於Detectron改寫的,但是又不是最新的Detectron,屬於歷史版本。
  衆所周知,Detectron基於caffe2,所以先得安裝caffe2。官網有多種安裝方式,常用 源碼安裝或者conda預構建包安裝。

遇到的問題

  因爲以前源碼編譯過,這次想偷個懶用conda直接安裝caffe2(其實就是安裝pytorch,後來整合進去了),然後按Detectron的官方安裝教程把Detectron也裝好了,最後卡在測試的時候,總是報下面那個錯誤:

AssertionError: Detectron ops lib not found; make sure that your Caffe2 version includes Detectron module

分析

  錯誤讓我很納悶,都是按照官方教程一步一步配置的怎麼會出問題,一直懷疑是我中間搞錯了,還重來了一遍,依舊有問題。後來反應過來去查錯誤,發現是小bug,最新版本的Detectron不會有這個問題(自己還傻愣測試了一下!)。
  根本原因是conda直接安裝的pytorch包的libcaffe2_detectron_ops_gpu.sotorch/lib目錄下,而老版本的Detectron只檢索了lib目錄,所以根本找不到,但源碼構建caffe2不會出這個問題。

解決方案

  把新版本的代碼替換老版本,參考Link

總結

  一些基於老框架的代碼,多多少少會有版本問題。當遇到的錯誤,你有點不解時,趕緊到相關repo的issues下面去找,一般都能找到解決方案,節省時間!!!

發佈了32 篇原創文章 · 獲贊 55 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章