2012-09-03 9 views
13

मैंने ओपनबीएलएस के साथ न्यूम्पी इंस्टॉल/संकलित करने का एक आसान तरीका ढूंढ लिया है लेकिन मुझे कोई आसान जवाब नहीं मिला। मैंने जो दस्तावेज देखा है, वह मेरे जैसे किसी के लिए बहुत अधिक ज्ञान लेता है जिसका उपयोग सॉफ़्टवेयर संकलित करने के लिए नहीं किया जाता है। ओबब्लू में ओपनब्लैस से संबंधित दो पैकेज हैं: libopenblas-base और libopenblas-dev। एक बार स्थापित होने के बाद, मुझे उनके साथ फिर से स्थापित करने के लिए क्या करना चाहिए? धन्यवाद!उबंटू में एटलस के बजाय ओपनबीएलएस के साथ numpy का उपयोग कैसे करें?

ध्यान दें कि जब इन ओपनबीएलएस पैकेज स्थापित होते हैं, तो नोम्पी अब काम नहीं करता है: इसे आयात नहीं किया जा सकता: ImportError: /usr/lib/liblapack.so.3gf: अपरिभाषित प्रतीक: ATL_chemv। उबंटू के लिए उनके website instructions के साथ थेनो को स्थापित करते समय समस्या तब भी होती है।

यह पहले से ही here देखा गया था।

+0

चूंकि मेरे पास चरण-दर-चरण निर्देश नहीं हैं: आपको सूडो अपडेट-विकल्प चलाने की आवश्यकता हो सकती है - और इसके लिए सेटिंग सेट करें (अगर आपको एटलस इंस्टॉल नहीं किया गया है तो आपको ऐसा नहीं करना पड़ सकता है)। मुझे विश्वास है कि liblapack3gf भी मुझे स्थापित करना होगा। जब मैं (शोगुन) कर रहा हूं, तो मुझे व्यक्तिगत रूप से अन्य पैकेजों के साथ कुछ समस्याएं थीं, लेकिन शायद इससे आपके लिए कोई फर्क नहीं पड़ता। और "आयात numpy; numpy.test()" चलाएं इससे पहले कि आप चीजों को बदल दें ... – seberg

+0

यह वास्तव में काम करता है! : liblipack3gf पहले से स्थापित किया गया था, और अपडेट-विकल्प का उपयोग कर रहा है - और 'liblapack.so.3gf' – PierreE

+1

के लिए वैकल्पिक '/ usr/lib/lapack/liblapack.so.3gf' चुनें। अगर आप सभी एटलस पैकेज अनइंस्टॉल करते हैं , तो यह त्रुटि दूर हो जाती है। – user239558

उत्तर

13

भागो sudo update-alternatives --all और /usr/lib/lapack/liblapack.so.3gf

1

करने के लिए liblapack.so.3gf सेट पर विचार करें EasyBuild (http://hpcugent.github.io/easybuild/), निर्माण और स्थापित करने के लिए सॉफ्टवेयर एक खुला स्रोत ढांचे का उपयोग कर।

यह आपको विभिन्न कंपाइलर के साथ (बहुत आसानी से) निर्माण और स्थापित (वैज्ञानिक) सॉफ़्टवेयर, और विभिन्न बीएलएएस पुस्तकालयों (एटीएलएएस, ओपनबीएलएस, एसीएमएल, इंटेल एमकेएल, ...) का उपयोग करने की अनुमति देता है।

एक बार जब आप EasyBuild स्थापित (प्रोफ़ेशनल सलाह: https://github.com/hpcugent/easybuild/wiki/Bootstrapping-EasyBuild में वर्णित बूटस्ट्रैपिंग प्रक्रिया का उपयोग करें), यह एक एकल आदेश चलाकर करने पर निर्भर करता है, कुछ की तरह:

eb numpy-1.6.2-goolf-1.4.10-Python-2.7.3.eb -ldr

यह पहली निर्माण और पूर्ण के स्थापित हो जाएगा कंपाइलर टूलचेन (गोल्फ: जीसीसी + ओपनब्लैस + ओपनएमपीआई + लैपैक + एफएफटीडब्ल्यू), और बाद में उस टूलचेन के साथ पायथन और numpy का निर्माण। और जब आप दोपहर का भोजन कर रहे हों। ;-)

अस्वीकरण: मैं EasyBuild डेवलपर्स में से एक हूं।

+0

ईबी नवीनतम रिलीज उदाहरण बनाते हैं। पायथन 2.7.5, numpy 1.7.1 आदि? –

+0

https://github.com/hpcugent/easybuild-easyconfigs/tree/master/easybuild/easyconfigs/p/Python और https://github.com/hpcugent/easybuild-easyconfigs/tree/master/easybuild/easyconfigs/ देखें नवीनतम रिलीज में easyconfig फ़ाइलों के लिए n/numpy। EasyBuild v1.5 (इस हफ्ते की रिलीज़ की गई योजना समाप्त), पाइथन 2.7.5 के लिए easyconfig फ़ाइलों को जोड़ देगा (देखें https://github.com/hpcugent/easybuild-easyconfigs/tree/develop/easybuild/easyconfigs/p/Python), लेकिन आमतौर पर पहले से समर्थित नए संस्करणों को स्थापित करना आसान है: बस easyconfig फ़ाइल में संस्करण संख्या को टक्कर दें और इसे 'eb'' दें। –

10

स्वीकार्य उत्तर (update-alternatives का उपयोग करने के लिए) में जोड़ने के लिए, इसका कारण यह है कि ओपनब्लैस लैपैक के एटलस संस्करण के साथ संगत नहीं है।

  1. डिफ़ॉल्ट ब्लास + डिफ़ॉल्ट LAPACK => ठीक
  2. OpenBlas + डिफ़ॉल्ट LAPACK => ठीक
  3. एटलस-ब्लास + डिफ़ॉल्ट LAPACK => ठीक
  4. Atlas-: ब्लास और LAPACK संस्करणों में से प्रत्येक के लिए ब्लास + एटलस-लैपैक => ठीक
  5. ओपनब्ललास + एटलस-लैपैक => त्रुटि! (निम्नलिखित मामले यहां।)

यह व्यक्तिगत अनुभव (सटीक एक ही मुद्दे के साथ) दोनों से है और यह महसूस कर रहा है कि इस तरह के संयोजन का उल्लेख क्यों नहीं किया गया in this comparison blog

वैसे, आप /etc/alternatives/ में आवश्यक फ़ाइलों को ढूंढ सकते हैं, आमतौर पर lib* से शुरू होने वाले फ़ाइल नाम के साथ। प्रत्येक के लिए sudo update-alternatives --config <filename> करें।उदाहरण के लिए, निम्न करने के लिए क्या:

  • sudo update-alternatives --config libblas.so
  • sudo update-alternatives --config libblas.so.3

ब्लास संस्करण बदलने के लिए।

+0

ग्रेट उत्तर। मैंने 'libopenblas-base' और 'libatlas3-base' के अलावा' liblapack3' इंस्टॉल करके अपना मुद्दा हल किया। –

+0

हल, आपके महान उत्तर के लिए बहुत बहुत धन्यवाद। – TurtleIzzy

संबंधित मुद्दे