windows10(maskRCNNの最新バージョン)の下にdetectron2をインストールします

私が最初にmaskrcnnをプレイしてからほぼ2年になります。オンラインになってからdetectron2を試していません。Windowsで試すことにしました。住所

https://github.com/facebookresearch/detectron2

関係者は、ウィンドウをサポートするための特別な考慮事項はないと明確に述べましたが、私は問題のコメントを読みました、基本的にインストールはまだ大きな問題ではありません。参考までにここにリストされている2つの問題のみが発生しました。

(1)ローカルにクローンする

git clone  https://github.com/facebookresearch/detectron2 .git

cddetectron2

(2)cocoeval.cppの483行目を変更します

これは主に、Windowsにlocaltime_r関数がなく、この関数がスレッドセーフであり、Windowsの対応する関数がlocaltime_sであるためです。変更しない場合、エラーは次のようになります。

D:\ detectron2 \ detectron2 \ layers \ csrc \ cocoeval \ cocoeval.cpp(483):\ C3861: "localtime_r":識別子が見つかりません

変更する方法は?

D:\ devPytorch \ detectron2 \ detectron2 \ layers \ csrc \ cocoeval / cocoval.cppで、追加します(追加しなくても可能ですが、追加しました)
#include <time.h>
これは
localtime_s(&local_time、 &rawtime); // mcによって変更されました。元々はlocaltime_r(&rawtime、&local_time)です。

(3)setup.pyを変更し、pycocotoolsをインストールします

pip install pycocotoolsは成功せず、cl:コマンドラインエラーD8021と同様のエラーを報告するため、数値パラメーター "/ Wno-cpp"が無効であるため、pycocotoolsを手動でインストールする必要があります。

次の行を
コメントアウトします。# "pycocotools> = 2.0.1"

次に、pycocotoolsを手動でインストールします

ソリューション1(私が使用しているもの)
pipを使用してCMDターミナルにインストールします:
pip install git + https://github.com/philferriere/cocoapi.git#subdirectory=PythonAPI
ソリューション2
https://github.com/philferriere/cocoapiソースコードをダウンロードして解凍します。管理者としてCMDターミナルを開き、cocoapi \ PythonAPIディレクトリに切り替えます。次のコマンドを実行します。
#pycocotoolsをローカルにインストールします
python setup.py build_ext --inplace
#pycocotoolsをPythonサイトに
インストールします-パッケージpython setup.py build_ext install

(4)python setup.py install development

detectron2のメインディレクトリに、
python setup.py installdevelopと入力します。

多くのパッケージがインストールされます(Facebookは本当にあなたを投げることができます)。

最後に、インストールは成功します。

(5)テスト

detectron2に付属のデモでテストしました。

インスタンスセグメンテーションのいくつかの写真をランダムに実行しました。CPUモードで平均約4秒かかりました
。〜 / msCoco2017 / test2017 \ 000000000001.jpg:3.84秒で4つのインスタンスが検出されました
〜/ msCoco2017 / test2017 \ 000000000016.jpg:4.36で4つのインスタンスが検出されましたS
〜/ msCoco2017 / test2017 \ 000000000019.jpg:4.45sで3つのインスタンスを検出し
、〜/ msCoco2017 / test2017 \ 000000000057.jpg:4.31sで3つのインスタンスを検出し
、〜/ msCoco2017 / test2017 \ 000000000063.jpg:3.93sで4つのインスタンスを検出した
〜 /msCoco2017/test2017\000000000069.jpg:4.46秒で17個のインスタンスが検出されました

用Cuda1080跑的、
〜/ msCoco2017 / test2017 \ 000000000001.jpg:1.55秒で4つのインスタンスを検出
〜/ msCoco2017 / test2017 \ 000000000016.jpg:0.21秒で4つのインスタンスを検出
〜/ msCoco2017 / test2017 \ 000000000019.jpg:3つのインスタンスを検出0.21秒で
〜/ msCoco2017 / test2017 \ 000000000057.jpg:0.19秒で3つのインスタンスを検出
〜/ msCoco2017 / test2017 \ 000000000063.jpg:0.18秒で4つのインスタンスを検出
〜/ msCoco2017 / test2017 \ 000000000069.jpg:0.23で17のインスタンスを検出S
〜/ msCoco2017 / test2017 \ 000000000080.jpg:0.18sで4つのインスタンスを検出

速度の向上は依然としてかなりのものであり、GPUはリアルタイム検出に近いです。

以前のリファレンス

https://blog.csdn.net/tanmx219/article/details/100829920  (この問題は以前は存在していましたが、現在は解消されています)

おすすめ

転載: blog.csdn.net/tanmx219/article/details/107437267