<p>Detektor ops lib tidak ditemukan</p>

Dibuat pada 7 Feb 2018  ·  27Komentar  ·  Sumber: facebookresearch/Detectron

Setelah menginstal caffe2 dari sumber di Ubuntu 16.04, dan mencoba menguji dengan: python2 detectron/tests/test_spatial_narrow_as_op.py Saya mendapatkan yang berikut:

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

Tetapi modul detektor ada di folder modules . Apakah saya perlu memodifikasi CMakeLists sebelum menginstal caffe2 untuk memastikannya disertakan dengan benar?

Sistem Informasi

  • Sistem operasi: Ubuntu 16.04
  • Versi kompiler: gcc versi 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.5)
  • Versi CUDA: 8.0
  • versi cuDNN: 6.0.21
  • Versi driver NVIDIA:
  • Model GPU (untuk semua perangkat jika tidak semuanya sama): 4x Tesla k80
  • PYTHONPATH variabel lingkungan: /usr/local:/home/ubuntu/caffe2/build
  • python --version keluaran: 2.7.12

Komentar yang paling membantu

Saya menulis semua perintah selama instalasi saya, jadi saya pikir ini mungkin membantu Anda melakukan penelitian bug. Saya telah melihat bahwa Anda menyelesaikannya. Tapi mungkin ini bisa membantu orang lain sebagai pedoman. Semoga sukses untuk semua orang!

Sistem Informasi

  • Amazon AWS Instans g3.4xlarge (NVIDIA Tesla M60)
  • Ubuntu 16.04

Instalasi

Saya menggunakan dokumentasi Caffe2 dan dokumentasi Detectron sebagai pedoman

Perbarui driver NVIDIA

Unduh driver

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

Menginstal Dependensi

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

Instal CUDA

Tautan: http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/
Cari versi terbaru. Gunakan jika memungkinkan cuda 8. Saya menggunakan: 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

Instal cuDNN

Cari versi terbaru: 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

Instal Caffe2

Karena perkembangan Caffe2 yang cepat, Anda mungkin perlu mengatur ulang repositori ke versi build pass terakhir. Anda dapat memeriksanya di repositori Caffe2 GitHub . Klik ikon build passing/failing di bagian atas README.md. Di sebelah kiri Anda dapat memeriksa build terakhir dan memilih build terakhir yang lewat. Klik pada build dan salin nomor komit.

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

Tetapkan variabel lingkungan

tambahkan baris ini ke .bashrc:

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

Uji Caffe2 & GPU

Uji instalasi Caffe2 Anda:

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

Uji Instalasi GPU. Nilai kembalian harus lebih besar dari 0:

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

Instal dependensi Detectron

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

tambahkan baris ke .bashrc:

export COCOAPI=$WANTED-DIRECTORY/cocoapi

Jangan lupa untuk mendownload data dari website coco di direktori ini. Struktur seperti yang dijelaskan dalam data README.md

Instal Detektor

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

periksa Instalasi

python2 detectron/tests/test_spatial_narrow_as_op.py

Semoga saya bisa membantu beberapa orang :)

Semua 27 komentar

Saya memecahkan masalah. Tidak ada masalah, saya dengan bodohnya salah ketik di PYTHONPATH saya. Saya memperbaikinya dan sekarang berfungsi dengan baik. Terima kasih untuk sumber daya yang bagus ini!

Saya menulis semua perintah selama instalasi saya, jadi saya pikir ini mungkin membantu Anda melakukan penelitian bug. Saya telah melihat bahwa Anda menyelesaikannya. Tapi mungkin ini bisa membantu orang lain sebagai pedoman. Semoga sukses untuk semua orang!

Sistem Informasi

  • Amazon AWS Instans g3.4xlarge (NVIDIA Tesla M60)
  • Ubuntu 16.04

Instalasi

Saya menggunakan dokumentasi Caffe2 dan dokumentasi Detectron sebagai pedoman

Perbarui driver NVIDIA

Unduh driver

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

Menginstal Dependensi

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

Instal CUDA

Tautan: http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/
Cari versi terbaru. Gunakan jika memungkinkan cuda 8. Saya menggunakan: 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

Instal cuDNN

Cari versi terbaru: 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

Instal Caffe2

Karena perkembangan Caffe2 yang cepat, Anda mungkin perlu mengatur ulang repositori ke versi build pass terakhir. Anda dapat memeriksanya di repositori Caffe2 GitHub . Klik ikon build passing/failing di bagian atas README.md. Di sebelah kiri Anda dapat memeriksa build terakhir dan memilih build terakhir yang lewat. Klik pada build dan salin nomor komit.

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

Tetapkan variabel lingkungan

tambahkan baris ini ke .bashrc:

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

Uji Caffe2 & GPU

Uji instalasi Caffe2 Anda:

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

Uji Instalasi GPU. Nilai kembalian harus lebih besar dari 0:

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

Instal dependensi Detectron

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

tambahkan baris ke .bashrc:

export COCOAPI=$WANTED-DIRECTORY/cocoapi

Jangan lupa untuk mendownload data dari website coco di direktori ini. Struktur seperti yang dijelaskan dalam data README.md

Instal Detektor

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

periksa Instalasi

python2 detectron/tests/test_spatial_narrow_as_op.py

Semoga saya bisa membantu beberapa orang :)

@genekogan

Saya memiliki masalah yang sama ketika saya mencoba membangun detektor pada platform AMI AWS.
Saya tidak yakin apakah PYTHONPATH saya benar
ini PYTHONPATH saya:/home/ec2-user/src/caffe2/build

Saya bertanya-tanya apa yang harus disertakan dalam direktori "build"?
Berikut adalah file yang termasuk dalam direktori "build" saya:
screen shot 2018-03-14 at 12 29 28 pm

Apakah mereka sama dengan Anda?

Terima kasih!

setel file PYTHONPATH atau pth untuk menyertakan ${CAFFE2_ROOT}/build

lib operator CPU atau GPU Caffe2 khusus tidak ditemukan: AssertionError: Custom ops lib tidak ditemukan di '/path/to/to/detectron/build/libcaffe2_detectron_custom_ops_gpu.so'Ditemukan saat menjalankan test_zero_even_op.py tetapi tes lain dapat lulus, Detectron ops lib : /usr/local/lib/libcaffe2_detectron_ops_gpu.so ditemukan. Bisakah Anda memberi saya beberapa ide?

@genekogan dapatkah Anda membantu saya? Semua tes umum lulus dengan informasi“ /usr/local/lib/libcaffe2_detectron_ops_gpu.so ditemukan”. Namun, ketika saya menguji operasi kustom dan menjalankan test_zero_even_op.py, itu menimbulkan kesalahan "Lib ops kustom tidak ditemukan di '/path/to/to/detectron/build/libcaffe2_detectron_custom_ops_gpu".

@ ym547559398 saya tidak yakin dengan kesalahan spesifik yang Anda dapatkan. saya memecahkan masalah saya dengan persis apa yang @huhai463127310 katakan: pastikan Anda mengatur PYTHONPATH untuk menyertakan ${CAFFE2_ROOT}/build

@genekogan Terima kasih! Saya telah memecahkannya. Konflik yang sangat sederhana~

Saya masih mendapatkan masalah yang sama sekarang karena caffe2 terintegrasi dalam pytorch, saya mengkompilasi pytorch dari sumber terbaru tetapi menjalankan detetron simple_infer masih mengeluh tentang tidak menemukan detectron_ops (tidak ada gpu dalam kasus saya)

@mehditlili Apakah Anda mengatur PYTHONPATH? Atau yang lain, saya pikir kami kekurangan beberapa ops yang diperpanjang, dan ada panduan bagi kami untuk membantu cara menggunakan folder ops dan membangun ops yang diperluas?

@mattifrind

Karena distribusi pytorch/caffe2 melalui conda adalah resmi, seharusnya tidak ada pengaturan tambahan untuk menemukan modul ops tersebut. Sementara libcaffe2_detectron_ops_gpu.so dapat ditemukan melalui env PATH standar, jalur instalasi pytorch harus dicari secara default tanpa campur tangan pengguna. Cukup memasukkan jalur instalasi pytorch sys.path.insert(0, torch.__path__[0] pada saat dijalankan akan memastikan untuk menemukan ops pendeteksi (rilis terbaru).

Masalah saya adalah bahwa Detektor tampaknya menginginkan file header di Caffe2/core, tetapi build resmi Pytorch di Anacdona tidak menyertakan Caffe2/core. Apakah saya perlu melakukan instalasi pytorch tambahan dan menambahkan jalur itu ke Caffe2_Dir?

Saya mengatasi masalah ini dengan menambahkan "torch.pth" ke direktori ~/.conda/envs/dl/lib/python2.7/site-packages" Karena "libcaffe2_detectron_ops_gpu.so" ada di direktori "site-packages/torch".

torch.pth hanya berisi satu jalur:
/home/ruixin/.conda/envs/dl/lib/python2.7/site-packages/torch

PS: kesalahan ini akan menjalankan fungsi di bawah ini. Anda dapat melihat "ops_path = os.path.join(prefix, 'lib/libcaffe2_detectron_ops_gpu.so')" adalah untuk mendapatkan file .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

Saya telah mencoba saran Anda tetapi tidak berhasil dan saya mendapatkan kesalahan yang sama.
Apakah ada yang punya solusi lain untuk menyarankan?

@zabatani

Apakah Anda memastikan libcaffe2_detectron_ops_gpu.so ada di jalur lib/ bawah torch.__path__[0] ?
Tergantung pada instalasi Anda, itu mungkin di tempat lain atau Anda mungkin memiliki beberapa entri di torch.__path__ .
Cetak dan daftar konten untuk menemukan di mana itu.
Atau, Anda dapat menambahkannya ke variabel env PATH.

Jika Anda menggunakan caffe2 dengan menginstal pytorch-nightly, Anda dapat menyalin atau menautkan libcaffe2_detectron_ops_gpu.so (ada di suatu tempat seperti /home/ruixin/.conda/envs/dl/lib/python2.7/site-packages/torch ) ke /usr/lib atau lib lingkungan virtual
Ini bekerja untuk saya.

Setelah menambahkan variabel lingkungan PYTHONPATH: /path/to/pytorch/build, tes lulus

@suica Itu berhasil untuk saya. Saya tidak dapat memasukkan tautan di /ur/lib dan saya menggunakan conda alih-alih virtualenv. Saya memasukkannya ke dalam /path/to/conda/env/lib dan berhasil. Terima kasih!

@genekogan Terima kasih! Saya telah menyelesaikan konflik yang sangat sederhana ~

Bagaimana Anda memecahkan masalah yang Anda temui?

Saya memiliki masalah yang sama tetapi di colab, ada ide?

@genekogan dapatkah Anda membantu saya? Tes umum semua lulus informasi "/usr/local/lib/libcaffe2_detectron_ops_gpu.so ditemukan". Namun, ketika saya menguji operasi khusus dan menjalankan test_zero_even_op.py, itu menimbulkan kesalahan "Perpustakaan operasi khusus tidak ditemukan di'/path/to/to/detectron/build/libcaffe2_detectron_custom_ops_gpu".
Bisakah Anda memberi tahu saya bagaimana Anda memecahkan masalah ini? Saya mengalami kesalahan yang sama

@genekogan dapatkah Anda membantu saya? Tes umum semua lulus informasi "/usr/local/lib/libcaffe2_detectron_ops_gpu.so ditemukan". Namun, ketika saya menguji operasi khusus dan menjalankan test_zero_even_op.py, itu menimbulkan kesalahan "Perpustakaan operasi khusus tidak ditemukan di'/path/to/to/detectron/build/libcaffe2_detectron_custom_ops_gpu".
Bisakah Anda memberi tahu saya bagaimana Anda memecahkan masalah ini? Saya mengalami kesalahan yang sama

Saya tidak bisa menyelesaikannya, maaf.

Saya juga memiliki kesalahan yang sama ketika saya mencoba melatih jaringan menggunakan:
python2 alat/train_net.py \
--cfg configs/DensePose_ResNet50_FPN_single_GPU.yaml \
OUTPUT_DIR /tmp/detectron-output
Tes instalasi Detectron dan caffe2 berhasil lulus.
Keluaran kesalahan:
Ditemukan Detectron ops lib: /usr/local/lib/python2.7/site-packages/torch/lib/libcaffe2_detectron_ops_gpu.so
Traceback (panggilan terakhir terakhir):
File "/usr/local/densepose/tools/train_net.py", baris 35, di
c2_utils.import_custom_ops()
File "/usr/local/densepose/detectron/utils/c2.py", baris 39, di import_custom_ops
custom_ops_lib = envu.get_custom_ops_lib()
File "/usr/local/densepose/detectron/utils/env.py", baris 85, di get_custom_ops_lib
'Custom ops lib tidak ditemukan di \'{}\''.format(custom_ops_lib)
AssertionError: Custom ops lib tidak ditemukan di '/usr/local/densepose/build/libcaffe2_detectron_custom_ops_gpu.so'

@genekogan Terima kasih! Saya telah memecahkannya. Konflik yang sangat sederhana~

@genekogan你能帮帮我吗?一般测试全部通过信息“/usr/local/lib/libcaffe2_detectron_ops_gpu.so ditemukan”。但是,当我测试自定义操作并运行test_zero_even_op.py时,它会抛出错误“未'/ path / ke / ke / detectron / build / libcaffe2_detectron_custom_ops_gpu中找到自定义操作库”。
Bisakah Anda memberi tahu saya bagaimana Anda memecahkan masalah ini? Saya mengalami kesalahan yang sama

Dan sepertinya saya tidak dapat menemukan file 'libcaffe2_detectron_custom_ops_gpu.so'. Saya memang memverifikasi bahwa caffe2/pytorch ada di variabel lingkungan PYTHONPATH.

menemukan solusinya

dalam file /path ke library/densepose/detectron/utils/env.py
edit baris 19
_CMAKE_INSTALL_PREFIX = '/usr/lib'
ke
_CMAKE_INSTALL_PREFIX = 'path ke folder lib pytorch yang Anda buat menggunakan cmake atau file setup.py/'
dan lari lagi :)

Saya tidak memiliki modul pendeteksi di caffe2. saya telah menginstal caffe2 melalui pytorch. Itu menginstal dengan benar tetapi tidak memiliki modul pendeteksi. dapatkah saya mendapatkan bantuan.

Terima kasih sebelumnya

Hai teman-teman, tujuan dari blok kode ini adalah untuk menemukan file "libcaffe2_detectron_ops_gpu.so
", jadi lakukan saja ini:

  1. temukan file sendiri: temukan / -nama libcaffe2_detectron_ops_gpu.so
  2. tambahkan hasil pencarian ke daftar pencarian

@genekogan Terima kasih! Saya telah memecahkannya. Konflik yang sangat sederhana~

bagaimana mengatasinya, saya memiliki masalah yang sama, terima kasih

Apakah halaman ini membantu?
0 / 5 - 0 peringkat