<p>لم يتم العثور على Detectron ops lib</p>

تم إنشاؤها على ٧ فبراير ٢٠١٨  ·  27تعليقات  ·  مصدر: facebookresearch/Detectron

بعد تثبيت caffe2 من المصدر على Ubuntu 16.04 ، ومحاولة الاختبار باستخدام: 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 . هل أحتاج إلى تعديل CMakeLists بطريقة ما قبل تثبيت caffe2 للتأكد من تضمينه بشكل صحيح؟

معلومات النظام

  • نظام التشغيل: أوبونتو 16.04
  • إصدار المترجم: gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1 ~ 16.04.5)
  • إصدار CUDA: 8.0
  • إصدار cuDNN: 6.0.21
  • إصدار برنامج تشغيل NVIDIA:
  • طرز GPU (لجميع الأجهزة إذا لم تكن كلها متشابهة): 4x Tesla k80
  • متغير البيئة PYTHONPATH : / usr / local: / home / ubuntu / caffe2 / build
  • الناتج python --version : 2.7.12

التعليق الأكثر فائدة

لقد كتبت جميع الأوامر أثناء التثبيت ، لذا اعتقدت أن هذا قد يساعد في البحث عن الأخطاء. لقد رأيت أنك قمت بحلها. ولكن ربما يمكن أن يساعد هذا الآخرين كمبدأ توجيهي. حظا موفقا للجميع!

معلومات النظام

  • Amazon AWS Instance g3.4xlarge (NVIDIA Tesla M60)
  • نظام التشغيل Ubuntu 16.04.0

التركيب

لقد استخدمت وثائق Caffe2 ووثائق Detectron كمبدأ توجيهي

تحديث برنامج تشغيل 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

قم بتثبيت cuDNN

ابحث عن أحدث إصدار: 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())'

تثبيت تبعيات 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

أضف سطرًا إلى .bashrc:

export COCOAPI=$WANTED-DIRECTORY/cocoapi

لا تنس تنزيل البيانات من موقع الويب coco في هذا الدليل. الهيكل كما هو موضح في البيانات README.md

قم بتثبيت Detectron

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 Instance g3.4xlarge (NVIDIA Tesla M60)
  • نظام التشغيل Ubuntu 16.04.0

التركيب

لقد استخدمت وثائق Caffe2 ووثائق Detectron كمبدأ توجيهي

تحديث برنامج تشغيل 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

قم بتثبيت cuDNN

ابحث عن أحدث إصدار: 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())'

تثبيت تبعيات 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

أضف سطرًا إلى .bashrc:

export COCOAPI=$WANTED-DIRECTORY/cocoapi

لا تنس تنزيل البيانات من موقع الويب coco في هذا الدليل. الهيكل كما هو موضح في البيانات README.md

قم بتثبيت Detectron

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

تحقق من التثبيت

python2 detectron/tests/test_spatial_narrow_as_op.py

آمل أن أتمكن من مساعدة بعض الناس :)

تضمين التغريدة

لدي نفس المشكلة عندما أحاول بناء مكتشف على منصة AMI من AWS.
لست متأكدًا مما إذا كان PYTHONPATH الخاص بي صحيحًا
ها هو PYTHONPATH الخاص بي: / home / ec2-user / src / caffe2 / build

أتساءل ما الذي يجب أن يتضمنه دليل "الإنشاء"؟
فيما يلي الملفات التي تم تضمينها في دليل "build" الخاص بي:
screen shot 2018-03-14 at 12 29 28 pm

هل هم نفس ملكك؟

شكرا!

قم بتعيين ملف PYTHONPATH أو pth لتضمين $ {CAFFE2_ROOT} / build

لم يتم العثور على lib لمشغل Caffe2 CPU أو GPU المخصص: AssertionError: لم يتم العثور على العمليات المخصصة lib في '/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 / detron / build / libcaffe2_detectron_custom_ops_gpu".

@ ym547559398 لست متأكدًا من الخطأ المحدد الذي تحصل عليه. لقد قمت بحل مشكلتي مع ما قاله @ huhai463127310 بالضبط: تأكد من تعيين PYTHONPATH ليشمل $ ​​{CAFFE2_ROOT} / build

genekogan شكرا لك! لقد حللت ذلك. صراع بسيط جدا ~

ما زلت أواجه نفس المشكلة الآن بعد أن تم دمج caffe2 في pytorch ، قمت بتجميع pytorch من أحدث مصدر ولكن تشغيل detetron simple_infer لا يزال يشكو من عدم العثور على detetron_ops (لا يوجد gpu في حالتي)

mehditlili هل قمت بتعيين بايثون باث؟ وإلا ، أعتقد أننا نفتقر إلى بعض العمليات الموسعة ، وهناك دليل لنا للمساعدة في كيفية استخدام مجلد العمليات وإنشاء عمليات ممتدة؟

تضمين التغريدة

نظرًا لأن توزيع pytorch / caffe2 من خلال conda رسمي ، فلا ينبغي أن يكون هناك إعداد إضافي لتحديد وحدات العمليات هذه. بينما يمكن تحديد موقع libcaffe2_detectron_ops_gpu.so من خلال بيئة PATH القياسية ، يجب البحث عن مسار تثبيت pytorch افتراضيًا بدون تدخل المستخدم. إن مجرد إدخال مسار التثبيت لـ pytorch sys.path.insert(0, torch.__path__[0] في وقت التشغيل سيضمن العثور على عمليات الاكتشاف (أحدث إصدار).

مشكلتي هي أن Detectron تريد على ما يبدو ملفات الرأس في Caffe2 / core ، لكن البناء الرسمي لـ Pytorch في Anacdona لا يتضمن Caffe2 / core. هل أحتاج إلى تثبيت pytorch إضافي وإلحاق هذا المسار بـ Caffe2_Dir؟

لقد قمت بحذف هذه المشكلة عن طريق إضافة "torch.pth" إلى الدليل ~ / .conda / envs / dl / lib / python2.7 / site -pack "لأن" libcaffe2_detectron_ops_gpu.so "موجود في دليل" site -pack / torch ".

يحتوي torch.pth على مسار واحد فقط:
/home/ruixin/.conda/envs/dl/lib/python2.7/site-packages/torch

ملاحظة: سيؤدي هذا الخطأ إلى تشغيل الوظيفة أدناه. يمكنك مشاهدة "ops_path = os.path.join (البادئة ، 'lib / libcaffe2_detectron_ops_gpu.so')" للحصول على ملف .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

تضمين التغريدة

لقد جربت اقتراحك ولكنه لم ينجح وأواجه نفس الخطأ.
هل لدى أي شخص حل بديل آخر ليقترح؟

zabatani

هل تتأكد من أن libcaffe2_detectron_ops_gpu.so في المسار lib/ تحت torch.__path__[0] ؟
اعتمادًا على التثبيت الخاص بك ، قد يكون في مكان آخر أو قد يكون لديك إدخالات متعددة في torch.__path__ .
اطبع وسرد المحتوى لتحديد مكانه.
بدلاً من ذلك ، يمكنك إضافته إلى متغير env PATH.

إذا كنت تستخدم caffe2 عن طريق تثبيت pytorch ليلاً ، فيمكنك نسخ أو ربط 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 وأنا أستخدم conda بدلاً من virtualenv. أضعه في /path/to/conda/env/lib وهو يعمل. شكرا!

genekogan شكرا! لقد قمت بحل نزاع بسيط للغاية ~

كيف حلت المشكلة التي واجهتها؟

لدي نفس المشكلة ولكن في كولاب ، فكرة ما؟

genekogan هل يمكنك مساعدتي؟ جميع الاختبارات العامة تجتاز المعلومات "/usr/local/lib/libcaffe2_detectron_ops_gpu.so found". ومع ذلك ، عند اختبار العملية المخصصة وتشغيل test_zero_even_op.py ، فإنها تلقي بالخطأ "لم يتم العثور على مكتبة العمليات المخصصة في '/ path / to / to / detron / build / libcaffe2_detectron_custom_ops_gpu".
هل يمكن أن تخبرني كيف حلت هذه المشكلة؟ لقد واجهت نفس الخطأ

genekogan هل يمكنك مساعدتي؟ جميع الاختبارات العامة تجتاز المعلومات "/usr/local/lib/libcaffe2_detectron_ops_gpu.so found". ومع ذلك ، عند اختبار العملية المخصصة وتشغيل test_zero_even_op.py ، فإنها تلقي بالخطأ "لم يتم العثور على مكتبة العمليات المخصصة في '/ path / to / to / detron / build / libcaffe2_detectron_custom_ops_gpu".
هل يمكن أن تخبرني كيف حلت هذه المشكلة؟ لقد واجهت نفس الخطأ

لا أستطيع حلها ، آسف.

لدي أيضًا نفس الخطأ عندما أحاول تدريب الشبكة باستخدام:
أدوات python2 / train_net.py \
--cfg configs / DensePose_ResNet50_FPN_single_GPU.yaml \
إخراج الإخراج
اجتازت اختبارات تركيب Detectron و caffe2 بنجاح.
ناتج الخطأ:
تم العثور على Detectron ops lib: /usr/local/lib/python2.7/site-packages/torch/lib/libcaffe2_detectron_ops_gpu.so
Traceback (آخر مكالمة أخيرة):
ملف "/usr/local/densepose/tools/train_net.py" ، السطر 35 ، في
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
لم يتم العثور على "مكتب العمليات المخصصة في تنسيق \" {} \ ". (custom_ops_lib)
AssertionError: العمليات المخصصة lib غير موجودة في "/usr/local/densepose/build/libcaffe2_detectron_custom_ops_gpu.so"

genekogan شكرا لك! لقد حللت ذلك. صراع بسيط جدا ~

genekogan 你 能 帮帮 我 吗? 一般 测试 全部 通过 信息 “/usr/local/lib/libcaffe2_detectron_ops_gpu.so وجدت”。 但是 , 当 我 测试 自 操作 并 test_zero_even_op.py 时 , 它在 '/ path / to / to / detectron / build / libcaffe2_detectron_custom_ops_gpu 中 找到 自 定义 操作 库 ”。
هل يمكن أن تخبرني كيف حلت هذه المشكلة؟ لقد واجهت نفس الخطأ

ولا يمكنني العثور على ملف "libcaffe2_detectron_custom_ops_gpu.so". لقد تحققت من أن caffe2 / pytorch موجود في متغير بيئة PYTHONPATH.

وجدت الحل

في الملف / المسار إلى المكتبة / densepose / Detron / utils / env.py
تحرير سطر 19
_CMAKE_INSTALL_PREFIX = '/ usr / lib'
إلى
_CMAKE_INSTALL_PREFIX = 'المسار إلى مجلد lib الخاص بـ pytorch الذي قمت بإنشائه باستخدام cmake أو ملف setup.py /'
وتشغيل مرة أخرى :)

ليس لدي وحدة مكتشف في caffe2. لقد قمت بتثبيت caffe2 من خلال pytorch. يتم التثبيت بشكل صحيح ولكنه لا يحتوي على وحدة ديشفترون. هل يمكنني الحصول على أي مساعدة.

شكرا لك مقدما

مرحبًا يا شباب ، الهدف من كتلة التعليمات البرمجية هذه هو العثور على الملف "libcaffe2_detectron_ops_gpu.so
"، فما عليك سوى القيام بما يلي:

  1. ابحث عن الملف بنفسك: اعثر على / -name libcaffe2_detectron_ops_gpu.so
  2. أضف نتيجة البحث إلى قائمة البحث

genekogan شكرا لك! لقد حللت ذلك. صراع بسيط جدا ~

كيفية حلها ، لدي نفس المشكلة ، شكرا لك

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات