Detectron: рдореЛрдмрд╛рдЗрд▓ рдЙрдкрдХрд░рдгреЛрдВ рд╕рд╣рд┐рдд CPU рдФрд░ рд╢реБрджреНрдз Caffe2 / C++ рдЕрдиреБрдорд╛рди рд╕рдорд░реНрдерди (рдХреНрдпрд╛ "рдореЙрдбрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ Android рдЬреИрд╕реЗ рдореЛрдмрд╛рдЗрд▓ рдлреЛрди рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ?")

рдХреЛ рдирд┐рд░реНрдорд┐рдд 24 рдЬрдире░ 2018  ┬╖  16рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: facebookresearch/Detectron

рдореЙрдбрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдПрдВрдбреНрд░реЙрдЗрдб рдЬреИрд╕реЗ рдореЛрдмрд╛рдЗрд▓ рдлреЛрди рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рд╣рдо рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдореЛрдмрд╛рдЗрд▓ рдлреЛрди рдкрд░ Detectron рдореЙрдбрд▓ рдЪрд▓рд╛рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд░реВрдкрд╛рдВрддрд░рдг рдЙрдкрдХрд░рдг рдФрд░ рдирд┐рд░реНрджреЗрд╢ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВред

рд╕рднреА 16 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рд╣рдо рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдореЛрдмрд╛рдЗрд▓ рдлреЛрди рдкрд░ Detectron рдореЙрдбрд▓ рдЪрд▓рд╛рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд░реВрдкрд╛рдВрддрд░рдг рдЙрдкрдХрд░рдг рдФрд░ рдирд┐рд░реНрджреЗрд╢ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВред

рдХреЗрд╡рд▓ CPU рдЕрдиреБрдорд╛рди рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрдорд╛рдг рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╣реБрдП, caffe2 рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ред GPU рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдЕрдиреБрдкрд▓рдмреНрдз рд╣реЛрдиреЗ рдХреЗ рдХрд╛рд░рдг test_spatial_narrow_as_op.py рдЪрд▓рд╛рдирд╛ рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред

$ рдЕрдЬрдЧрд░ ../рдкрд░реАрдХреНрд╖рдг/test_spatial_narrow_as_op.py
рдЪреЗрддрд╛рд╡рдиреА: рдЬрдбрд╝ : рдЗрд╕ caffe2 рдЕрдЬрдЧрд░ рд░рди рдореЗрдВ GPU рд╕рдорд░реНрдерди рдирд╣реАрдВ рд╣реИред рдХреЗрд╡рд▓ CPU рдореЛрдб рдореЗрдВ рдЪрд▓реЗрдЧрд╛ред
рдЪреЗрддрд╛рд╡рдиреА: рд░реВрдЯ : рдбреАрдмрдЧ рд╕рдВрджреЗрд╢: caffe2_pybind11_state_gpu рдирд╛рдо рдХрд╛ рдХреЛрдИ рдореЙрдбреНрдпреВрд▓ рдирд╣реАрдВ
рдЯреНрд░реЗрд╕рдмреИрдХ (рд╕рдмрд╕реЗ рд╣рд╛рд▓рд┐рдпрд╛ рдХреЙрд▓ рдЕрдВрддрд┐рдо):
рдлрд╝рд╛рдЗрд▓ "../tests/test_spatial_narrow_as_op.py", рд▓рд╛рдЗрди 88, рдореЗрдВ
utils.c2.import_detectron_ops ()
рдлрд╝рд╛рдЗрд▓ "/home/user/Detectron/lib/utils/c2.py", рд▓рд╛рдЗрди 41, import_detectron_ops рдореЗрдВ
рдбрд┐рдЯреЗрдХреНрдЯреНрд░реЛрди_рдСрдкреНрд╕_рд▓рд┐рдм = envu.get_detectron_ops_lib ()
рдлрд╝рд╛рдЗрд▓ "/home/user/Detectron/lib/utils/env.py", рд▓рд╛рдЗрди 73, get_detectron_ops_lib рдореЗрдВ
'рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдбрд┐рдЯреЗрдХреНрдЯрд░ рдореЙрдбреНрдпреВрд▓ рд╢рд╛рдорд┐рд▓ рд╣реИ')ред рдкреНрд░рд╛рд░реВрдк (detectron_ops_lib)
рдЕрднрд┐рдХрдерди рддреНрд░реБрдЯрд┐: рдбрд┐рдЯреЗрдХреНрдЯрд░ рдСрдкреНрд╕ рд▓рд┐рдм '/home/user/caffe2/build/lib/libcaffe2_detectron_ops_gpu.so' рдкрд░ рдирд╣реАрдВ рдорд┐рд▓рд╛; рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЖрдкрдХреЗ Caffe2 рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдбрд┐рдЯреЗрдХреНрдЯрд░ рдореЙрдбреНрдпреВрд▓ рд╢рд╛рдорд┐рд▓ рд╣реИ

@rbgirshick , рдХреНрдпрд╛ рд╣рдо GPU рдХреЗ рдмрд┐рдирд╛ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВ? @ ss32 . рдХреЗ рд╕рдорд╛рди рддреНрд░реБрдЯрд┐ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛

рдХреЗрд╡рд▓ CPU рдЕрдиреБрдорд╛рди рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрдорд╛рдг рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╣реБрдП, caffe2 рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ред GPU рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдЕрдиреБрдкрд▓рдмреНрдз рд╣реЛрдиреЗ рдХреЗ рдХрд╛рд░рдг test_spatial_narrow_as_op.py рдЪрд▓рд╛рдирд╛ рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред

$ рдЕрдЬрдЧрд░ ../рдкрд░реАрдХреНрд╖рдг/test_spatial_narrow_as_op.py
рдЪреЗрддрд╛рд╡рдиреА: рдЬрдбрд╝ : рдЗрд╕ caffe2 рдЕрдЬрдЧрд░ рд░рди рдореЗрдВ GPU рд╕рдорд░реНрдерди рдирд╣реАрдВ рд╣реИред рдХреЗрд╡рд▓ CPU рдореЛрдб рдореЗрдВ рдЪрд▓реЗрдЧрд╛ред
рдЪреЗрддрд╛рд╡рдиреА: рд░реВрдЯ : рдбреАрдмрдЧ рд╕рдВрджреЗрд╢: caffe2_pybind11_state_gpu рдирд╛рдо рдХрд╛ рдХреЛрдИ рдореЙрдбреНрдпреВрд▓ рдирд╣реАрдВ
рдЯреНрд░реЗрд╕рдмреИрдХ (рд╕рдмрд╕реЗ рд╣рд╛рд▓рд┐рдпрд╛ рдХреЙрд▓ рдЕрдВрддрд┐рдо):
рдлрд╝рд╛рдЗрд▓ "../tests/test_spatial_narrow_as_op.py", рд▓рд╛рдЗрди 88, рдореЗрдВ
utils.c2.import_detectron_ops ()
рдлрд╝рд╛рдЗрд▓ "/home/user/Detectron/lib/utils/c2.py", рд▓рд╛рдЗрди 41, import_detectron_ops рдореЗрдВ
рдбрд┐рдЯреЗрдХреНрдЯреНрд░реЛрди_рдСрдкреНрд╕_рд▓рд┐рдм = envu.get_detectron_ops_lib ()
рдлрд╝рд╛рдЗрд▓ "/home/user/Detectron/lib/utils/env.py", рд▓рд╛рдЗрди 73, get_detectron_ops_lib рдореЗрдВ
'рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдбрд┐рдЯреЗрдХреНрдЯрд░ рдореЙрдбреНрдпреВрд▓ рд╢рд╛рдорд┐рд▓ рд╣реИ')ред рдкреНрд░рд╛рд░реВрдк (detectron_ops_lib)
рдЕрднрд┐рдХрдерди рддреНрд░реБрдЯрд┐: рдбрд┐рдЯреЗрдХреНрдЯрд░ рдСрдкреНрд╕ рд▓рд┐рдм '/home/user/caffe2/build/lib/libcaffe2_detectron_ops_gpu.so' рдкрд░ рдирд╣реАрдВ рдорд┐рд▓рд╛; рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЖрдкрдХреЗ Caffe2 рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдбрд┐рдЯреЗрдХреНрдЯрд░ рдореЙрдбреНрдпреВрд▓ рд╢рд╛рдорд┐рд▓ рд╣реИ

рдореБрдЭреЗ рдпрд╣рд╛рдБ рд╡рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реЛ рд░рд╣реА рд╣реИред Mac рдкрд░ рдкреВрд░реНрд╡-рдирд┐рд░реНрдорд┐рдд рдмрд╛рдпрдиреЗрд░рд┐рдЬрд╝ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ред

рдПрдХ рд╣реА рдореБрджреНрджреЗ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝ рд░рд╣рд╛ рд╣реИред рд╕реНрд░реЛрдд рд╕реЗ рдФрд░ рд╕рд╛рде рд╣реА macOS рдкрд░ рдкреВрд░реНрд╡-рдирд┐рд░реНрдорд┐рдд рдмрд╛рдпрдиреЗрд░рд┐рдЬрд╝ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ caffe2 рдмрдирд╛рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рд╣реИред

рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИ (рддреНрд░реБрдЯрд┐ рд▓реЙрдЧ рджреЗрдЦреЗрдВ)ред

рдореЗрд░рд╛ рд▓рдХреНрд╖реНрдп: рдХреЗрд╡рд▓ CPU рдХреЗ рд╕рд╛рде MacOs рдкрд░ рдПрдХ рдкрд░реАрдХреНрд╖рдг рдЪрд▓ рд░рд╣рд╛ рд╣реИред

рдЪрд░рдг: 1) рдЕрдиреНрдп рд╕рднреА рдирд┐рд░реНрднрд░рддрд╛рдУрдВ рдХреЛ cond рдХреЗ рд╕рд╛рде рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ;
2) рдХреЛрдВрдбрд╛ рдХреЗ рд╕рд╛рде caffe2 рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВред
3) рд╕рд┐рд╕реНрдЯрдо рдкрд╛рдЗрдк (рдкрд╛рдпрдерди) рдХреЗ рд╕рд╛рде рдбрд┐рдЯреЗрдХреНрдЯрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ, рдлрд┐рд░ lib рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЛ PYTHONPATH рдЪрд░ рдореЗрдВ рд░рдЦреЗрдВред

рддрдм рдореЗрд░реЗ рдкрд╛рд╕ рдЙрдкрд░реЛрдХреНрдд рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИ:

рдЪреЗрддрд╛рд╡рдиреА: рдЬрдбрд╝ : рдЗрд╕ caffe2 рдЕрдЬрдЧрд░ рд░рди рдореЗрдВ GPU рд╕рдорд░реНрдерди рдирд╣реАрдВ рд╣реИред рдХреЗрд╡рд▓ CPU рдореЛрдб рдореЗрдВ рдЪрд▓реЗрдЧрд╛ред
рдЪреЗрддрд╛рд╡рдиреА: рд░реВрдЯ : рдбреАрдмрдЧ рд╕рдВрджреЗрд╢: caffe2_pybind11_state_gpu рдирд╛рдо рдХрд╛ рдХреЛрдИ рдореЙрдбреНрдпреВрд▓ рдирд╣реАрдВ
E0204 13:06:36.049393 2041434112 init_intrinsics_check.cc:54] CPU рдлреАрдЪрд░ avx рдЖрдкрдХреА рдорд╢реАрди рдкрд░ рдореМрдЬреВрдж рд╣реИ, рд▓реЗрдХрд┐рди Caffe2 рдмрд╛рдЗрдирд░реА рдЗрд╕рдХреЗ рд╕рд╛рде рд╕рдВрдХрд▓рд┐рдд рдирд╣реАрдВ рд╣реИред рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдЕрдкрдиреЗ CPU рдХреА рдкреВрд░реА рд╕реНрдкреАрдб рдирд╣реАрдВ рдорд┐рд▓ рд╕рдХрддреА рд╣реИред
E0204 13:06:36.049954 2041434112 init_intrinsics_check.cc:54] CPU рд╕реБрд╡рд┐рдзрд╛ avx2 рдЖрдкрдХреА рдорд╢реАрди рдкрд░ рдореМрдЬреВрдж рд╣реИ, рд▓реЗрдХрд┐рди Caffe2 рдмрд╛рдЗрдирд░реА рдЗрд╕рдХреЗ рд╕рд╛рде рд╕рдВрдХрд▓рд┐рдд рдирд╣реАрдВ рд╣реИред рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдЕрдкрдиреЗ CPU рдХреА рдкреВрд░реА рд╕реНрдкреАрдб рдирд╣реАрдВ рдорд┐рд▓ рд╕рдХрддреА рд╣реИред
E0204 13:06:36.049964 2041434112 init_intrinsics_check.cc:54] CPU рдлреАрдЪрд░ fma рдЖрдкрдХреА рдорд╢реАрди рдкрд░ рдореМрдЬреВрдж рд╣реИ, рд▓реЗрдХрд┐рди Caffe2 рдмрд╛рдЗрдирд░реА рдЗрд╕рдХреЗ рд╕рд╛рде рд╕рдВрдХрд▓рд┐рдд рдирд╣реАрдВ рд╣реИред рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдЕрдкрдиреЗ CPU рдХреА рдкреВрд░реА рд╕реНрдкреАрдб рдирд╣реАрдВ рдорд┐рд▓ рд╕рдХрддреА рд╣реИред
рдЯреНрд░реЗрд╕рдмреИрдХ (рд╕рдмрд╕реЗ рд╣рд╛рд▓рд┐рдпрд╛ рдХреЙрд▓ рдЕрдВрддрд┐рдо):
рдлрд╝рд╛рдЗрд▓ "/tmp/test_spatial_narrow_as_op.py", рд▓рд╛рдЗрди 88, in
utils.c2.import_detectron_ops ()
рдлрд╝рд╛рдЗрд▓ "/Users/wangy/python/detectron/lib/utils/c2.py", рд▓рд╛рдЗрди 41, import_detectron_ops рдореЗрдВ
рдбрд┐рдЯреЗрдХреНрдЯреНрд░реЛрди_рдСрдкреНрд╕_рд▓рд┐рдм = envu.get_detectron_ops_lib ()
рдлрд╝рд╛рдЗрд▓ "/Users/wangy/python/detectron/lib/utils/env.py", рд▓рд╛рдЗрди 73, get_detectron_ops_lib рдореЗрдВ
'рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдбрд┐рдЯреЗрдХреНрдЯрд░ рдореЙрдбреНрдпреВрд▓ рд╢рд╛рдорд┐рд▓ рд╣реИ')ред рдкреНрд░рд╛рд░реВрдк (detectron_ops_lib)
рдЕрднрд┐рдХрдерди рддреНрд░реБрдЯрд┐: рдбрд┐рдЯреЗрдХреНрдЯрд░ рдСрдкреНрд╕ рд▓рд┐рдм '/рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛/рд╡рд╛рдирдЧреА/рдорд┐рдирд┐рдХреЛрдВрдбрд╛2/lib/python2.7/рд╕рд╛рдЗрдЯ-рдкреИрдХреЗрдЬ/lib/libcaffe2_detectron_ops_gpu.so' рдкрд░ рдирд╣реАрдВ рдорд┐рд▓рд╛;

@CancerGenome рдпрд╣ рд╕рдВрднрд╡рддрдГ GPU- рдХреЗрд╡рд▓ рд╕рдорд╕реНрдпрд╛ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдирд╣реАрдВ рд╣реИред рдЖрдкрдХреЛ Caffe2 рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдбрд┐рдЯреЗрдХреНрдЯрд░ рдХреЗ рд╕рд╛рде рдПрдХ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ (рдЬреИрд╕рд╛ рдХрд┐ INSTALL.md рдирд┐рд░реНрджреЗрд╢реЛрдВ рдореЗрдВ рдХрд╣рд╛ рдЧрдпрд╛ рд╣реИ)ред рдпрд╣ рдпрд╣рд╛рдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛

@ ss32 рдореИрдВ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рддрд╛ рд╣реВрдВ рдореЗрд░реЗ рдХрдВрдкреНрдпреВрдЯрд░ рдХреЗ рдХрд╛рд░рдг caffe1 рдФрд░ caffe2 рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдлрд┐рд░ рдореИрдВ caffe1 рдХреЗ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдкрд░ рдЯрд┐рдкреНрдкрдгреА рдХрд░рддрд╛ рд╣реВрдВ рдЬреЛ рдХрд┐ PYTHONPATH рдЪрд░ рд╣реИред рдФрд░ caffe2 рдХреЗ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдЬреЛрдбрд╝реЗрдВред рдЕрдВрдд рдореЗрдВ, рдореИрдВ рд╕рдлрд▓рддрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реВрдВ, рдмрд╕ рдХрд░реЗрдВ:
рдЬреАрдПрдбрд┐рдЯ ~/.bashrc
рдпрд╣ рдЯрд┐рдкреНрдкрдгреА рдХрд░реЗрдВ:

рдирд┐рд░реНрдпрд╛рдд PYTHONPATH=/pathto/caffe/python:$PYTHONPATH

рдЗрд╕рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ:
рдирд┐рд░реНрдпрд╛рдд PYTHONPATH=/path/to/caffe2/build:$PYTHONPATH

рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреА рдорджрдж рдХрд░реЗрдЧрд╛! рд╕реМрднрд╛рдЧреНрдп рд╕реЗ~

HI @rbgirshick рд▓рдЧрднрдЧ рддреАрди рд╕рдкреНрддрд╛рд╣ рдкрд╣рд▓реЗ, рдореИрдВрдиреЗ рд░рд╡рд┐рд╡рд╛рд░ рдХреА рджреЛрдкрд╣рд░ рдХреЛ caffe2 рдХреЛ рдПрдХ рджреЗрд╡ рдмреЙрдХреНрд╕ рдкрд░ рд╕реНрд░реЛрдд рд╕реЗ caffe2 рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдмрд┐рддрд╛рдпрд╛, рдЬрд┐рд╕рдореЗрдВ Ubuntu 16.04 рдкрд░ 4Gb CUDA рд╕рдХреНрд╖рдо GPU рдХреЗ рд╕рд╛рде рд╕реАрдкреАрдпреВ рдкрд░ 1920x1080 рдЬреИрд╕реА рдХреБрдЫ рдмрдбрд╝реА рдЫрд╡рд┐рдпреЛрдВ рдкрд░ рдлреАрдбрдлреЙрд░рд╡рд░реНрдб рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреА рдЙрдореНрдореАрдж рдереАред рдорд╛рд╕реНрдХрд┐рдВрдЧ рдХреА рдЧреБрдгрд╡рддреНрддрд╛ред рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдкрд╛рдпрд╛ рдХрд┐ рдореИрдВ рдХреЗрд╡рд▓ GPU рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рд▓рд┐рдП рдмрд╛рдзреНрдп рдерд╛:

lib/python2.7/рд╕рд╛рдЗрдЯ-рдкреИрдХреЗрдЬ/lib/libcaffe2_detectron_ops_gpu.so

рдЗрд╕рд▓рд┐рдП рдореЗрд░реЗ рдкрд╛рд╕ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдорд╛рд╕реНрдХрд┐рдВрдЧ рдХрд░рдиреЗ рдпрд╛ рдирдП CUDA рд╕рдХреНрд╖рдо рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдЦрд░реАрджрдиреЗ рдХреЗ рд▓рд┐рдП AWS рдХреНрд▓рд╛рдЙрдб рдХрдВрдкреНрдпреВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рд╡рд┐рдХрд▓реНрдк рдмрдЪрд╛ рд╣реИред

рдХреНрдпрд╛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╕рдордп-рд╕реАрдорд╛ рд╣реИ рдХрд┐ рдХреЗрд╡рд▓ CPU рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрдм рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛?

рдореЗрд░реЗ рд░рд╛рд╕реНрдкрдмреЗрд░реАрдкреА рдкрд░ рдХреИрдл 2 рдФрд░ рдбрд┐рдЯреЗрдХреНрдЯрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ред рдПрдХ рд╣реА рдореБрджреНрджрд╛ рд╣реЛрдирд╛ред

рдЪреЗрддрд╛рд╡рдиреА: рдЬрдбрд╝ : рдЗрд╕ caffe2 рдЕрдЬрдЧрд░ рд░рди рдореЗрдВ GPU рд╕рдорд░реНрдерди рдирд╣реАрдВ рд╣реИред рдХреЗрд╡рд▓ CPU рдореЛрдб рдореЗрдВ рдЪрд▓реЗрдЧрд╛ред
рдЪреЗрддрд╛рд╡рдиреА: рд░реВрдЯ : рдбреАрдмрдЧ рд╕рдВрджреЗрд╢: caffe2_pybind11_state_gpu рдирд╛рдо рдХрд╛ рдХреЛрдИ рдореЙрдбреНрдпреВрд▓ рдирд╣реАрдВ
INFO:caffe2.python.net_drawer: pydot рдЖрдпрд╛рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛, рдЬреЛ рдПрдХ рдиреЗрдЯрд╡рд░реНрдХ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдпрд╣ рдЖрдорддреМрд░ рдкрд░ "рдкрд╛рдЗрдк рдЗрдВрд╕реНрдЯреЙрд▓ рдкрд╛рдЗрдбреЙрдЯ" рдХреЗ рд╕рд╛рде рдЕрдЬрдЧрд░ рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдкрд╛рдЗрдбреЙрдЯ рдХреЛ рдбреЙрдЯ рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рдкреАрдбреАрдПрдл рдореЗрдВ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЧреНрд░рд╛рдлрд╡рд┐рдЬрд╝ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ: рдЙрдмрдВрдЯреВ рдореЗрдВ, рдЗрд╕реЗ рдЖрдорддреМрд░ рдкрд░ "рд╕реБрдбреЛ рдПрдкреАрдЯреА-рдЧреЗрдЯ рдЗрдВрд╕реНрдЯрд╛рд▓ рдЧреНрд░рд╛рдлрд╡рд┐рдЬрд╝" рдХреЗ рд╕рд╛рде рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
net_drawer рдареАрдХ рд╕реЗ рдирд╣реАрдВ рдЪрд▓реЗрдЧрд╛ред рдХреГрдкрдпрд╛ рд╕рд╣реА рдирд┐рд░реНрднрд░рддрд╛рдПрдБ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВред
рдЯреНрд░реЗрд╕рдмреИрдХ (рд╕рдмрд╕реЗ рд╣рд╛рд▓рд┐рдпрд╛ рдХреЙрд▓ рдЕрдВрддрд┐рдо):
рдлрд╝рд╛рдЗрд▓ "test_spatial_narrow_as_op.py", рд▓рд╛рдЗрди 88, in
utils.c2.import_detectron_ops ()
рдлрд╝рд╛рдЗрд▓ "/home/pi/detectron/lib/utils/c2.py", рд▓рд╛рдЗрди 41, import_detectron_ops рдореЗрдВ
рдбрд┐рдЯреЗрдХреНрдЯреНрд░реЛрди_рдСрдкреНрд╕_рд▓рд┐рдм = envu.get_detectron_ops_lib ()
рдлрд╝рд╛рдЗрд▓ "/home/pi/detectron/lib/utils/env.py", рд▓рд╛рдЗрди 73, get_detectron_ops_lib рдореЗрдВ
'рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдбрд┐рдЯреЗрдХреНрдЯрд░ рдореЙрдбреНрдпреВрд▓ рд╢рд╛рдорд┐рд▓ рд╣реИ')ред рдкреНрд░рд╛рд░реВрдк (detectron_ops_lib)
рдЕрднрд┐рдХрдерди рддреНрд░реБрдЯрд┐: рдбрд┐рдЯреЗрдХреНрдЯрд░ рдСрдкреНрд╕ рд▓рд┐рдм '/home/pi/caffe2/build/lib/libcaffe2_detectron_ops_gpu.so' рдкрд░ рдирд╣реАрдВ рдорд┐рд▓рд╛; рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЖрдкрдХреЗ Caffe2 рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдбрд┐рдЯреЗрдХреНрдЯрд░ рдореЙрдбреНрдпреВрд▓ рд╢рд╛рдорд┐рд▓ рд╣реИ

рд╡рд╣реА рдкреНрд░рд╢реНрди, рдХреНрдпрд╛ рдХреЗрд╡рд▓ CPU рдХрд╛ рдЕрдиреБрдорд╛рди рд╕рдВрднрд╡ рд╣реИ? рдореИрдВ рдбрд┐рдЯреЗрдХреНрдЯрд░ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рд▓реЗрдХрд┐рди рдпрд╣ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ - рдореЗрд░рд╛ рд╣реЛрд╕реНрдЯ рдУрдПрд╕ рд╡рд┐рдВрдбреЛрдЬрд╝ рд╣реИ (рдЬрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдВ, рдбрд┐рдЯреЗрдХреНрдЯрд░ рдЗрд╕рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ) рдФрд░ рд╡реАрдПрдо рдореЗрдВ рдореИрдВ рдЬреАрдкреАрдпреВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред
рдЗрд╕реЗ рдХрд╣рддреЗ рд╣реИрдВ:

рдЕрднрд┐рдХрдерди рддреНрд░реБрдЯрд┐: рдбрд┐рдЯреЗрдХреНрдЯрд░ рдСрдкреНрд╕ рд▓рд┐рдм рдирд╣реАрдВ рдорд┐рд▓рд╛; рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЖрдкрдХреЗ Caffe2 рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдбрд┐рдЯреЗрдХреНрдЯрд░ рдореЙрдбреНрдпреВрд▓ рд╢рд╛рдорд┐рд▓ рд╣реИ

@all рдХреГрдкрдпрд╛ рдиреЛрдЯ рдХреЛ caffe2/modules/detectron/CMakeLists.txt

# Note(ilijar): Since Detectron ops currently have no
# CPU implementation, we only build GPU ops for now.

caffe2 рдореЗрдВ рдбрд┐рдЯреЗрдХреНрдЯрд░ рдореЙрдбреНрдпреВрд▓ рдХреЗрд╡рд▓ GPU рдореЛрдб рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реИ!

рдмрд╕ рдлрд┐рд░ рд╕реЗ INSTALL.md рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЪрд▓рд╛ рдЧрдпрд╛ рдФрд░ рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЗ рдиреЛрдЯреНрд╕ рдЕрдиреБрднрд╛рдЧ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдХрд╣рддрд╛ рд╣реИ "рдбрд┐рдЯреЗрдХреНрдЯреНрд░реЙрди рдореЗрдВ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╕реАрдкреАрдпреВ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдирд╣реАрдВ рд╣реИ"

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ #372 & #449 рд╕рдорд╕реНрдпрд╛ рдХреЗ рд╕реАрдкреАрдпреВ рднрд╛рдЧ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдорд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИред
рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рдЖрдк рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдЗрд╕реЗ рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ рдЬрд╛рдП рддреЛ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЕрдиреБрд░рдХреНрд╖рдХреЛрдВ рдХреЛ рдЗрди рджреЛ рдкреАрдЖрд░ рдХреА рд╕рдореАрдХреНрд╖рд╛ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рдирд╛ (рдФрд░ рдЙрдиреНрд╣реЗрдВ рдКрдкрд░ рдЙрдард╛рдирд╛ рднреА) рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдЖрд╕рд╛рди рдмрдирд╛ рд╕рдХрддрд╛ рд╣реИред

рдЖрдк рд╕реАрдкреАрдпреВ рд╕рдорд░реНрдерди рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ рдЖрдк рдорджрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рд╣рдореЗрдВ upvoting рдФрд░ рдпрд╣рд╛рдВ рддрдХ рдХрд┐ рдЗрди рджреЛрдиреЛрдВ рдореБрджреНрджреЛрдВ рдХреА рд╕рдореАрдХреНрд╖рд╛ рдХрд░рдХреЗ рд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП: # 372 & # 449ред

Ps: рдпрд╣ рд╢реБрджреНрдз Caffe2/PyTorch рдЕрдиреБрдорд╛рди рдХреЗ рд▓рд┐рдП рднреА рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдЕрдзрд┐рдХ рджреВрд░рд╕реНрде рднрд╡рд┐рд╖реНрдп рдореЗрдВ

@rbgirshick @gadcam рдЕрднреА рддрдХ, рдХреНрдпрд╛ Android рдкрд░ Detectron рдЪрд▓рд╛рдирд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИ?

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕