рд╕рднреА рдХреЛ рдирдорд╕реНрдХрд╛рд░,
рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдореБрдЭреЗ рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╣реИ, рдбреЙрдХрдЯрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдбрд┐рдЯреЗрдХреНрдЯрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ред рдореИрдВ рдЕрдм рдЗрд╕рдХреЗ рд╕рд╛рде рд╡рд┐рдлрд▓ рд░рд╣рддрд╛ рд╣реВрдВ:
/usr/рд╕реНрдерд╛рдиреАрдп/caffe2_build/include/caffe2/core/tensor.h:687:17: рдиреЛрдЯ: рдЙрдореНрдореАрджрд╡рд╛рд░ 1 рддрд░реНрдХ рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░рддрд╛ рд╣реИ, 0 рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЧрдпрд╛
/detectron/detectron/ops/zero_even_op.cc:33:27: error: 'class caffe2::Tensor<:cpucontext i="7">' рдореЗрдВ 'numel' рдирд╛рдо рдХрд╛ рдХреЛрдИ рд╕рджрд╕реНрдп рдирд╣реАрдВ рд╣реИред
рдХреЗ рд▓рд┐рдП (рдСрдЯреЛ i = 0; i <Y->num(); i += 2) {
рдореБрдЭреЗ рдпрд╣рд╛рдВ рдПрдХ рд╕рдВрдмрдВрдзрд┐рдд рд╕рдорд╕реНрдпрд╛ рдорд┐рд▓реА:
https://github.com/facebookresearch/Detectron/issues/732
рд▓реЗрдХрд┐рди рдореИрдВ рдлрд┐рдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рдХреНрдпреЛрдВрдХрд┐ рдбрд┐рдЯреЗрдХреНрдЯрд░ рд╕реАрдзреЗ рднрдВрдбрд╛рд░ рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд░рд╣рд╛ рд╣реИред рдХреНрдпрд╛ рдЖрдк рдХреГрдкрдпрд╛ рднрдВрдбрд╛рд░ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ?
рдЕрдЧреНрд░рд┐рдо рдореЗрдВ рдзрдиреНрдпрд╡рд╛рдж,
рдПрд░рд┐рдХреЛ
рдирдорд╕реНрддреЗ, рдореБрдЭреЗ рдбреЙрдХрд░рдлрд╛рдЗрд▓ рдХреЗ рд╕рд╛рде рднреА рдпрд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИред рдореИрдВ рд╕реЛрдЪ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ CUDA рд╕рдВрд╕реНрдХрд░рдг рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
рд╕рдВрдХрд▓рди рдЕрдм рдЯреВрдЯ рд░рд╣рд╛ рд╣реИред рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛:
рдХреНрдпрд╛ рдбреЙрдХрд░ рд╣рдм рдкрд░ рдХрд╣реАрдВ рднреА рдЗрд╕рдХрд╛ рд╕рдорд░реНрдерд┐рдд рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдирд┐рд░реНрдорд╛рдг рдирд╣реАрдВ рд╣реИ?
рдореЗрд░реЗ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ CUDA рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдЕрдиреНрдп рдХрдВрдЯреЗрдирд░ рд╣реИрдВ рдЬреЛ рдареАрдХ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
-- CUDA detected: 9.0
-- Added CUDA NVCC flags for: sm_30 sm_35 sm_50 sm_52 sm_60 sm_61 sm_70
-- Found libcuda: /usr/local/cuda/lib64/stubs/libcuda.so
-- Found libnvrtc: /usr/local/cuda/lib64/libnvrtc.so
-- Found CUDNN: /usr/include
-- Found cuDNN: v7.0.5 (include: /usr/include, library: /usr/lib/x86_64-linux-gnu/libcudnn.so)
-- Summary:
-- CMake version : 3.5.1
-- CMake command : /usr/bin/cmake
-- System name : Linux
-- C++ compiler : /usr/bin/c++
-- C++ compiler version : 5.4.0
-- CXX flags : -std=c++11 -O2 -fPIC -Wno-narrowing
-- Caffe2 version : 0.8.1
-- Caffe2 include path : /usr/local/caffe2_build/include
-- Have CUDA : TRUE
-- CUDA version : 9.0
-- CuDNN version : 7.0.5
-- Configuring done
-- Generating done
-- Build files have been written to: /detectron/build
make[1]: Entering directory '/detectron/build'
make[2]: Entering directory '/detectron/build'
make[3]: Entering directory '/detectron/build'
make[3]: Entering directory '/detectron/build'
[ 20%] Building NVCC (Device) object CMakeFiles/caffe2_detectron_custom_ops_gpu.dir/detectron/ops/caffe2_detectron_custom_ops_gpu_generated_zero_even_op.cu.o
Scanning dependencies of target caffe2_detectron_custom_ops
make[3]: Leaving directory '/detectron/build'
make[3]: Entering directory '/detectron/build'
[ 40%] Building CXX object CMakeFiles/caffe2_detectron_custom_ops.dir/detectron/ops/zero_even_op.cc.o
In file included from /usr/local/caffe2_build/include/caffe2/core/allocator.h:22:0,
from /usr/local/caffe2_build/include/caffe2/core/context.h:25,
from /detectron/detectron/ops/zero_even_op.h:20,
from /detectron/detectron/ops/zero_even_op.cc:17:
/detectron/detectron/ops/zero_even_op.cc: In member function 'bool caffe2::ZeroEvenOp<T, Context>::RunOnDevice() [with T = float; Context = caffe2::CPUContext]':
/detectron/detectron/ops/zero_even_op.cc:25:23: error: no matching function for call to 'caffe2::Tensor<caffe2::CPUContext>::dim() const'
CAFFE_ENFORCE(X.dim() == 1);
^
In file included from /usr/local/caffe2_build/include/caffe2/core/net.h:34:0,
from /usr/local/caffe2_build/include/caffe2/core/operator.h:29,
from /detectron/detectron/ops/zero_even_op.h:21,
from /detectron/detectron/ops/zero_even_op.cc:17:
/usr/local/caffe2_build/include/caffe2/core/tensor.h:687:17: note: candidate: caffe2::TIndex caffe2::Tensor<Context>::dim(int) const [with Context = caffe2::CPUContext; caffe2::TIndex = long int]
inline TIndex dim(const int i) const {
^
/usr/local/caffe2_build/include/caffe2/core/tensor.h:687:17: note: candidate expects 1 argument, 0 provided
/detectron/detectron/ops/zero_even_op.cc:33:27: error: 'class caffe2::Tensor<caffe2::CPUContext>' has no member named 'numel'
for (auto i = 0; i < Y->numel(); i += 2) {
^
CMakeFiles/caffe2_detectron_custom_ops.dir/build.make:62: recipe for target 'CMakeFiles/caffe2_detectron_custom_ops.dir/detectron/ops/zero_even_op.cc.o' failed
make[3]: *** [CMakeFiles/caffe2_detectron_custom_ops.dir/detectron/ops/zero_even_op.cc.o] Error 1
make[3]: Leaving directory '/detectron/build'
CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/caffe2_detectron_custom_ops.dir/all' failed
make[2]: *** [CMakeFiles/caffe2_detectron_custom_ops.dir/all] Error 2
make[2]: *** Waiting for unfinished jobs....
Scanning dependencies of target caffe2_detectron_custom_ops_gpu
make[3]: Leaving directory '/detectron/build'
make[3]: Entering directory '/detectron/build'
[ 60%] Building CXX object CMakeFiles/caffe2_detectron_custom_ops_gpu.dir/detectron/ops/zero_even_op.cc.o
In file included from /usr/local/caffe2_build/include/caffe2/core/allocator.h:22:0,
from /usr/local/caffe2_build/include/caffe2/core/context.h:25,
from /detectron/detectron/ops/zero_even_op.h:20,
from /detectron/detectron/ops/zero_even_op.cc:17:
/detectron/detectron/ops/zero_even_op.cc: In member function 'bool caffe2::ZeroEvenOp<T, Context>::RunOnDevice() [with T = float; Context = caffe2::CPUContext]':
/detectron/detectron/ops/zero_even_op.cc:25:23: error: no matching function for call to 'caffe2::Tensor<caffe2::CPUContext>::dim() const'
CAFFE_ENFORCE(X.dim() == 1);
^
In file included from /usr/local/caffe2_build/include/caffe2/core/net.h:34:0,
from /usr/local/caffe2_build/include/caffe2/core/operator.h:29,
from /detectron/detectron/ops/zero_even_op.h:21,
from /detectron/detectron/ops/zero_even_op.cc:17:
/usr/local/caffe2_build/include/caffe2/core/tensor.h:687:17: note: candidate: caffe2::TIndex caffe2::Tensor<Context>::dim(int) const [with Context = caffe2::CPUContext; caffe2::TIndex = long int]
inline TIndex dim(const int i) const {
^
/usr/local/caffe2_build/include/caffe2/core/tensor.h:687:17: note: candidate expects 1 argument, 0 provided
/detectron/detectron/ops/zero_even_op.cc:33:27: error: 'class caffe2::Tensor<caffe2::CPUContext>' has no member named 'numel'
for (auto i = 0; i < Y->numel(); i += 2) {
^
CMakeFiles/caffe2_detectron_custom_ops_gpu.dir/build.make:69: recipe for target 'CMakeFiles/caffe2_detectron_custom_ops_gpu.dir/detectron/ops/zero_even_op.cc.o' failed
make[3]: *** [CMakeFiles/caffe2_detectron_custom_ops_gpu.dir/detectron/ops/zero_even_op.cc.o] Error 1
make[3]: Leaving directory '/detectron/build'
CMakeFiles/Makefile2:104: recipe for target 'CMakeFiles/caffe2_detectron_custom_ops_gpu.dir/all' failed
make[2]: Leaving directory '/detectron/build'
make[2]: *** [CMakeFiles/caffe2_detectron_custom_ops_gpu.dir/all] Error 2
Makefile:127: recipe for target 'all' failed
make[1]: Leaving directory '/detectron/build'
make[1]: *** [all] Error 2
Makefile:13: recipe for target 'ops' failed
make: *** [ops] Error 2
The command '/bin/sh -c make ops' returned a non-zero code: 2
рдореБрдЭреЗ рдпрд╣ рдирд╡реАрдирддрдо рдорд╛рд╕реНрдЯрд░ рдХреЗ рдмрдЬрд╛рдп d56e267efc92b65b8d899f1b89a7ed2bca3e5f44 рдЪреЗрдХрдЖрдЙрдЯ рдХрд░рдХреЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдорд┐рд▓рд╛ рд╣реИ
@TheNeikos , рдореИрдВ рдЗрд╕реЗ d56e267efc92b65b8d899f1b89a7ed2bca3e5f44 рдХреЗ рд╕рд╛рде рднреА рдХрд╛рдо рдХрд░рддрд╛ рд╣реВрдВ
рдореБрдЭреЗ рдпрд╣ рдирд╡реАрдирддрдо рдорд╛рд╕реНрдЯрд░ рдХреЗ рдмрдЬрд╛рдп рдЪреЗрдХрдЖрдЙрдЯ d56e267 рджреНрд╡рд╛рд░рд╛ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдорд┐рд▓рд╛ рд╣реИ
рдЖрдкрдХрд╛ рдорддрд▓рдм рдбреЙрдХрд░рдлрд╛рдЗрд▓ рдореЗрдВ рд╣реИ? рдЬреИрд╕реЗ
рд░рди рдЧрд┐рдЯ рдХреНрд▓реЛрди https://github.com/facebookresearch/detectron /detectron
рд░рди рд╕реАрдбреА /рдбрд┐рдЯреЗрдХреНрдЯреНрд░реЙрди && рдЧрд┐рдЯ рдЪреЗрдХрдЖрдЙрдЯ d56e267
@рдмреАрдЯрджреИрдЯ рд╣рд╛рдВ рдмрд┐рд▓реНрдХреБрд▓
рдзрдиреНрдпрд╡рд╛рдж @TheNeikos ! рдЬреБрдХрд░рдмрд░реНрдЧ рдЖрдкрдХреЛ рдХрдо рд╕реЗ рдХрдо 10 рд╣рдЬрд╛рд░ рдпреВрд░реЛ рджреЗрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХреА рдЯрд┐рдкреНрдкрдгреА рдХреЗ рдмрд┐рдирд╛ рдореИрдВ рдбрд┐рдЯреЗрдХреНрдЯрд░ рдХреЛ рдЫреЛрдбрд╝ рджреЗрддрд╛ рдФрд░ рдХреЗрд╡рд▓ рдореИрдЯрд░рдкреЛрд░реНрдЯ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛: рдбреА
@manyaafonso
рдХреНрдпрд╛ рдЖрдк рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗ рдХрд┐ рдЖрдк рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдХреИрд╕реЗ рд╣рд▓ рдХрд░рддреЗ рд╣реИрдВ, рдХреГрдкрдпрд╛?
рдореИрдВ @TheNeikos @beatthat @francois-wellenreiter рдХреЗ рд╕реБрдЭрд╛рд╡ рдХрд╛ рдкрд╛рд▓рди рдХрд░рддрд╛ рд╣реВрдВ
1. рд░рди рдЧрд┐рдЯ рдХреНрд▓реЛрди https://github.com/facebookresearch/detectron /detectron
рдФрд░ рдЕрднреА рднреА рд╡рд╣реА рддреНрд░реБрдЯрд┐ рдЖрдЙрдЯрдкреБрдЯ рдорд┐рд▓рд╛ рд╣реИред
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ git checkout d56e267 рдореБрдЭреЗ рдкреБрд░рд╛рдиреЗ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдмрджрд▓рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИред рдФрд░ d56e267 . рдореЗрдВ
"/detectron/ops/zero_even_op.cc" рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╣реИ
for (auto i = 0; i < Y->size(); i += 2) {
рд▓реЗрдХрд┐рди рдЬрдм рдореИрдВ рдирд┐рд░реНрдорд╛рдг рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реВрдВ, рддрдм рднреА рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИ
for (auto i = 0; i < Y->numel(); i += 2) {
^
рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЕрдЧрд░ рдРрд╕рд╛ рдХреБрдЫ рд╣реИ рдЬреЛ рдореИрдВ рдХрд░рдирд╛ рднреВрд▓ рдЧрдпрд╛ рд╣реВрдВред
рд╣рд╛рдп @ рд░реИрдВрдбрдл102 ,
рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдореИрдВрдиреЗ рдЗрд╕ рд╕рдВрд╢реЛрдзрди рдХреЛ рдбреЙрдХрд░рдлрд╛рдЗрд▓ рдкрд░ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдФрд░ рдирд┐рд░реНрдорд╛рдг рд╕рдлрд▓ рд╣реБрдЖ:
`` `рдЕрдВрддрд░
diff --git a/docker/Dockerfile b/docker/Dockerfile
рд╕реВрдЪрдХрд╛рдВрдХ 38cc0ea..c02a110 100644
--- a/docker/Dockerfile
+++ рдмреА/рдбреЙрдХрд░/рдбреЙрдХрд░рдлрд╛рдЗрд▓
@@ -10,6 +10,9 @@ ENV LD_LIBRARY_PATH /usr/local/caffe2_build/lib:${LD_LIBRARY_PATH}
# рдбрд┐рдЯреЗрдХреНрдЯреНрд░реЙрди рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЛ рдХреНрд▓реЛрди рдХрд░реЗрдВ
рд░рди рдЧрд┐рдЯ рдХреНрд▓реЛрди https://github.com/facebookresearch/detectron /detectron
+рд╡рд░реНрдХрдбрд┐рд░ /рдбрд┐рдЯреЗрдХреНрдЯреНрд░реЙрди
+ рд░рди рдЧрд┐рдЯ рдЪреЗрдХрдЖрдЙрдЯ d56e267efc92b65b8d899f1b89a7ed2bca3e5f44
+
# рдкрд╛рдпрдерди рдирд┐рд░реНрднрд░рддрд╛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
рд░рди рдкрд╛рдЗрдк рдЗрдВрд╕реНрдЯрд╛рд▓ -r /detectron/requirements.txt
```
рд╣рд╛рдп @ randf102 , рдореИрдВрдиреЗ рдЙрдкрд░реЛрдХреНрдд рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рднрд╛рдЧ рдХреЛ рдмрджрд▓рддреЗ рд╣реБрдП рдбреЙрдХрд░рдлрд╛рдЗрд▓ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд┐рдпрд╛ рд╣реИ:
рд░рди рдЧрд┐рдЯ рдХреНрд▓реЛрди https://github.com/facebookresearch/detectron /detectron
рд░рди рд╕реАрдбреА /рдбрд┐рдЯреЗрдХреНрдЯреНрд░реЙрди && рдЧрд┐рдЯ рдЪреЗрдХрдЖрдЙрдЯ d56e267
рдФрд░ рдлрд┐рд░ рд▓рд┐рдирдХреНрд╕ рдкреНрд░реЙрдореНрдкреНрдЯ рдкрд░:
рдПрдирд╡реАрдбрд┐рдпрд╛-рдбреЙрдХрд░ рдмрд┐рд▓реНрдб-рдЯреА my_detectron_imageред
@francois-wellenreiter @manyaafonso
рдореЗрд░реА рдорджрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред
рдореБрдЭреЗ рдбреЙрдХрд░реАрдлрд╛рдЗрд▓ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рд╕реАрдзреЗ рдЯрд░реНрдорд┐рдирд▓ рдореЗрдВ "рдЧрд┐рдЯ рдЪреЗрдХрдЖрдЙрдЯ d56e267" рдирд╣реАрдВ рдЪрд▓рд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдореИрдВрдиреЗ рдЗрд╕реЗ рд╕рдордЭ рд▓рд┐рдпрд╛ рд╣реИ рдФрд░ рдЕрдВрдд рдореЗрдВ рдЗрд╕реЗ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдмрдирд╛рдпрд╛ рд╣реИред
рдзрдиреНрдпрд╡рд╛рдж!
@TheNeikos , рдЖрдкрдХреЗ рдЙрддреНрддрд░ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж
рдореИрдВ рдирд╡реАрдирддрдо рдХрдорд┐рдЯ (7aa91aa) рдХреЗ рд╕рд╛рде Dockerfile рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛, рдЬреЛ рдореВрд▓ рд░реВрдк рд╕реЗ c00e35a рдФрд░ 8181a32 рд╕реЗ рджреЛ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдирд╛рдо рдмрджрд▓рдиреЗ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХрд░рддрд╛ рд╣реИред "COCO API рд▓рд╛рдЗрди рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ" рдХреЗ рдмрд╛рдж рджреЛ sed рдирд┐рд░реНрджреЗрд╢ рдЬреЛрдбрд╝рдХрд░ рдЗрд╕реЗ рдкреВрд░рд╛ рдХрд┐рдпрд╛:
# Install the COCO API
RUN git clone https://github.com/cocodataset/cocoapi.git /cocoapi
WORKDIR /cocoapi/PythonAPI
RUN make install
# Patch
RUN sed -i 's/numel/size/g' /detectron/detectron/ops/zero_even_op.cc && \
sed -i 's/X.dim/X.ndim/g' /detectron/detectron/ops/zero_even_op.cc
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рдЖрдкрдХрд╛ рдорддрд▓рдм рдбреЙрдХрд░рдлрд╛рдЗрд▓ рдореЗрдВ рд╣реИ? рдЬреИрд╕реЗ
рд░рди рдЧрд┐рдЯ рдХреНрд▓реЛрди https://github.com/facebookresearch/detectron /detectron
рд░рди рд╕реАрдбреА /рдбрд┐рдЯреЗрдХреНрдЯреНрд░реЙрди && рдЧрд┐рдЯ рдЪреЗрдХрдЖрдЙрдЯ d56e267