<p>рдбрд┐рдЯреЗрдХреНрдЯреНрд░реЙрди рдСрдкреНрд╕ рд▓рд┐рдм рдирд╣реАрдВ рдорд┐рд▓рд╛</p>

рдХреЛ рдирд┐рд░реНрдорд┐рдд 7 рдлрд╝рд░ре░ 2018  ┬╖  27рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: facebookresearch/Detectron

Ubuntu 16.04 рдкрд░ рд╕реНрд░реЛрдд рд╕реЗ caffe2 рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдФрд░ рдЗрд╕рдХреЗ рд╕рд╛рде рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж: python2 detectron/tests/test_spatial_narrow_as_op.py рдореБрдЭреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдорд┐рд▓рддреЗ рд╣реИрдВ:

No handlers could be found for logger "caffe2.python.net_drawer"
net_drawer will not run correctly. Please install the correct dependencies.
E0207 16:36:41.320443  4125 init_intrinsics_check.cc:59] CPU feature avx is present on your machine, but the Caffe2 binary is not compiled with it. It means you may not get the full speed of your CPU.
Traceback (most recent call last):
  File "detectron/tests/test_spatial_narrow_as_op.py", line 88, in <module>
    utils.c2.import_detectron_ops()
  File "/home/gene/detectron/lib/utils/c2.py", line 41, in import_detectron_ops
    detectron_ops_lib = envu.get_detectron_ops_lib()
  File "/home/gene/detectron/lib/utils/env.py", line 73, in get_detectron_ops_lib
    'version includes Detectron module').format(detectron_ops_lib)
AssertionError: Detectron ops lib not found at '/usr/local/lib/python2.7/dist-packages/lib/libcaffe2_detectron_ops_gpu.so'; make sure that your Caffe2 version includes Detectron module

рд▓реЗрдХрд┐рди рдбрд┐рдЯреЗрдХреНрдЯрд░ рдореЙрдбреНрдпреВрд▓ modules рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдореМрдЬреВрдж рд╣реИред рдХреНрдпрд╛ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдЗрд╕реЗ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдХреНрдпрд╛ рдореБрдЭреЗ caffe2 рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐рд╕реА рддрд░рд╣ CMakeLists рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ?

рд╡реНрдпрд╡рд╕реНрдерд╛ рдЬрд╛рдирдХрд╛рд░реА

  • рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо: рдЙрдмрдВрдЯреВ 16.04
  • рдХрдВрдкрд╛рдЗрд▓рд░ рд╕рдВрд╕реНрдХрд░рдг: рдЬреАрд╕реАрд╕реА рд╕рдВрд╕реНрдХрд░рдг 5.4.0 20160609 (рдЙрдмрдВрдЯреВ 5.4.0-6ubuntu1~16.04.5)
  • CUDA рд╕рдВрд╕реНрдХрд░рдг: 8.0
  • рд╕реАрдпреВрдбреАрдПрдирдПрди рд╕рдВрд╕реНрдХрд░рдг: 6.0.21
  • NVIDIA рдбреНрд░рд╛рдЗрд╡рд░ рд╕рдВрд╕реНрдХрд░рдг:
  • GPU рдореЙрдбрд▓ (рд╕рднреА рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдпрджрд┐ рд╡реЗ рд╕рднреА рд╕рдорд╛рди рдирд╣реАрдВ рд╣реИрдВ): 4x Tesla k80
  • PYTHONPATH рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░: /usr/рд╕реНрдерд╛рдиреАрдп:/рдШрд░/ubuntu/caffe2/рдмрд┐рд▓реНрдб
  • python --version рдЖрдЙрдЯрдкреБрдЯ: 2.7.12

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

рдореИрдВрдиреЗ рдЕрдкрдиреЗ рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдХреЗ рджреМрд░рд╛рди рд╕рднреА рдХрдорд╛рдВрдб рдХреЛ рдиреАрдЪреЗ рд▓рд┐рдЦрд╛ рдерд╛, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рд╕реЛрдЪрд╛ рдХрд┐ рдЗрд╕рд╕реЗ рдЖрдкрдХреЛ рдмрдЧ рд░рд┐рд╕рд░реНрдЪ рдореЗрдВ рдорджрдж рдорд┐рд▓ рд╕рдХрддреА рд╣реИред рдореИрдВрдиреЗ рджреЗрдЦрд╛ рд╣реИ рдХрд┐ рдЖрдкрдиреЗ рдЗрд╕реЗ рд╣рд▓ рдХрд░ рд▓рд┐рдпрд╛ рд╣реИред рд▓реЗрдХрд┐рди рд╢рд╛рдпрдж рдпрд╣ рджреВрд╕рд░реЛрдВ рдХреЛ рджрд┐рд╢рд╛рдирд┐рд░реНрджреЗрд╢ рдХреЗ рд░реВрдк рдореЗрдВ рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИред рд╕рдмрдХреЛ рд╕реМрднрд╛рдЧреНрдп рдкреНрд░рд╛рдкреНрдд рд╣реЛ!

рд╡реНрдпрд╡рд╕реНрдерд╛ рдЬрд╛рдирдХрд╛рд░реА

  • Amazon AWS рдЗрдВрд╕реНрдЯреЗрдВрд╕ g3.4xlarge (NVIDIA Tesla M60)
  • рдЙрдмрдВрдЯреВ 16.04

рдЗрдВрд╕реНрдЯрд╛рд▓реЗрд╢рди

рдореИрдВрдиреЗ рдПрдХ рджрд┐рд╢рд╛рдирд┐рд░реНрджреЗрд╢ рдХреЗ рд░реВрдк рдореЗрдВ Caffe2 рдкреНрд░рд▓реЗрдЦрди рдФрд░

NVIDIA рдбреНрд░рд╛рдЗрд╡рд░ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ

рдбреНрд░рд╛рдЗрд╡рд░ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ

sudo dpkg -i nvidia-diag-driver-local-repo-ubuntu1604_375.66-1_amd64.deb
sudo apt-get update && sudo apt-get install wget -y --no-install-recommends

рдирд┐рд░реНрднрд░рддрд╛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛

sudo apt-get update
sudo apt-get install -y --no-install-recommends build-essential cmake git libgoogle-glog-dev libgtest-dev libiomp-dev libleveldb-dev liblmdb-dev libopencv-dev libopenmpi-dev libsnappy-dev libprotobuf-dev openmpi-bin openmpi-doc protobuf-compiler python-dev python-pip
sudo pip install setuptools future numpy protobuf enum networkx
sudo apt-get install -y --no-install-recommends libgflags-dev

CUDA рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ

рд▓рд┐рдВрдХ: http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/
рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдЦреЛрдЬреЗрдВред рдпрджрд┐ рд╕рдВрднрд╡ рд╣реЛ рддреЛ cuda 8 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдореИрдВрдиреЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛: cuda-repo-ubuntu1604_8.0.61-1_amd64.deb

wget "http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/..." //add selected file name
sudo dpkg -i cuda-repo-ubuntu1604_8.0.61-1_amd64.deb
sudo apt-get update
sudo apt-get install cuda-8-0

рд╕реАрдпреВрдбреАрдПрдирдПрди рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ

рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП рдЦреЛрдЬреЗрдВ: https://developer.nvidia.com/cudnn

wget http://developer.download.nvidia.com/compute/redist/cudnn/v5.1/cudnn-8.0-linux-x64-v5.1.tgz
sudo tar -xzf cudnn-8.0-linux-x64-v5.1.tgz -C /usr/local
rm cudnn-8.0-linux-x64-v5.1.tgz && sudo ldconfig

Caffe2 рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ

Caffe2 рдХреЗ рддреЗрдЬреА рд╕реЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рдХрд╛рд░рдг, рдЖрдкрдХреЛ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЛ рдЕрдВрддрд┐рдо рдмрд┐рд▓реНрдб рдкрд╛рд╕рд┐рдВрдЧ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рд░реАрд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИред рдЖрдк рдЗрд╕реЗ Caffe2 GitHub рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдкрд░ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред README.md рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдмрд┐рд▓реНрдб рдкрд╛рд╕рд┐рдВрдЧ/рдлреЗрд▓рд┐рдВрдЧ рдЖрдЗрдХрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред рдмрд╛рдИрдВ рдУрд░ рдЖрдк рдЕрдВрддрд┐рдо рдмрд┐рд▓реНрдб рдХреА рдЬрд╛рдВрдЪ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЕрдВрддрд┐рдо рдкрд╛рд╕рд┐рдВрдЧ рдмрд┐рд▓реНрдб рдХрд╛ рдЪрдпрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдмрд┐рд▓реНрдб рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ рдХрдорд┐рдЯ рдирдВрдмрд░ рдХреЛ рдХреЙрдкреА рдХрд░реЗрдВред

Go to your selected installation directory: cd directory
git clone --recursive https://github.com/caffe2/caffe2.git && cd caffe2
git reset --hard $COMMIT_NUMBER //unnecessary when builds passing
sudo make -j16 //exchange 16 by your number of cores
cd build && sudo make install

рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рд╕реЗрдЯ рдХрд░реЗрдВ

рдЗрди рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ .bashrc рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ:

export PYTHONPATH=/usr/local
export PYTHONPATH=$PYTHONPATH:/home/ubuntu/caffe2/build
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH

Caffe2 рдФрд░ GPU рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░реЗрдВ

рдЕрдкрдиреА Caffe2 рд╕реНрдерд╛рдкрдирд╛ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░реЗрдВ:

python2 -c 'from caffe2.python import core' 2>/dev/null && echo "Success" || echo "Failure"

GPU рд╕реНрдерд╛рдкрдирд╛ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░реЗрдВред рд╡рд╛рдкрд╕реА рдорд╛рди 0 рд╕реЗ рдмрдбрд╝рд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП:

python2 -c 'from caffe2.python import workspace; print(workspace.NumCudaDevices())'

рдбрд┐рдЯреЗрдХреНрдЯрд░ рдирд┐рд░реНрднрд░рддрд╛рдПрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ

sudo pip install numpy>=1.13 pyyaml>=3.12 matplotlib opencv-python>=3.2 setuptools Cython mock scipy
sudo git clone https://github.com/cocodataset/cocoapi.git $WANTED-DIRECTORY/cocoapi
cd $WANTED-DIRECTORY/cocoapi/PythonApi
sudo -H make install
sudo python setup.py install

.bashrc рдореЗрдВ рд▓рд╛рдЗрди рдЬреЛрдбрд╝реЗрдВ:

export COCOAPI=$WANTED-DIRECTORY/cocoapi

рдЗрд╕ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдХреЛрдХреЛ рд╡реЗрдмрд╕рд╛рдЗрдЯ рд╕реЗ рдбреЗрдЯрд╛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдирд╛ рди рднреВрд▓реЗрдВред рдбреЗрдЯрд╛ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рд╕рдВрд░рдЪрдирд╛ README.md

рдбрд┐рдЯреЗрдХреНрдЯрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ

git clone https://github.com/facebookresearch/detectron detectron
cd detectron/lib && sudo make -j16

рд╕реНрдерд╛рдкрдирд╛ рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ

python2 detectron/tests/test_spatial_narrow_as_op.py

рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдореИрдВ рдХреБрдЫ рд▓реЛрдЧреЛрдВ рдХреА рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реВрдБ :)

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

рдореИрдВрдиреЗ рд╕рдорд╕реНрдпрд╛ рд╣рд▓ рдХреАред рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рдереА, рдореИрдВ рдмрд╕ рдФрд░ рдореВрд░реНрдЦрддрд╛ рд╕реЗ рдЕрдкрдиреЗ рдкрд╛рдпрдердирдкреИрде рдореЗрдВ рдПрдХ рдЯрд╛рдЗрдкреЛ рдерд╛ред рдореИрдВрдиреЗ рдЗрд╕реЗ рдареАрдХ рдХрд┐рдпрд╛ рдФрд░ рдЕрдм рдпрд╣ рдареАрдХ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рдорд╣рд╛рди рд╕рдВрд╕рд╛рдзрди рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж!

рдореИрдВрдиреЗ рдЕрдкрдиреЗ рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдХреЗ рджреМрд░рд╛рди рд╕рднреА рдХрдорд╛рдВрдб рдХреЛ рдиреАрдЪреЗ рд▓рд┐рдЦрд╛ рдерд╛, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рд╕реЛрдЪрд╛ рдХрд┐ рдЗрд╕рд╕реЗ рдЖрдкрдХреЛ рдмрдЧ рд░рд┐рд╕рд░реНрдЪ рдореЗрдВ рдорджрдж рдорд┐рд▓ рд╕рдХрддреА рд╣реИред рдореИрдВрдиреЗ рджреЗрдЦрд╛ рд╣реИ рдХрд┐ рдЖрдкрдиреЗ рдЗрд╕реЗ рд╣рд▓ рдХрд░ рд▓рд┐рдпрд╛ рд╣реИред рд▓реЗрдХрд┐рди рд╢рд╛рдпрдж рдпрд╣ рджреВрд╕рд░реЛрдВ рдХреЛ рджрд┐рд╢рд╛рдирд┐рд░реНрджреЗрд╢ рдХреЗ рд░реВрдк рдореЗрдВ рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИред рд╕рдмрдХреЛ рд╕реМрднрд╛рдЧреНрдп рдкреНрд░рд╛рдкреНрдд рд╣реЛ!

рд╡реНрдпрд╡рд╕реНрдерд╛ рдЬрд╛рдирдХрд╛рд░реА

  • Amazon AWS рдЗрдВрд╕реНрдЯреЗрдВрд╕ g3.4xlarge (NVIDIA Tesla M60)
  • рдЙрдмрдВрдЯреВ 16.04

рдЗрдВрд╕реНрдЯрд╛рд▓реЗрд╢рди

рдореИрдВрдиреЗ рдПрдХ рджрд┐рд╢рд╛рдирд┐рд░реНрджреЗрд╢ рдХреЗ рд░реВрдк рдореЗрдВ Caffe2 рдкреНрд░рд▓реЗрдЦрди рдФрд░

NVIDIA рдбреНрд░рд╛рдЗрд╡рд░ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ

рдбреНрд░рд╛рдЗрд╡рд░ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ

sudo dpkg -i nvidia-diag-driver-local-repo-ubuntu1604_375.66-1_amd64.deb
sudo apt-get update && sudo apt-get install wget -y --no-install-recommends

рдирд┐рд░реНрднрд░рддрд╛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛

sudo apt-get update
sudo apt-get install -y --no-install-recommends build-essential cmake git libgoogle-glog-dev libgtest-dev libiomp-dev libleveldb-dev liblmdb-dev libopencv-dev libopenmpi-dev libsnappy-dev libprotobuf-dev openmpi-bin openmpi-doc protobuf-compiler python-dev python-pip
sudo pip install setuptools future numpy protobuf enum networkx
sudo apt-get install -y --no-install-recommends libgflags-dev

CUDA рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ

рд▓рд┐рдВрдХ: http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/
рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдЦреЛрдЬреЗрдВред рдпрджрд┐ рд╕рдВрднрд╡ рд╣реЛ рддреЛ cuda 8 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдореИрдВрдиреЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛: cuda-repo-ubuntu1604_8.0.61-1_amd64.deb

wget "http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/..." //add selected file name
sudo dpkg -i cuda-repo-ubuntu1604_8.0.61-1_amd64.deb
sudo apt-get update
sudo apt-get install cuda-8-0

рд╕реАрдпреВрдбреАрдПрдирдПрди рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ

рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП рдЦреЛрдЬреЗрдВ: https://developer.nvidia.com/cudnn

wget http://developer.download.nvidia.com/compute/redist/cudnn/v5.1/cudnn-8.0-linux-x64-v5.1.tgz
sudo tar -xzf cudnn-8.0-linux-x64-v5.1.tgz -C /usr/local
rm cudnn-8.0-linux-x64-v5.1.tgz && sudo ldconfig

Caffe2 рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ

Caffe2 рдХреЗ рддреЗрдЬреА рд╕реЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рдХрд╛рд░рдг, рдЖрдкрдХреЛ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЛ рдЕрдВрддрд┐рдо рдмрд┐рд▓реНрдб рдкрд╛рд╕рд┐рдВрдЧ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рд░реАрд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИред рдЖрдк рдЗрд╕реЗ Caffe2 GitHub рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдкрд░ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред README.md рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдмрд┐рд▓реНрдб рдкрд╛рд╕рд┐рдВрдЧ/рдлреЗрд▓рд┐рдВрдЧ рдЖрдЗрдХрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред рдмрд╛рдИрдВ рдУрд░ рдЖрдк рдЕрдВрддрд┐рдо рдмрд┐рд▓реНрдб рдХреА рдЬрд╛рдВрдЪ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЕрдВрддрд┐рдо рдкрд╛рд╕рд┐рдВрдЧ рдмрд┐рд▓реНрдб рдХрд╛ рдЪрдпрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдмрд┐рд▓реНрдб рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ рдХрдорд┐рдЯ рдирдВрдмрд░ рдХреЛ рдХреЙрдкреА рдХрд░реЗрдВред

Go to your selected installation directory: cd directory
git clone --recursive https://github.com/caffe2/caffe2.git && cd caffe2
git reset --hard $COMMIT_NUMBER //unnecessary when builds passing
sudo make -j16 //exchange 16 by your number of cores
cd build && sudo make install

рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рд╕реЗрдЯ рдХрд░реЗрдВ

рдЗрди рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ .bashrc рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ:

export PYTHONPATH=/usr/local
export PYTHONPATH=$PYTHONPATH:/home/ubuntu/caffe2/build
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH

Caffe2 рдФрд░ GPU рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░реЗрдВ

рдЕрдкрдиреА Caffe2 рд╕реНрдерд╛рдкрдирд╛ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░реЗрдВ:

python2 -c 'from caffe2.python import core' 2>/dev/null && echo "Success" || echo "Failure"

GPU рд╕реНрдерд╛рдкрдирд╛ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░реЗрдВред рд╡рд╛рдкрд╕реА рдорд╛рди 0 рд╕реЗ рдмрдбрд╝рд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП:

python2 -c 'from caffe2.python import workspace; print(workspace.NumCudaDevices())'

рдбрд┐рдЯреЗрдХреНрдЯрд░ рдирд┐рд░реНрднрд░рддрд╛рдПрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ

sudo pip install numpy>=1.13 pyyaml>=3.12 matplotlib opencv-python>=3.2 setuptools Cython mock scipy
sudo git clone https://github.com/cocodataset/cocoapi.git $WANTED-DIRECTORY/cocoapi
cd $WANTED-DIRECTORY/cocoapi/PythonApi
sudo -H make install
sudo python setup.py install

.bashrc рдореЗрдВ рд▓рд╛рдЗрди рдЬреЛрдбрд╝реЗрдВ:

export COCOAPI=$WANTED-DIRECTORY/cocoapi

рдЗрд╕ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдХреЛрдХреЛ рд╡реЗрдмрд╕рд╛рдЗрдЯ рд╕реЗ рдбреЗрдЯрд╛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдирд╛ рди рднреВрд▓реЗрдВред рдбреЗрдЯрд╛ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рд╕рдВрд░рдЪрдирд╛ README.md

рдбрд┐рдЯреЗрдХреНрдЯрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ

git clone https://github.com/facebookresearch/detectron detectron
cd detectron/lib && sudo make -j16

рд╕реНрдерд╛рдкрдирд╛ рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ

python2 detectron/tests/test_spatial_narrow_as_op.py

рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдореИрдВ рдХреБрдЫ рд▓реЛрдЧреЛрдВ рдХреА рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реВрдБ :)

@genekogan

рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИ рдЬрдм рдореИрдВ рдПрдбрдмреНрд▓реНрдпреВрдПрд╕ рдХреЗ рдПрдПрдордЖрдИ рдХреЗ рдордВрдЪ рдкрд░ рдбрд┐рдЯреЗрдХреНрдЯрд░ рдмрдирд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реВрдВред
рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдореЗрд░рд╛ рдкрд╛рдпрдердирдкреИрде рд╕рд╣реА рд╣реИ
рдпрд╣рд╛рдБ рдореЗрд░рд╛ рдкрд╛рдпрдердирдкреИрде рд╣реИ:/рд╣реЛрдо/рдИрд╕реА2-рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛/src/caffe2/рдмрд┐рд▓реНрдб

рдореИрдВ рд╕реЛрдЪ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ "рдмрд┐рд▓реНрдб" рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдХреНрдпрд╛ рд╢рд╛рдорд┐рд▓ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП?
рдпрд╣рд╛рдБ рд╡реЗ рдлрд╝рд╛рдЗрд▓реЗрдВ рд╣реИрдВ рдЬреЛ рдореЗрд░реА "рдмрд┐рд▓реНрдб" рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ:
screen shot 2018-03-14 at 12 29 28 pm

рдХреНрдпрд╛ рд╡реЗ рдЖрдкрдХреЗ рдЬреИрд╕реЗ рд╣реА рд╣реИрдВ?

рдзрдиреНрдпрд╡рд╛рдж!

${CAFFE2_ROOT}/build . рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП PYTHONPATH рдпрд╛ pth рдлрд╝рд╛рдЗрд▓ рд╕реЗрдЯ рдХрд░реЗрдВ

рдХрд╕реНрдЯрдо Caffe2 CPU рдпрд╛ GPU рдСрдкрд░реЗрдЯрд░ lib рдирд╣реАрдВ рдорд┐рд▓рд╛: AssertionError: рдХрд╕реНрдЯрдо рдСрдкреНрд╕ рд▓рд┐рдм '/path/to/to/detectron/build/libcaffe2_detectron_custom_ops_gpu.so' рдкрд░ рдирд╣реАрдВ рдорд┐рд▓рд╛ рдЬрдм test_zero_even_op.py рдЪрд▓рд╛рддреЗ рд╣реИрдВ рд▓реЗрдХрд┐рди рдЕрдиреНрдп рдкрд░реАрдХреНрд╖рдг рдкрд╛рд╕ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, Detectron ops lib : /usr/local/lib/libcaffe2_detectron_ops_gpu.so рдорд┐рд▓рд╛ред рдХреНрдпрд╛ рдЖрдк рдореБрдЭреЗ рдХреБрдЫ рд╡рд┐рдЪрд╛рд░ рджреЗ рд╕рдХрддреЗ рд╣реИрдВ?

@genekogan рдХреНрдпрд╛ рдЖрдк рдореЗрд░реА рдорджрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ? рд╕рд╛рдорд╛рдиреНрдп рдкрд░реАрдХреНрд╖рдг рд╕рднреА рдЬрд╛рдирдХрд╛рд░реА "/usr/local/lib/libcaffe2_detectron_ops_gpu.so рдорд┐рд▓рд╛" рдХреЗ рд╕рд╛рде рдкрд╛рд╕ рд╣реЛрддреЗ рд╣реИрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЬрдм рдореИрдВ рдХрд╕реНрдЯрдо рд╕реЗрд╢рди рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ test_zero_even_op.py рдЪрд▓рд╛рддрд╛ рд╣реВрдВ, рддреЛ рдпрд╣ рддреНрд░реБрдЯрд┐ "/path/to/to/detectron/build/libcaffe2_detectron_custom_ops_gpu" рдкрд░ "рдХрд╕реНрдЯрдо рдСрдкреНрд╕ рд▓рд┐рдм рдирд╣реАрдВ рдорд┐рд▓рд╛" рддреНрд░реБрдЯрд┐ рдлреЗрдВрдХрддрд╛ рд╣реИред

@ ym547559398 рдореБрдЭреЗ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рд╛рдкреНрдд рдХреА рдЬрд╛ рд░рд╣реА рд╡рд┐рд╢рд┐рд╖реНрдЯ рддреНрд░реБрдЯрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИред рдореИрдВрдиреЗ рдЕрдкрдиреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рдареАрдХ рдЙрд╕реА рдХреЗ рд╕рд╛рде рд╣рд▓ рдХрд┐рдпрд╛ рдЬреЛ @ huhai463127310 рдиреЗ рдХрд╣рд╛ рдерд╛: рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЖрдкрдиреЗ ${CAFFE2_ROOT}/build рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП PYTHONPATH рд╕реЗрдЯ рдХрд┐рдпрд╛ рд╣реИ

@genekogan рдзрдиреНрдпрд╡рд╛рдж! рдореИрдВрдиреЗ рдЗрд╕реЗ рд╣рд▓ рдХрд░ рд▓рд┐рдпрд╛ рд╣реИред рдПрдХ рдмрд╣реБрдд рд╣реА рд╕рд░рд▓ рд╕рдВрдШрд░реНрд╖~

рдореБрдЭреЗ рдЕрдм рднреА рд╡рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИ рдХрд┐ caffe2 рдХреЛ рдкрд╛рдЗрдЯреЛрд░рдЪ рдореЗрдВ рдПрдХреАрдХреГрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдореИрдВрдиреЗ рдирд╡реАрдирддрдо рд╕реНрд░реЛрдд рд╕реЗ рдкрд╛рдЗрдЯреЛрд░рдЪ рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдбрд┐рдЯреЗрдЯреНрд░реЙрди simple_infer рдЪрд▓рд╛рдиреЗ рд╕реЗ рдЕрднреА рднреА рдбрд┐рдЯреЗрдХреНрдЯреНрд░реЛрди_рдСрдкреНрд╕ рдирд╣реАрдВ рдорд┐рд▓рдиреЗ рдХреА рд╢рд┐рдХрд╛рдпрдд рд╣реИ (рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдХреЛрдИ рдЬреАрдкреАрдпреВ рдирд╣реАрдВ)

@mehditlili рдХреНрдпрд╛ рдЖрдкрдиреЗ PYTHONPATH рд╕реЗрдЯ рдХрд┐рдпрд╛ рд╣реИ? рдпрд╛ рдлрд┐рд░, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХреБрдЫ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдСрдкреНрд╕ рдХреА рдХрдореА рд╣реИ, рдФрд░ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдСрдкреНрд╕ рдлрд╝реЛрд▓реНрдбрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдФрд░ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдСрдкреНрд╕ рдмрдирд╛рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЧрд╛рдЗрдб рд╣реИ?

@mattifrind

рдЪреВрдВрдХрд┐ рдХреЛрдВрдбрд╛ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ pytorch/caffe2 рд╡рд┐рддрд░рдг рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЙрди рдСрдкреНрд╕ рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕реЗрдЯрдЕрдк рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЬрдмрдХрд┐ libcaffe2_detectron_ops_gpu.so рдХреЛ рдорд╛рдирдХ PATH env рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЦреЛрдЬрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, pytorch рд╕реНрдерд╛рдкрдирд╛ рдкрде рдХреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд╣рд╕реНрддрдХреНрд╖реЗрдк рд╕реЗ рдЦреЛрдЬрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рд░рди рдЯрд╛рдЗрдо рдкрд░ pytorch sys.path.insert(0, torch.__path__[0] рдХрд╛ рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдкрде рдбрд╛рд▓рдиреЗ рд╕реЗ рдбрд┐рдЯреЗрдХреНрдЯрд░ рдСрдкреНрд╕ (рдирд╡реАрдирддрдо рд░рд┐рд▓реАрдЬ) рдорд┐рд▓рдирд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рд╣реЛ рдЬрд╛рдПрдЧрд╛ред

рдореЗрд░реА рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдбрд┐рдЯреЗрдХреНрдЯрд░ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдХреИрдлреЗ 2/рдХреЛрд░ рдореЗрдВ рд╣реЗрдбрд░ рдлрд╛рдЗрд▓ рдЪрд╛рд╣рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдирд╛рдХрдбреЛрдирд╛ рдореЗрдВ рдкрд╛рдпрдЯреЛрд░рдЪ рдХреЗ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдирд┐рд░реНрдорд╛рдг рдореЗрдВ рдХреИрдлреЗ 2/рдХреЛрд░ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рд╣реИред рдХреНрдпрд╛ рдореБрдЭреЗ Caffe2_Dir рдкрд░ рдЙрд╕ рдкрде рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдФрд░ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд pytorch рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ?

рдореИрдВрдиреЗ ~/.conda/envs/dl/lib/python2.7/site-packages" рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ "torch.pth" рдЬреЛрдбрд╝рдХрд░ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд┐рдпрд╛ред рдХреНрдпреЛрдВрдХрд┐ "libcaffe2_detectron_ops_gpu.so" "рд╕рд╛рдЗрдЯ-рдкреИрдХреЗрдЬ/рдЯреЙрд░реНрдЪ" рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рд╣реИред

рдорд╢рд╛рд▓.рдкреАрдЯреАрдПрдЪ рдореЗрдВ рдХреЗрд╡рд▓ рдПрдХ рдкрде рд╣реИ:
/home/ruixin/.conda/envs/dl/lib/python2.7/site-packages/torch

рдкреАрдПрд╕: рдпрд╣ рддреНрд░реБрдЯрд┐ рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдЪрд▓рд╛рдПрдЧреАред рдЖрдк .so рдлрд╝рд╛рдЗрд▓ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП "ops_path = os.path.join(prefix, 'lib/libcaffe2_detectron_ops_gpu.so')" рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред

def get_detectron_ops_lib():
    """Retrieve Detectron ops library."""
    # Candidate prefixes for the detectron ops lib path
    # print("=> path list = :\n", _CMAKE_INSTALL_PREFIX, "\n", sys.prefix, '\n', sys.exec_prefix, '\n', sys.path)
    prefixes = [_CMAKE_INSTALL_PREFIX, sys.prefix, sys.exec_prefix] + sys.path
    # Search for detectron ops lib
    # print("=> prefixes = {}".format(prefixes))
    for prefix in prefixes:
        ops_path = os.path.join(prefix, 'lib/libcaffe2_detectron_ops_gpu.so')
        # print("=> ops_path = {}".format(ops_path))
        if os.path.exists(ops_path):
            # TODO(ilijar): Switch to using a logger
            print('Found Detectron ops lib: {}'.format(ops_path))
            break
    assert os.path.exists(ops_path), \
        ('Detectron ops lib not found; make sure that your Caffe2 '
         'version includes Detectron module')
    return ops_path

@farleylai

рдореИрдВрдиреЗ рдЖрдкрдХреЗ рд╕реБрдЭрд╛рд╡ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИ рд▓реЗрдХрд┐рди рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд┐рдпрд╛ рдФрд░ рдореБрдЭреЗ рд╡рд╣реА рддреНрд░реБрдЯрд┐ рдорд┐рд▓ рд░рд╣реА рд╣реИред
рдХреНрдпрд╛ рдХрд┐рд╕реА рдХреЗ рдкрд╛рд╕ рд╕реБрдЭрд╛рд╡ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдЕрдиреНрдп рд╕рдорд╛рдзрд╛рди рд╣реИ?

@zabatani

рдХреНрдпрд╛ рдЖрдк рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ libcaffe2_detectron_ops_gpu.so lib/ рдЕрдВрддрд░реНрдЧрдд torch.__path__[0] рдХреЗ рдкрде рдореЗрдВ рд╣реИ?
рдЖрдкрдХреА рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдпрд╣ рдХрд╣реАрдВ рдФрд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдпрд╛ рдЖрдкрдХреЗ рдкрд╛рд╕ torch.__path__ рдореЗрдВ рдПрдХрд╛рдзрд┐рдХ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпрд╛рдВ рд╣реЛ рд╕рдХрддреА рд╣реИрдВред
рд╕рд╛рдордЧреНрд░реА рдХрд╛ рдкреНрд░рд┐рдВрдЯ рдЖрдЙрдЯ рд▓реЗрдВ рдФрд░ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реВрдЪреАрдмрджреНрдз рдХрд░реЗрдВ рдХрд┐ рдпрд╣ рдХрд╣рд╛рдВ рд╣реИред
рд╡реИрдХрд▓реНрдкрд┐рдХ рд░реВрдк рд╕реЗ, рдЖрдк рдЗрд╕реЗ env рд╡реЗрд░рд┐рдПрдмрд▓ PATH рдореЗрдВ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред

рдпрджрд┐ рдЖрдк pytorch-nightly рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдХреЗ caffe2 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдЖрдк libcaffe2_detectron_ops_gpu.so (рдпрд╣ рдХрд╣реАрдВ /home/ruixin/.conda/envs/dl/lib/python2.7/site-packages/torch ) рд╕реЗ /usr/lib рдпрд╛ рдЖрднрд╛рд╕реА рд╡рд╛рддрд╛рд╡рд░рдг рдХреЗ lib рдХреЛ рдХреЙрдкреА рдпрд╛ рд▓рд┐рдВрдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдЗрд╕рд╕реЗ рдореЗрд░рд╛ рдХрд╛рдо рдмрдирддрд╛ рд╣реИред

PYTHONPATH рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рдмрд╛рдж: /path/to/pytorch/build, рдкрд░реАрдХреНрд╖рдг рдкрд╛рд╕ рд╣реБрдЖ

@suica рдЬрд┐рд╕рдиреЗ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд┐рдпрд╛ред рдореИрдВ рд▓рд┐рдВрдХ рдХреЛ /ur/lib рдореЗрдВ рдирд╣реАрдВ рдбрд╛рд▓ рд╕рдХрд╛ рдФрд░ рдореИрдВ рд╡рд░реНрдЪреБрдЕрд▓рдПрдиреНрд╡ рдХреЗ рдмрдЬрд╛рдп рдХреЛрдВрдбрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдореИрдВрдиреЗ рдЗрд╕реЗ /path/to/conda/env/lib рдФрд░ рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдзрдиреНрдпрд╡рд╛рдж!

@genekogan рдзрдиреНрдпрд╡рд╛рдж! рдореИрдВрдиреЗ рдПрдХ рдмрд╣реБрдд рд╣реА рд╕рд░рд▓ рд╕рдВрдШрд░реНрд╖ рд╕реБрд▓рдЭрд╛ рд▓рд┐рдпрд╛ рд╣реИ~

рдЖрдкрдХреЗ рд╕рд╛рдордиреЗ рдЖрдИ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдЖрдкрдиреЗ рдХреИрд╕реЗ рдХрд┐рдпрд╛?

рдореБрдЭреЗ рднреА рдпрд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдХреЛрд▓рд╛рдм рдореЗрдВ, рдХреБрдЫ рд╡рд┐рдЪрд╛рд░?

@genekogan рдХреНрдпрд╛ рдЖрдк рдореЗрд░реА рдорджрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ? рд╕рд╛рдорд╛рдиреНрдп рдкрд░реАрдХреНрд╖рдг рд╕рднреА рдЬрд╛рдирдХрд╛рд░реА "/usr/local/lib/libcaffe2_detectron_ops_gpu.so рдорд┐рд▓рд╛" рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЬрдм рдореИрдВ рдХрд╕реНрдЯрдо рдСрдкрд░реЗрд╢рди рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ test_zero_even_op.py рдЪрд▓рд╛рддрд╛ рд╣реВрдВ, рддреЛ рдпрд╣ рддреНрд░реБрдЯрд┐ рдлреЗрдВрдХрддрд╛ рд╣реИ "рдХрд╕реНрдЯрдо рдСрдкрд░реЗрд╢рди рд▓рд╛рдЗрдмреНрд░реЗрд░реА '/рдкрде/рд╕реЗ/рд╕реЗ/рдбрд┐рдЯреЗрдХреНрдЯреНрд░реЙрди/рдмрд┐рд▓реНрдб/libcaffe2_detectron_custom_ops_gpu" рдореЗрдВ рдирд╣реАрдВ рдорд┐рд▓реА рдереАред
рдХреНрдпрд╛ рдЖрдк рдореБрдЭреЗ рдмрддрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЖрдкрдиреЗ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдХреИрд╕реЗ рд╣рд▓ рдХрд┐рдпрд╛? рдореБрдЭреЗ рдЙрд╕реА рддреНрд░реБрдЯрд┐ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛

@genekogan рдХреНрдпрд╛ рдЖрдк рдореЗрд░реА рдорджрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ? рд╕рд╛рдорд╛рдиреНрдп рдкрд░реАрдХреНрд╖рдг рд╕рднреА рдЬрд╛рдирдХрд╛рд░реА "/usr/local/lib/libcaffe2_detectron_ops_gpu.so рдорд┐рд▓рд╛" рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЬрдм рдореИрдВ рдХрд╕реНрдЯрдо рдСрдкрд░реЗрд╢рди рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ test_zero_even_op.py рдЪрд▓рд╛рддрд╛ рд╣реВрдВ, рддреЛ рдпрд╣ рддреНрд░реБрдЯрд┐ рдлреЗрдВрдХрддрд╛ рд╣реИ "рдХрд╕реНрдЯрдо рдСрдкрд░реЗрд╢рди рд▓рд╛рдЗрдмреНрд░реЗрд░реА '/рдкрде/рд╕реЗ/рд╕реЗ/рдбрд┐рдЯреЗрдХреНрдЯреНрд░реЙрди/рдмрд┐рд▓реНрдб/libcaffe2_detectron_custom_ops_gpu" рдореЗрдВ рдирд╣реАрдВ рдорд┐рд▓реА рдереАред
рдХреНрдпрд╛ рдЖрдк рдореБрдЭреЗ рдмрддрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЖрдкрдиреЗ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдХреИрд╕реЗ рд╣рд▓ рдХрд┐рдпрд╛? рдореБрдЭреЗ рдЙрд╕реА рддреНрд░реБрдЯрд┐ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛

рдореИрдВ рд╣рд▓ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛, рдХреНрд╖рдорд╛ рдХрд░реЗрдВред

рдЬрдм рдореИрдВ рдиреЗрдЯрд╡рд░реНрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реВрдВ рддреЛ рдореБрдЭреЗ рднреА рдпрд╣реА рддреНрд░реБрдЯрд┐ рд╣реЛрддреА рд╣реИ:
python2 рдЯреВрд▓реНрд╕/train_net.py \
--cfg configs/DensePose_ResNet50_FPN_single_GPU.yaml \
OUTPUT_DIR /tmp/рдбрд┐рдЯреЗрдХреНрдЯреНрд░реЙрди-рдЖрдЙрдЯрдкреБрдЯ
Detectron рдФрд░ caffe2 рд╕реНрдерд╛рдкрдирд╛ рдкрд░реАрдХреНрд╖рдг рджреЛрдиреЛрдВ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдкрд╛рд╕ рд╣реЛ рдЧрдПред
рддреНрд░реБрдЯрд┐ рдЖрдЙрдЯрдкреБрдЯ:
рдбрд┐рдЯреЗрдХреНрдЯреНрд░реЙрди рдСрдкреНрд╕ рд▓рд┐рдм рдорд┐рд▓рд╛: /usr/local/lib/python2.7/site-packages/torch/lib/libcaffe2_detectron_ops_gpu.so
рдЯреНрд░реЗрд╕рдмреИрдХ (рд╕рдмрд╕реЗ рд╣рд╛рд▓рд┐рдпрд╛ рдХреЙрд▓ рдЕрдВрддрд┐рдо):
рдлрд╝рд╛рдЗрд▓ "/usr/local/densepose/tools/train_net.py", рд▓рд╛рдЗрди 35, in
c2_utils.import_custom_ops ()
рдлрд╝рд╛рдЗрд▓ "/usr/local/densepose/detectron/utils/c2.py", рд▓рд╛рдЗрди 39, import_custom_ops рдореЗрдВ
custom_ops_lib = envu.get_custom_ops_lib ()
рдлрд╝рд╛рдЗрд▓ "/usr/local/densepose/detectron/utils/env.py", рд▓рд╛рдЗрди 85, get_custom_ops_lib рдореЗрдВ
'рдХрд╕реНрдЯрдо рдСрдкреНрд╕ lib \'{}\'' рдкрд░ рдирд╣реАрдВ рдорд┐рд▓рд╛редformat(custom_ops_lib)
рдЕрднрд┐рдХрдерди рддреНрд░реБрдЯрд┐: рдХрд╕реНрдЯрдо рдСрдкреНрд╕ рд▓рд┐рдм '/usr/рд╕реНрдерд╛рдиреАрдп/рдШрдирд╛/рдмрд┐рд▓реНрдб/libcaffe2_detectron_custom_ops_gpu.so' рдкрд░ рдирд╣реАрдВ рдорд┐рд▓рд╛

@genekogan рдзрдиреНрдпрд╡рд╛рдж! рдореИрдВрдиреЗ рдЗрд╕реЗ рд╣рд▓ рдХрд░ рд▓рд┐рдпрд╛ рд╣реИред рдПрдХ рдмрд╣реБрдд рд╣реА рд╕рд░рд▓ рд╕рдВрдШрд░реНрд╖~

@genekoganф╜ашГ╜х╕ох╕оцИСхРЧя╝Яф╕АшИмц╡ЛшпХхЕищГищАЪш┐Зф┐бцБптАЬ/usr/local/lib/libcaffe2_detectron_ops_gpu.so рдорд┐рд▓рд╛тАЭуАВф╜ЖцШпя╝Мх╜УцИСц╡ЛшпХшЗкхоЪф╣ЙцУНф╜Ьх╣╢ш┐РшбМtest_zero_even_op.pyцЧ╢я╝МхоГф╝ЪцКЫхЗ║щФЩшпптАЬцЬк'/ рдкрде / рд╕реЗ / рд╕реЗ / рдбрд┐рдЯреЗрдХреНрдЯрд░ / рдмрд┐рд▓реНрдб / libcaffe2_detectron_custom_ops_gpuф╕нцЙ╛хИ░шЗкхоЪф╣ЙцУНф╜Ьх║У"уАВ
рдХреНрдпрд╛ рдЖрдк рдореБрдЭреЗ рдмрддрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЖрдкрдиреЗ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдХреИрд╕реЗ рд╣рд▓ рдХрд┐рдпрд╛? рдореБрдЭреЗ рдПрдХ рд╣реА рддреНрд░реБрдЯрд┐ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛ рд╣реИ

рдФрд░ рдореБрдЭреЗ 'libcaffe2_detectron_custom_ops_gpu.so' рдлрд╝рд╛рдЗрд▓ рдирд╣реАрдВ рдорд┐рд▓ рд░рд╣реА рд╣реИред рдореИрдВрдиреЗ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдХрд┐ caffe2/pytorch PYTHONPATH рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдореЗрдВ рд╣реИрдВред

рд╕рдорд╛рдзрд╛рди рдорд┐рд▓ рдЧрдпрд╛

рдлрд╝рд╛рдЗрд▓ рдореЗрдВ/рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рд▓рд┐рдП рдкрде/рдШрдирд╛/рдбрд┐рдЯреЗрдХреНрдЯреНрд░реЙрди/рдмрд░реНрддрди/env.py
рд╕рдВрдкрд╛рджрд┐рдд рдкрдВрдХреНрддрд┐ 19
_CMAKE_INSTALL_PREFIX = '/ usr/lib'
рдкреНрд░рддрд┐
_CMAKE_INSTALL_PREFIX = 'pytorch рдХреЗ lib рдлрд╝реЛрд▓реНрдбрд░ рдХрд╛ рдкрде рдЬрд┐рд╕реЗ рдЖрдкрдиреЗ cmake рдпрд╛ setup.py file/' рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмрдирд╛рдпрд╛ рд╣реИред
рдФрд░ рдлрд┐рд░ рд╕реЗ рдЪрд▓рд╛рдУ :)

рдореЗрд░реЗ рдкрд╛рд╕ caffe2 рдореЗрдВ рдбрд┐рдЯреЗрдХреНрдЯрд░ рдореЙрдбреНрдпреВрд▓ рдирд╣реАрдВ рд╣реИред рдореИрдВрдиреЗ pytorch рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ caffe2 рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рд╣реИред рдпрд╣ рдареАрдХ рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рд╣реЛ рд░рд╣рд╛ рд╣реИ рд▓реЗрдХрд┐рди рдЗрд╕рдореЗрдВ рдбрд┐рдЯреЗрдХреНрдЯрд░ рдореЙрдбреНрдпреВрд▓ рдирд╣реАрдВ рд╣реИред рдХреНрдпрд╛ рдореБрдЭреЗ рдХреЛрдИ рдорджрдж рдорд┐рд▓ рд╕рдХрддреА рд╣реИред

рдЕрдЧреНрд░рд┐рдо рдореЗрдВ рдзрдиреНрдпрд╡рд╛рдж

рдЕрд░реЗ рджреЛрд╕реНрддреЛрдВ, рдЗрд╕ рдХреЛрдб рдмреНрд▓реЙрдХ рдХрд╛ рд▓рдХреНрд╖реНрдп "libcaffe2_detectron_ops_gpu.so" рдлрд╝рд╛рдЗрд▓ рдвреВрдВрдврдирд╛ рд╣реИ
", рддреЛ рдмрд╕ рдпрд╣ рдХрд░реЗрдВ:

  1. рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╕реНрд╡рдпрдВ рдЦреЛрдЬреЗрдВ: рдЦреЛрдЬреЗрдВ / -рдирд╛рдо libcaffe2_detectron_ops_gpu.so
  2. рдЦреЛрдЬ рдкрд░рд┐рдгрд╛рдо рдХреЛ рдЦреЛрдЬ рд╕реВрдЪреА рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ

@genekogan рдзрдиреНрдпрд╡рд╛рдж! рдореИрдВрдиреЗ рдЗрд╕реЗ рд╣рд▓ рдХрд░ рд▓рд┐рдпрд╛ рд╣реИред рдПрдХ рдмрд╣реБрдд рд╣реА рд╕рд░рд▓ рд╕рдВрдШрд░реНрд╖~

рдЗрд╕реЗ рдХреИрд╕реЗ рд╣рд▓ рдХрд░реЗрдВ, рдореБрдЭреЗ рднреА рдпрд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИ, рдзрдиреНрдпрд╡рд╛рдж

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

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

kampelmuehler picture kampelmuehler  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

kampelmuehler picture kampelmuehler  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

pacelu picture pacelu  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

743341 picture 743341  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

Hwang-dae-won picture Hwang-dae-won  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ