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?
PYTHONPATH
variabel lingkungan: /usr/local:/home/ubuntu/caffe2/buildpython --version
keluaran: 2.7.12Saya 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!
Saya menggunakan dokumentasi Caffe2 dan dokumentasi Detectron sebagai pedoman
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
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
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
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
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 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())'
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
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:
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:
@genekogan Terima kasih! Saya telah memecahkannya. Konflik yang sangat sederhana~
bagaimana mengatasinya, saya memiliki masalah yang sama, terima kasih
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
Instalasi
Saya menggunakan dokumentasi Caffe2 dan dokumentasi Detectron sebagai pedoman
Perbarui driver NVIDIA
Unduh driver
Menginstal Dependensi
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
Instal cuDNN
Cari versi terbaru: https://developer.nvidia.com/cudnn
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.
Tetapkan variabel lingkungan
tambahkan baris ini ke .bashrc:
Uji Caffe2 & GPU
Uji instalasi Caffe2 Anda:
Uji Instalasi GPU. Nilai kembalian harus lebih besar dari 0:
Instal dependensi Detectron
tambahkan baris ke .bashrc:
Jangan lupa untuk mendownload data dari website coco di direktori ini. Struktur seperti yang dijelaskan dalam data README.md
Instal Detektor
periksa Instalasi
Semoga saya bisa membantu beberapa orang :)