لائٹجی بی ایم او ایم پی چلاتا ہے: غلطی # 15: شروع کرنا لیمبپ.ڈی لیب ، لیکن مل گیا libiomp5.dylib پہلے ہی ابتدا

Lightgbm Runs Omp Error 15



لائٹجی بی ایم 2.2.3 چلاتے وقت مندرجہ ذیل خرابی پیش آگئی:
OMP: غلطی # 15: libomp.dylib شروع کر رہا ہے ، لیکن مل گیا libiomp5.dylib پہلے ہی ابتدا

یہاں ایک وضاحت ہے:
او ایم پی: اشارہ اس کا مطلب ہے کہ اوپن ایم پی رن ٹائم کی متعدد کاپیاں پروگرام میں منسلک ہوچکی ہیں۔ یہ خطرناک ہے ، کیونکہ یہ کارکردگی کو ہٹا سکتا ہے یا غلط نتائج کا سبب بن سکتا ہے۔ سب سے بہتر کام یہ یقینی بنانا ہے کہ عمل میں صرف ایک ہی اوپن ایم پی رن ٹائم منسلک ہو ، جیسے۔ کسی بھی لائبریری میں اوپن ایم پی رن ٹائم کے مستحکم لنک سے اجتناب کرتے ہوئے۔ غیر محفوظ ، غیر تعاون یافتہ ، غیر دستاویزی ورزش کی حیثیت سے آپ ماحول کو متغیر KMP_DUPLICATE_LIB_OK = TRUE مقرر کرسکتے ہیں تاکہ پروگرام کو جاری رکھنے کی اجازت دی جاسکے ، لیکن اس کے نتیجے میں کریش ہوسکتے ہیں یا خاموشی سے غلط نتائج برآمد ہوسکتے ہیں۔ مزید معلومات کے لئے ، ملاحظہ کریں http://openmp.llvm.org/



اس کا مطلب یہ ہے کہ جب یہ پروگرام چل رہا ہے تو ، متعدد اوپن ایم پی کاپیاں کے لنکس موجود ہیں ، جو کارکردگی کو خراب کرنے یا غلط نتائج کا سبب بن سکتے ہیں۔ یہ یقینی بنانا بہتر ہے کہ صرف ایک تک رسائی حاصل ہو۔
لیکن مجھے سمجھ میں نہیں آتا کہ اوپن ایم پی کیا ہے! ~~~

پہلے اس مسئلے کو حل کریں:

طریقہ 1)

جیسا کہ وضاحت میں بیان کیا گیا ہے ، ماحولیاتی متغیر KMP_DUPLICATE_LIB_OK کو TRUE پر سیٹ کریں ، لیکن اس سے کریش یا غلط نتیجہ بھی ہوسکتا ہے۔ . .

import os os.environ['KMP_DUPLICATE_LIB_OK']='True'

طریقہ 2)

میں لائٹ جی بی ایم سوالات کے صفحے میں سوال نمبر 10 میں اس مسئلے کا تذکرہ کیا گیا ہے اور ایک حل پیش کیا گیا ہے۔ (لیکن صرف میکوس صارفین کے ل other ، دوسرے صارفین کو تنازعہ پیکیج تلاش کرنے اور ان میں سے ایک کا انتخاب کرنے کی ضرورت ہے۔)

اگر آپ کونڈا کے ذریعہ تقسیم کردہ ازگر کا استعمال کررہے ہیں تو ، اس کا بہت زیادہ امکان ہے کہ یہ غلطی کونڈا کے نمی پیکیج کی وجہ سے ہوئی ہے جس میں ایم کے ایل پیکیج شامل ہے جس کے نتیجے میں سسٹم وسیع لائبریری سے تنازعہ پیدا ہوتا ہے۔ اس معاملے میں آپ کونڈا میں نمی پیکیج کو اپ ڈیٹ کرسکتے ہیں یا کونڈا ماحولیاتی فولڈر $ CONDA_PREFIX / lib میں اس کے ساتھ ایک sylink بنا کر کونڈا کے اوپن ایم پی لائبریری مثال کو سسٹم بھر میں تبدیل کرسکتے ہیں۔

اگر ازگر بنیادی طور پر کونڈا پر انسٹال ہے تو ، کونڈا پر نمپی پیکیج میں موجود ایم کی ایل آسانی سے نظام میں موجود لائبریری سے تنازعہ لے سکتا ہے۔ آپ کونڈا میں اپڈیٹ نمی پیکیج کا انتخاب کرسکتے ہیں یا اسے سسٹم کی لائبریری کے بطور سیٹ کرسکتے ہیں۔

فرض کریں کہ آپ ہومبریو کے ساتھ میک او ایس استعمال کررہے ہیں ، وہ کمانڈ جو اوپن ایم پی لائبریری فائلوں کو موجودہ فعال کونڈا ماحول میں سمر لنکس کے ساتھ سسٹم وسیع لائبریری کے فائلوں کو ایڈریس کرتی ہے جو ہومبروو کے ذریعہ انسٹال کیا گیا ہے۔

ln -sf `ls -d '$(brew --cellar libomp)'/*/lib`/* $CONDA_PREFIX/lib

ہومبریو کانڈا کے ساتھ نصب میکوس والی مشین پر ، آپ براہ راست ٹرمینل میں مندرجہ بالا مواد داخل کرکے ہومبریو کے ساتھ نصب سسٹم وسیع لائبریری سے کونڈا ماحول کو براہ راست جوڑ سکتے ہیں۔ CONDA_PREFIX کونڈا کا تنصیب کا راستہ ہے۔