Pytorch: لا يمكنني استيراد PyTorch ، لا يمكن تحميل libomp.dylib.

تم إنشاؤها على ١ مايو ٢٠١٩  ·  27تعليقات  ·  مصدر: pytorch/pytorch

🐛 علة

حاولت تثبيت PyTorch ، لكن لا يمكنني استخدامه. لا يمكن ربط مكتبة ديناميكية libomp.dylib

لإعادة إنتاج

خطوات إعادة إنتاج السلوك:

  1. pipenv تثبيت torchvision
  2. from torch.utils.data import Dataset
Traceback (most recent call last):
  File "/Users/kaspersapala/Documents/Airly/new-pollution-forecast/Datasets/__init__.py", line 3, in <module>
    from torch.utils.data import Dataset
  File "/Users/kaspersapala/.local/share/virtualenvs/new-pollution-forecast-BSetKF9E/lib/python3.7/site-packages/torch/__init__.py", line 79, in <module>
    from torch._C import *
ImportError: dlopen(/Users/kaspersapala/.local/share/virtualenvs/new-pollution-forecast-BSetKF9E/lib/python3.7/site-packages/torch/_C.cpython-37m-darwin.so, 9): Library not loaded: /usr/local/opt/libomp/lib/libomp.dylib
  Referenced from: /Users/kaspersapala/.local/share/virtualenvs/new-pollution-forecast-BSetKF9E/lib/python3.7/site-packages/torch/lib/libshm.dylib
  Reason: image not found

سلوك متوقع

القدرة على استخدام واستيراد PyTorch

بيئة

  • إصدار PyTorch (على سبيل المثال ، 1.0): 1.1.0
  • نظام التشغيل (مثل Linux): Mac OS Mojave
  • كيف قمت بتثبيت PyTorch ( conda ، pip ، مصدر): pipenv
  • إصدار Python: 3.7.1
high priority binaries build triaged

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

brew install libomp يحل المشكلة.

ال 27 كومينتر

brew install libomp يحل المشكلة.

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

cc @ pjh5kostmo

brew install libomp يحل المشكلة.

تضمين التغريدة
كيفية إضافة تبعية libomp في تركيب الأنابيب pytorch؟

هل سيتم دعم جميع المكتبات المعتمدة على pytorch في حزمة العجلة؟
إذا كانت الإجابة بنعم ، فسأضيف ملفات libomp مثل هذه الكود: https://github.com/pytorch/pytorch/blob/2356fac9a5205a2e11f1abf6105fdb3124246d41/setup.py#L738 -L825

ماذا عن المكتبات التابعة الأخرى؟ هل هم جميعًا في مجلد 3rd_party وتم إنشاؤه من المصدر؟

لا يعرف pip أي شيء عن الشراب ، ولا يمكنك أن تطلب منه تحضير حزمة. أيضًا ، في حين أن هذا الحل "يحل" المشكلة ، أود أن أفهم بشكل أفضل كيف ظهرت هذه التبعية (على وجه الخصوص ، لماذا نبني ثنائيات بالاعتماد على مكتبات التخمير؟ هذا يبدو سيئًا.)

في بعض الحالات التي لا يمكننا فيها افتراض أن المستخدمين النهائيين لديهم مكتبة مثبتة ، نقوم بتوزيع المكتبة مع ثنائياتنا. ومع ذلك ، لست متأكدًا من أننا يجب أن نفعل هذا من أجل libomp.dylib. cc omith

هذا شيء يحتاج إلى الإصلاح. يمكنني إلقاء نظرة على إصلاح الثنائيات وإعادة التحميل.
تكمن المشكلة في أن macos CI الخاص بنا يقوم بتثبيت libomp هنا: https://github.com/pytorch/pytorch/blob/0da0c4be48c675d61c39b4554131e1dbe9177cab/.circleci/verbatim-sources/header-section.yml#L294 / ، على ما أعتقد لكن البنيات الثنائية أيضًا تلتقطها وتستخدمها.

يمكنني إزالة هذه التبعية للثنائيات. سأضع العلاقات العامة قريبا

تركيب الشراب libomp يحل المشكلة
هذا يحل مشكلتي

أتفق مع ezyang على أن تركيب pytorch عبر النقطة لا يجب أن يعتمد على التخمير. PyTorch هو تبعية لمكتبتي وقد لا يهتم المستخدمون أو لا يهتمون بهذا الشراب.

  • لذا فقط للتوضيح ، كان الحل هو إزالة brew install libomp step && حزم بشكل صحيح مكتبات النظام الأساسي الخاصة بـ libomp (.dylib ، .so ، إلخ)؟ هل هذا صحيح؟

  • إذا كنت أرغب في الحصول على أحدث إصدار كل ليلة مع هذا الإصلاح ... فسيكون ذلك pip install torch_nightly -f blah.html ؟

ruohoruotsi كل هذا صحيح

للإشارة فقط: في حالة استخدام macports ، يمكن حل المشكلة عن طريق إنشاء ارتباط رمزي باستخدام sudo ln -s /opt/local/lib/libomp/libomp.dylib في /usr/local/opt/libomp/lib/ .

للإشارة فقط: في حالة استخدام macports ، يمكن حل المشكلة عن طريق إنشاء ارتباط رمزي باستخدام sudo ln -s /opt/local/lib/libomp/libomp.dylib في /usr/local/opt/libomp/lib/ .

يجب إصلاح المشكلة من PyTorch من خلال البحث عن نظام نماذج المكتبات بدلاً من التحقق فقط من / usr / local / opt /

brew install libomp يحل المشكلة.

تعمل!

عند محاولة ترقية pytorch من 1.0.1 إلى 1.1 ، واجهت نفس المشكلة ووجدت هذا الموضوع

التحديث على خادم Linux يعمل بشكل جيد ولكن ليس على جهاز Macbook الخاص بي (OSX)

حاولت تثبيت libomp ولكن لم يتم العثور على صيغة الشراب ، وبالتالي لم يؤد ذلك إلى حل المشكلة واضطررت إلى الرجوع إلى الإصدار 1.0.1 على OSX لأتمكن من استيراد الشعلة مرة أخرى

هل واجه أي شخص نفس المشكلة فيما يتعلق بكل من تثبيت Pytorch وتثبيت الشراب لـ libomp؟

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

يمكنني إلقاء نظرة على إصلاح الثنائيات وإعادة التحميل.

هل لا تزال هناك أي خطة للقيام بذلك ، أم أن الإصدارات الثنائية الجديدة ستنتظر إصدار PyTorch التالي؟

عند محاولة ترقية pytorch من 1.0.1 إلى 1.1 ، واجهت نفس المشكلة ووجدت هذا الموضوع

التحديث على خادم Linux يعمل بشكل جيد ولكن ليس على جهاز Macbook الخاص بي (OSX)

حاولت تثبيت libomp ولكن لم يتم العثور على صيغة الشراب ، وبالتالي لم يؤد ذلك إلى حل المشكلة واضطررت إلى الرجوع إلى الإصدار 1.0.1 على OSX لأتمكن من استيراد الشعلة مرة أخرى

هل واجه أي شخص نفس المشكلة فيما يتعلق بكل من تثبيت Pytorch وتثبيت الشراب لـ libomp؟

تحتاج إلى تثبيت الشراب أولاً ، انتقل إلى موقع التحضير واتبع تعليمات التثبيت.

شكرًا لردك ، لقد قمت بتثبيت الشراب ولكنه لم يكن محدثًا بشكل كافٍ
لذلك قمت بتحديث كل شيء وهو يعمل الآن

ملاحظة للمستخدمين الآخرين ، عندما قمت بتثبيت libomp ، فقد مر ولكن التطبيقات الأخرى لم تعد تعمل (Spyder IDE) ؛ في هذه اللحظة ، كان نظام التشغيل الخاص بي لا يزال 10.11 (Capitan) واضطررت إلى الترقية إلى 10.12 (Sierra) لأتمكن من حل المشكلة

بناءً على تجربتي ، أوصي بالترقية إلى Sierra على الأقل قبل تثبيت pytorch 1.1 و libomp (أستخدم pip و brew لكل التثبيت)

تم تحميل ثنائيات جديدة تزيل التبعية على libomp.dylib

الآن يظهر لي خطأ clang: error: unsupported option '-fopenmp' .

sukuya تبدو هذه مشكلة مختلفة ، حيث يبدو أنك تحاول تجميع PyTorch بنفسك ، لكن هذه المشكلة تتعلق بمشكلة في الثنائيات المجمعة مسبقًا.

لا تزال هذه المشكلة موجودة في torch 1.1.0.post2 ، هل تعرف متى سيكون الإصلاح متاحًا في إصدار مستقر؟

torrmal كيف تتأكد من أنك تستخدم 1.1.0.post2؟ في الاختبار الذي أجريته ، أصلحت التغييرات التي أدخلتها 1.1.0.post2 هذه المشكلة تمامًا ، لذلك أتساءل عما إذا كان لديك 1.1.0 non-post2 موجودًا في مكان ما يتم التقاطه عن غير قصد.

sukuya تبدو هذه مشكلة مختلفة ، حيث يبدو أنك تحاول تجميع PyTorch بنفسك ، لكن هذه المشكلة تتعلق بمشكلة في الثنائيات المجمعة مسبقًا.

@ alex-xnor كنت أقوم بتجميع برنامج c ++ يستخدمه مسبقًا libtorch وأحصل على هذه الأخطاء.

sukuya هل يمكنك إصدار عدد جديد بمزيد من التفاصيل حول مشكلتك؟ على وجه الخصوص ، هل يمكنك تضمين cmake / makefile الذي تقوم بتشغيله وأمر المترجم الذي تستخدمه؟

brew install libomp يحل المشكلة.

Thx bro لقد قمت بحل مشكلتي

هل لدى أي شخص اقتراح عندما لا يعمل brew install libomp؟ لقد قمت بإعادة التثبيت ، وإعادة الربط ، ولكن دون جدوى.

ضع هذا في المحطة ، آمل أن يعمل. استغرق الأمر ساعتين لإصلاح هذا وآمل أن تتمكن من إصلاحه بشكل أسرع ، جيز ...

install_name_tool -change @ rpath / libc ++. 1.dylib /usr/lib/libc++.1.dylib /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/_cvxcore.cpython-37m- داروين

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