FacebookをプレイするMarkrcenn-benchmarkプロジェクト1
7210 ワード
markrcnn-benchmarkはFacebookのオープンソースの基準アルゴリズムプロジェクトであり、検出、分割、人体のキーポイントなどのアルゴリズムが含まれています.
現在、多くのPyTorchフレームに基づく検出、分割されたSOTAアルゴリズムは、このプロジェクトの改善である.例えば、CVPR 2019 Oral Paper、Mask Scroring R-CSN.
工程:github.com/facebook res…
名称:Faster R-CoNN and Mask R-CoNN in PyTorch 1.0どのようにpip環境構成プロジェクトを使用しますか? MacOSのCPU環境設定依存ライブラリの使い方 環境:MacOS+pip+touch+markrch-benchmark
このシリーズは2つの編を含んでいます.第一編は環境を構築する; 第二篇トレーニングと検証; 設定
markrcnn-benchmarkプロジェクトをダウンロードします.
あるいは既存の仮想環境を使用します.
依存パッケージのインストール:
markrcnn-benchmarkは2つの依存ライブラリcoppiとappxが必要で、参考は少し違っています.
インストールパッケージ:pycotools 2.0、既存の仮想環境をアクティブにし、実行する: CPU環境は、 インストールパッケージ:markrch-benchmark 0.1、実行
設定ファイルをロードする keybootはキーポイントアルゴリズムである. rnnは検出アルゴリズムである. R_50はReset 50です FPNは、特徴的な金子塔(Feature Pyramid Networks)である. 1 xは、16であるminibatchであり、スキームの初期LR=0.02であり、60 Kと80 Kの反復後に、*0.1が減衰し、90 Kで反復終了し、参照する. CPUモードを使用して、MODEL.DEVICEをcpuに設定します.
モデルCOCO Demoを作成し、最小画像サイズ800、信頼度0.7;
ソースは以下の通りです
Trouble shoting
よくある問題の解決策.
libomp.dylib
次の問題に遭遇しました.libomp.dylibは読み込めません.
toch.version.cda.split('.')
GPUのバージョン、異常:
Pythonのヘッドファイルが不足しています.開発版をインストールすればいいです.
OK、that's all
転載先:https://juejin.im/post/5cd2bd08f265da03855810d8
現在、多くのPyTorchフレームに基づく検出、分割されたSOTAアルゴリズムは、このプロジェクトの改善である.例えば、CVPR 2019 Oral Paper、Mask Scroring R-CSN.
工程:github.com/facebook res…
名称:Faster R-CoNN and Mask R-CoNN in PyTorch 1.0
このシリーズは2つの編を含んでいます.
markrcnn-benchmarkプロジェクトをダウンロードします.
git clone https://github.com/facebookresearch/maskrcnn-benchmark.git
virtual lenvは仮想環境を作成し、python 3を選択し、同時にアクティブにします.virtualenv -p python3 mlp3_venv
Pythoon 3.6.8+を使用しなければならないので、3.7を推奨します.あるいは既存の仮想環境を使用します.
依存パッケージのインストール:
pip install ninja yacs cython matplotlib tqdm opencv-python
PyTorchをインストールして、直接公式サイトです.pip3 install torch torchvision
依存ライブラリmarkrcnn-benchmarkは2つの依存ライブラリcoppiとappxが必要で、参考は少し違っています.
インストールパッケージ:pycotools 2.0、既存の仮想環境をアクティブにし、実行する:
git clone https://github.com/cocodataset/cocoapi.git
cd cocoapi/PythonAPI
python setup.py build_ext install
インストールパッケージ:appx 0.1、実行:git clone https://github.com/NVIDIA/apex.git
cd apex
MACOSX_DEPLOYMENT_TARGET=10.9 CC=clang CXX=clang++ python setup.py install --cpp_ext
Ubuntuサーバでは、以下のコマンドが使用できます.cd apex
pip install -v --no-cache-dir .
注意:MACOSX_DEPLOYMENT_TARGET=10.9 CC=clang CXX=clang++
は、Macに特有のコンパイルC++ライブラリを指定します.--cuda_ext
を追加しない.cd maskrcnn-benchmark
MACOSX_DEPLOYMENT_TARGET=10.9 CC=clang CXX=clang++ python setup.py build develop
予測する·.torch/models
では、モデルをダウンロードし、約458 M:wget https://dl.fbaipublicfiles.com/detectron/37697547/12_2017_baselines/e2e_keypoint_rcnn_R-50-FPN_1x.yaml.08_42_54.kdzV35ao/output/train/keypoints_coco_2014_train%3Akeypoints_coco_2014_valminusminival/generalized_rcnn/model_final.pkl
名前を変更:mv model_final.pkl _detectron_37697547_12_2017_baselines_e2e_keypoint_rcnn_R-50-FPN_1x.yaml.08_42_54.kdzV35ao_output_train_keypoints_coco_2014_train%3Akeypoints_coco_2014_valminusminival_generalized_rcnn_model_final.pkl
OpenCVを使って画像を読み取り、cv 2.imread()設定ファイルをロードする
e2e_keypoint_rcnn_R_50_FPN_1x_caffe2.yaml
.モデルCOCO Demoを作成し、最小画像サイズ800、信頼度0.7;
run_on_opencv_image
インターフェース予測ピクチャを呼び出して、描画結果のピクチャを生成します.ソースは以下の通りです
import os
import cv2
import pylab
import matplotlib.pyplot as plt
from maskrcnn_benchmark.config import cfg
from demo.predictor import COCODemo
from root_dir import DATA_DIR
def show_cv_img(img_cv):
img = cv2.cvtColor(img_cv, cv2.COLOR_BGR2RGB)
plt.imshow(img)
plt.axis("off")
fig = plt.gcf()
fig.set_size_inches(10, 8)
pylab.show()
def main():
img_path = os.path.join(DATA_DIR, 'girl_generation.jpg')
img = cv2.imread(img_path)
print('[Info] img size: {}'.format(img.shape))
show_cv_img(img)
config_file = "../configs/caffe2/e2e_keypoint_rcnn_R_50_FPN_1x_caffe2.yaml"
cfg.merge_from_file(config_file) #
cfg.merge_from_list(["MODEL.DEVICE", "cpu"]) # CPU
coco_demo = COCODemo( #
cfg,
min_image_size=800,
confidence_threshold=0.7,
)
predictions = coco_demo.run_on_opencv_image(img)
show_cv_img(predictions)
if __name__ == '__main__':
main()
効果:Trouble shoting
よくある問題の解決策.
libomp.dylib
次の問題に遭遇しました.libomp.dylibは読み込めません.
ImportError: dlopen(python3.7/site-packages/torch/_C.cpython-37m-darwin.so, 9): Library not loaded: /usr/local/opt/libomp/lib/libomp.dylib
Referenced from: python3.7/site-packages/torch/lib/libshm.dylib
Reason: image not found
libompパッケージのインストール:brew install libomp
参考:github.com/pytoch/pyt…toch.version.cda.split('.')
GPUのバージョン、異常:
get_cuda_version
return tuple(int(x) for x in torch.version.cuda.split('.'))
AttributeError: 'NoneType' object has no attribute 'split'
環境はMacのCPU環境で、GPUがなくて、appexのソースコードの中で、依然としてGPUを探して、Bugを招いて、ソースを修正すればいいです./apex/amp/lists/torch_overrides.py
の69行目は、Try-Except文を追加し、異常をブロックします.try:
if utils.get_cuda_version() >= (9, 1, 0):
FP16_FUNCS.extend(_bmms)
else:
FP32_FUNCS.extend(_bmms)
except:
FP32_FUNCS.extend(_bmms)
fatal error:Python.h:No such file or directoryPythonのヘッドファイルが不足しています.開発版をインストールすればいいです.
sudo apt-get install python3-dev
ap-fastを使ってダウンロードすることを勧めます.とても早いです.OK、that's all
転載先:https://juejin.im/post/5cd2bd08f265da03855810d8