Tensorflow: ImportError: libcublas.so.9.0: لا يمكن فتح ملف كائن مشترك: لا يوجد مثل هذا الملف أو الدليل

تم إنشاؤها على ٢٣ ديسمبر ٢٠١٧  ·  136تعليقات  ·  مصدر: tensorflow/tensorflow

لقد قمت بتثبيت tf-nightly build وأحصل على الخطأ التالي عند استيراد tensorflow.
ImportError: libcublas.so.9.0: cannot open shared object file: No such file or directory .

إذا تحققت من وجود cuda 9 ، فسأحصل على ما يلي:

ldconfig -v
/usr/local/cuda-8.0/targets/x86_64-linux/lib:
    libnvgraph.so.8.0 -> libnvgraph.so.8.0.61
    libnppicom.so.8.0 -> libnppicom.so.8.0.61
    libnppial.so.8.0 -> libnppial.so.8.0.61
    libcufftw.so.8.0 -> libcufftw.so.8.0.61
    libcufft.so.8.0 -> libcufft.so.8.0.61
    libnppif.so.8.0 -> libnppif.so.8.0.61
    libcublas.so.8.0 -> libcublas.so.8.0.88
    libnvblas.so.8.0 -> libnvblas.so.8.0.88
    libnppi.so.8.0 -> libnppi.so.8.0.61
    libcusolver.so.8.0 -> libcusolver.so.8.0.61
    libnppidei.so.8.0 -> libnppidei.so.8.0.61
    libnvrtc-builtins.so.8.0 -> libnvrtc-builtins.so.8.0.61
    libnvrtc.so.8.0 -> libnvrtc.so.8.0.61
    libnpps.so.8.0 -> libnpps.so.8.0.61
    libcuinj64.so.8.0 -> libcuinj64.so.8.0.61
    libnppig.so.8.0 -> libnppig.so.8.0.61
    libOpenCL.so.1 -> libOpenCL.so.1.0.0
    libnppicc.so.8.0 -> libnppicc.so.8.0.61
    libnppist.so.8.0 -> libnppist.so.8.0.61
    libnppisu.so.8.0 -> libnppisu.so.8.0.61
    libnppim.so.8.0 -> libnppim.so.8.0.61
    libcurand.so.8.0 -> libcurand.so.8.0.61
    libcudart.so.8.0 -> libcudart.so.8.0.61
    libnvToolsExt.so.1 -> libnvToolsExt.so.1.0.0
    libnppitc.so.8.0 -> libnppitc.so.8.0.61
    libnppc.so.8.0 -> libnppc.so.8.0.61
    libcusparse.so.8.0 -> libcusparse.so.8.0.61
/usr/local/cuda-9.1/targets/x86_64-linux/lib:
    libnppicc.so.9.1 -> libnppicc.so.9.1.85
    libnppisu.so.9.1 -> libnppisu.so.9.1.85
    libcufftw.so.9.1 -> libcufftw.so.9.1.85
    libcufft.so.9.1 -> libcufft.so.9.1.85
    libnppial.so.9.1 -> libnppial.so.9.1.85
    libnppist.so.9.1 -> libnppist.so.9.1.85
    libcublas.so.9.1 -> libcublas.so.9.1.85
    libnvblas.so.9.1 -> libnvblas.so.9.1.85
    libnppitc.so.9.1 -> libnppitc.so.9.1.85
    libcusolver.so.9.1 -> libcusolver.so.9.1.85
    libnvrtc.so.9.1 -> libnvrtc.so.9.1.85
    libnvrtc-builtins.so.9.1 -> libnvrtc-builtins.so.9.1.85
    libnppidei.so.9.1 -> libnppidei.so.9.1.85
    libOpenCL.so.1 -> libOpenCL.so.1.0.0
    libnppig.so.9.1 -> libnppig.so.9.1.85
    libnppc.so.9.1 -> libnppc.so.9.1.85
    libcudart.so.9.1 -> libcudart.so.9.1.85
    libnvToolsExt.so.1 -> libnvToolsExt.so.1.0.0
    libnvgraph.so.9.1 -> libnvgraph.so.9.1.85
    libnppif.so.9.1 -> libnppif.so.9.1.85
    libcusparse.so.9.1 -> libcusparse.so.9.1.85
    libaccinj64.so.9.1 -> libaccinj64.so.9.1.85
    libcuinj64.so.9.1 -> libcuinj64.so.9.1.85
    libnppim.so.9.1 -> libnppim.so.9.1.85
    libnppicom.so.9.1 -> libnppicom.so.9.1.85
    libnpps.so.9.1 -> libnpps.so.9.1.85
    libcurand.so.9.1 -> libcurand.so.9.1.85

أنا ذلك بسبب عدم تطابق الاسم. libcublas.so.9.0 =! libcublas.so.9.1 ؟ وإذا كان الأمر كذلك فكيف نتغلب على هذا؟

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

هل قمت بحلها؟ تسببت هذه المشكلة في tensorflow-gpu-1.5 المطلوب cuda 9.0 ، لذلك يجب عليك تثبيت tensorflow-gpu-1.4. و rember إلغاء تثبيت tensorflow-gpu-1.5. الرجاء استخدام "تثبيت النقطة - ترقية tensorflow-gpu == 1.4"

ال 136 كومينتر

أعتقد أن هذا يرجع إلى حقيقة أن لديك CUDA 9.1 وليس 9.0 ، فأنا أواجه نفس المشكلة بالضبط.

Timonzimm أعرف وأعتقد أن المشكلة برمتها هي تسمية libcublas.so.xxx التي تضعها nvidia. هذا بطبيعته هو عدم تطابق في أنظمة لينكس كلما تغير هذا الرقم ، لذلك نظرًا لأنه لا يمكنه العثور على التطابقات الدقيقة ، فإنه يعتقد أن الملف غير موجود ويرمي الخطأ.

أعتقد أنه يجب عليك استخدام رابط الرمز من "cuda /" إلى "cuda / 9.1" ، أو أن إصدار cuda الخاص بك جديد جدًا بالنسبة لفرع tensorflow الرئيسي

@ burui11087 لقد نسيت تمامًا الترميز. شكرا لتذكيري.

يبدو أن هذا قد تم حله (والسبب الأساسي هو عدم تطابق إصدار CUDA - 9.0 مقابل 9.1)؟
إغلاق هذا لأنني أدركت أنه سيتم حلها ، ولكن يرجى إعلامي إذا كنت مخطئًا.

لمعلوماتك gunan @ av8ramit (الذين يعملون على الإصدار 1.5 القادم)

أنا أيضا تحدث نفس المشكلة بالضبط مع kirk86. بالنسبة لي ، قمت بتثبيت cuda toolkit 8.0 و cudnn 5.1.
ثم فعلت ما قلته يا رفاق أعلاه ، كل منهم لا يعمل.

لاستخدام nightlies ، يجب أن يكون لديك CUDA 9.0 و cudnn 7 مثبتين.
يشتكيyangfengKAUST مع الإصدار الحالي من cuda و cudnn TF المثبت من أنه لا يمكنه العثور على الإصدارات التي يتوقعها.

@ Timonzimm أواجه نفس المشكلة. هل عرفت ما هو؟

لديّ 8.0 ، 9.0 ، 9.1 مثبتة + إصدارات cudnn والتي تبدو خاصة بكل منها. لم يعمل ارتباط sym من 9.1 libs. أظن أنه في بعض الأحيان لا يعمل الارتباط الرمزي في LD_LIBRARY_PATH عندما أقوم بتبديل الإصدارات على الرابط / usr / local / cuda. انتهى بي الأمر بفعل ذلك بالطريقة منخفضة التقنية لتحميل المكتبات في برنامج جافا الخاص بي حتى أتمكن من اكتشاف طريقة أنظف للتعامل مع المسارات داخل Eclipse.

    try {
        System.load("/usr/local/cuda/lib64/libcublas.so.9.0");
        System.load("/usr/local/cuda/lib64/libcusolver.so.9.0");
        System.load("/usr/local/cuda/lib64/libcudart.so.9.0");
        System.load("/usr/local/cuda/lib64/libcufft.so.9.0");
        System.load("/usr/local/cuda/lib64/libcurand.so.9.0");

        System.load("/home/greg/Desktop/platform/tensorbuilder/jni/libtensorflow_jni.so");
      } catch (UnsatisfiedLinkError e) {
          System.err.println("Native code library failed to load.\n" + e);
          System.exit(1);
      }

.

asimshankar هل ترغب في معرفة أنه في تعليقك أعلاه ، تقصد أنه يجب علينا تخفيض إصدار cuda إلى 9.0 وأن tensorflow 1.5 لا يعمل مع cuda 9.1؟

لقد أغلقت هذه المشكلة ولكن ليس من الواضح ما هو الإجراء الصحيح الذي يجب أن نتخذه!

ملاحظة: لدي أيضًا cuda 9.1 مثبتًا بدلاً من cuda 9.0.

فقط لمعلوماتك ، لقد قمت بتثبيت كلاهما. سيعمل البناء من الصفر مع أي منهما ، لكن الثنائيات الليلية تستخدم 9.0.

AwasthiMaddy - نعم تم تصميم ثنائيات إصدار TensorFlow 1.5 لـ CUDA 9.

هل قمت بحلها؟ تسببت هذه المشكلة في tensorflow-gpu-1.5 المطلوب cuda 9.0 ، لذلك يجب عليك تثبيت tensorflow-gpu-1.4. و rember إلغاء تثبيت tensorflow-gpu-1.5. الرجاء استخدام "تثبيت النقطة - ترقية tensorflow-gpu == 1.4"

aipeteryao - شكرا لك.

يحتاج شخص ما إلى إصلاح صفحة https://www.tensorflow.org/install/install_linux إذا كان هذا صحيحًا ، لقد اتبعت تعليماتها تمامًا وأخبرك بتثبيت CUDA 8.0 (على وجه التحديد ، وليس "أحدث CUDA").

ثم بمجرد الانتهاء من ذلك ، تحصل على هذا الخطأ (إنه يبحث عن cublas 9.0 ، والذي ، من خلال ما يمكنني قراءته هنا ، لن يعمل أيضًا ، لأن CUDA 9.1 هو الإعداد الافتراضي الذي تحصل عليه من NVIDIA).

يجب أن تعمل تعليمات صفحة الويب مع أحدث افتراضي لكل شيء ، أو يجب أن تخبرك صراحة بتثبيت tensorflow-gpu-1.4 (على سبيل المثال) وليس tensorflow-gpu ..

تعليق bwesons الثناء. لدي CUDA 8.0 و Tensorflow 1.3. لقد اتبعت تعليمات التثبيت الحالية لـ TF 1.5 (GPU ، ubuntu ، virtualenv) وتكسر كما هو موضح أعلاه. العودة إلى TF 1.3 حتى يتم حل ذلك.

aipeteryao هذا تم إصلاحه ، شكرا! انتهى بي الأمر بإلغاء تثبيت أحدث إصدار وتثبيت 1.4 ، في Virtualenv الخاص بي.

pip3 uninstall tensorflow-gpu
pip3 install --upgrade tensorflow-gpu==1.4

يجب تحديث صفحة تثبيت Ubuntu: https://www.tensorflow.org/install/install_linux
نظرًا لأن TensorFlow 1.5 يتوقع Cuda 9.0 (ليس 9.1) ، وكذلك cuDNN 7

في الواقع ، يجب أن نعرض المستند الرسمي لـ Tensorflow ، فهو يعطي بيئة Tensorflow (بما في ذلك python و gcc و cuda و cudnn وما إلى ذلك).

bwesen ، نعم ، كنت على حق ، لقد تم تثبيت جهاز الكمبيوتر الخاص بي CUDA 8.0 ، cudnn 6.0 ، tensorflow 1.4.

أعتقد أن هذه القضية يجب أن تظل مفتوحة. تعليق bwesen صحيح. يخبرك محرر المستندات بتثبيت Cuda 8.0 واستخدام pip install --upgrade tensorflow-gpu . يمنحك هذا الآن Tensorflow 1.5 والذي لا يعمل مع Cuda 8.0

هههههههههههههههه

لدي نفس المشكلة (مع cuda 9.1 + tensorflow 1.5). أعتقد أنه لحل هذه المشكلة ، فإن أحد الخيارات هو تخفيض إصدار cuda إلى 9.0. سيكون الخيار الآخر هو خفض مستوى كل من cuda إلى 8.0 و Tensorflow إلى 1.4. إذا قمت بالفعل بتثبيت cuda 8.0 ، فأنت تحتاج فقط إلى تعديل متغير البيئة LD_LIBRARY_PATHCUDA_HOME ) للإشارة إلى دليل cuda 8.0 (على سبيل المثال /usr/local/cuda-8.0 ).

تظهر لي هذه المشكلة (Cuda 9.1.85 ، cuDNN 7.05)

حاولت مع tensorflow 1.5 ، كسر. تم إلغاء التثبيت ، تثبيت 1.4 مع pip3 install --upgrade tensorflow-gpu==1.4 ، لا يزال معطلاً.

DylanDmitri 1.5 يتوقع Cuda 9.0 وليس 9.1

هل جربت مع برامج تشغيل Cuda 9.0؟

DylanDmitrimkaze تحتاج كودا 9.0.

أيضًا ، لأي شخص يواجه مشكلة في تثبيت المتطلبات ، أقترح التحقق مرتين من تثبيت cuDNN الخاص بك. لم يعمل ملف .deb بالنسبة لي لأنه لا ينسخ الملفات إلى المكان الصحيح. اضطررت إلى استخدام ملف .tgz ونسخ الملفات يدويًا وفقًا لتوجيهات nVidia من أجل الحصول على تثبيت عملي.

لماذا لا تقوم فقط بتثبيت cuda-9-0؟

sudo dpkg -i cuda-repo-ubuntu1604_9.0.176-1_amd64.deb
sudo apt-key adv --fetch-keys \
     http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/7fa2af80.pub
sudo apt-get update
sudo apt-get install cuda-9-0

لماذا لا تقوم فقط بتثبيت cuda-9-0؟

abrahamrhoffman هذا سهل لأي شخص لديه امتيازات sudo ولكن ماذا عن الأشخاص في نظام مشترك مثل بيئة الكتلة مع امتيازات مستخدم بسيطة. في هذه الحالات ، حتى إذا طلبت من مسؤول النظام تثبيت أي مكتبات على الأرجح ، ستكون الإجابة لا! لأنهم يخشون أن يتداخل ذلك مع إعدادات وبيئات المستخدمين الآخرين.

abrahamrhoffman هل تمانع أيضًا في تقديم مبرر للتصويت

لقد قمت بتثبيت cuda-9.0 وما زال لا يعمل. هذا حقا مزعج.

يرجى التأكد من تعيين متغير PATH بشكل مناسب، مثل كما هو موضح هنا: https://stackoverflow.com/questions/39287744/ubuntu-16-04-nvidia-toolkit-8-0-rc-darknet-compilation-error-expected -a / 41290056 # 41290056

export PATH=/usr/local/cuda-9.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda9.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

cuda 9.1 هو الإصدار الحالي. أريد أن يستخدمه فريق العمل. كيف؟

حتى tf-nightly-gpu لا تبحث عن cuda 9.1. مه

لقد جربت روابط رمزية من جميع أسماء الملفات 9.0 لجميع أسماء الملفات 9.1 ولم تنجح. في النهاية ، يعرف فريق العمل النسخة الحقيقية. لم يعد الريبو يحتوي على 9.0 حتى الآن ، لذا أخشى أنني سأكسر أشياء nvidia الخاصة بي إذا قمت بإزالة 9.1 ثم قمت بتثبيت 9.0 يدويًا.

أصلحه الآن من خلال:

قم بتنزيل deb (network) من: https://developer.nvidia.com/cuda-90-download-archive؟target_os=Linux&target_arch=x86_64&target_distro=Ubuntu&target_version=1604&target_type=debnetwork

ثم: dpkg -i cuda-repo-ubuntu1604_9.0.176-1_amd64.deb

ثم: aptitude update

ثم: aptitude install cuda-9-0

أولاً ، لقد قمت بتثبيت tensorflow 1.5 ، فقد تعطل ، ووجدت الخطأ التالي:
ImportError: libcublas.so.9.0: cannot open shared object file: No such file or directory
ثم قمت بإلغاء التثبيت ، وقمت بتثبيت 1.4 مع تثبيت نقطة - ترقية tensorflow-gpu == 1.4 ، لم تنجح ، وأحصل على الخطأ التالي:
ImportError: libcublas.so.8.0: cannot open shared object file: No such file or directory

xiezhongzhao ما هو إصدار Cuda الذي تستخدمه؟ بالنسبة لـ tensorflow 1.5 ، يجب أن تكون قد قمت بتثبيت Cuda 9.0 وللتنسورفلو 1.4 ، يجب عليك استخدام cuda 8.0. إذا كان إصدار tensorflow وإصدار cuda متوافقين ، فتحقق من متغيرات البيئة مثل CUDA_HOME و LD_LIBRARY_PATH .

mkaze لقد استخدمت Cuda9.1

xiezhongzhao قم بتثبيت Cuda 9.0 ويجب أن تكون بخير. لا يعمل Tensorflow 1.5 مع Cuda 9.1.

mkaze شكرا جزيلا لك

أنا أيضًا أتلقى هذه المشكلة وأواجه صعوبة في حلها.

$ pip3 install tensorflow-gpu
$ python3
>>> import tensorflow
Traceback (most recent call last):
  File "/home/ubuntu/.local/lib/python3.5/site-packages/tensorflow/python/pywrap_tensorflow.py", line 58, in <module>
    from tensorflow.python.pywrap_tensorflow_internal import *
  File "/home/ubuntu/.local/lib/python3.5/site-packages/tensorflow/python/pywrap_tensorflow_internal.py", line 28, in <module>
    _pywrap_tensorflow_internal = swig_import_helper()
  File "/home/ubuntu/.local/lib/python3.5/site-packages/tensorflow/python/pywrap_tensorflow_internal.py", line 24, in swig_import_helper
    _mod = imp.load_module('_pywrap_tensorflow_internal', fp, pathname, description)
  File "/usr/lib/python3.5/imp.py", line 242, in load_module
    return load_dynamic(name, filename, file)
  File "/usr/lib/python3.5/imp.py", line 342, in load_dynamic
    return _load(spec)
ImportError: libcublas.so.9.0: cannot open shared object file: No such file or directory

لقد قمت بالتثبيت باتباع هذه التعليمات
https://www.tensorflow.org/install/install_linux#nvidia_requirements_to_run_tensorflow_with_gpu_support

أعتقد أنني قمت بتثبيت الإصدارات الصحيحة من nvidia. كانت أسماء الملفات
cuda-repo-ubuntu1604_9.0.176-1_amd64.deb
و cudnn-9.0-linux-x64-v7.tgz (الإصدار 7.0.5)

لقد قمت بتعيين المسار وفقًا لتلك الإرشادات الموجودة في مستندات tensorflow وجربت أيضًا الإرشادات التي قدمها abrahamrhoffman أعلاه.

عندما أقوم بتشغيل ldconfig -v ، أحصل على 9.0 libs ، لكنني لا أرى libcublas.so.9.0

/usr/local/cuda-9.0/targets/x86_64-linux/lib:
    libaccinj64.so.9.0 -> libaccinj64.so.9.0.176
    libOpenCL.so.1 -> libOpenCL.so.1.0.0
    libnvToolsExt.so.1 -> libnvToolsExt.so.1.0.0
    libcuinj64.so.9.0 -> libcuinj64.so.9.0.176
    libcudart.so.9.0 -> libcudart.so.9.0.176
/usr/local/cuda-9.1/targets/x86_64-linux/lib:
    libnppif.so.9.1 -> libnppif.so.9.1.85
    libcusparse.so.9.1 -> libcusparse.so.9.1.85
    libcusolver.so.9.1 -> libcusolver.so.9.1.85
    libnpps.so.9.1 -> libnpps.so.9.1.85
    libnppial.so.9.1 -> libnppial.so.9.1.85
    libnvgraph.so.9.1 -> libnvgraph.so.9.1.85
    libcuinj64.so.9.1 -> libcuinj64.so.9.1.85
    libaccinj64.so.9.1 -> libaccinj64.so.9.1.85
    libnppicc.so.9.1 -> libnppicc.so.9.1.85
    libcudart.so.9.1 -> libcudart.so.9.1.85
    libnppc.so.9.1 -> libnppc.so.9.1.85
    libnppicom.so.9.1 -> libnppicom.so.9.1.85
    libOpenCL.so.1 -> libOpenCL.so.1.0.0
    libnppig.so.9.1 -> libnppig.so.9.1.85
    libnvToolsExt.so.1 -> libnvToolsExt.so.1.0.0
    libnppidei.so.9.1 -> libnppidei.so.9.1.85
    libcurand.so.9.1 -> libcurand.so.9.1.85
    libnvblas.so.9.1 -> libnvblas.so.9.1.128
    libnvrtc.so.9.1 -> libnvrtc.so.9.1.85
    libnppitc.so.9.1 -> libnppitc.so.9.1.85
    libnppist.so.9.1 -> libnppist.so.9.1.85
    libcublas.so.9.1 -> libcublas.so.9.1.128
    libnppim.so.9.1 -> libnppim.so.9.1.85
/sbin/ldconfig.real: /usr/local/cuda-9.1/targets/x86_64-linux/lib/libcudnn.so.7 is not a symbolic link

    libcudnn.so.7 -> libcudnn.so.7.0.5
    libcufftw.so.9.1 -> libcufftw.so.9.1.85
    libcufft.so.9.1 -> libcufft.so.9.1.85
    libnppisu.so.9.1 -> libnppisu.so.9.1.85
    libnvrtc-builtins.so.9.1 -> libnvrtc-builtins.so.9.1.85

لم أقم بتثبيت 9.1 ، على الأقل ليس عن قصد. هذا موجود في مثيل amazon ec2 مع مخزون ubuntu 16.04.
تقوم nvidia-smi أيضًا بإرجاع وحدة معالجة الرسومات ، وهذا مثيل g3.4xlarge

هو موضع تقدير كبير أي توجيه.

وفقًا لدليل CUDNN على:

http://docs.nvidia.com/deeplearning/sdk/cudnn-install/index.html

تحتاج إلى نسخ الملفات غير المضغوطة (من الدليل الذي قمت بتشغيله $ tar -xzvf cudnn-9.0-linux-x64-v7.tgz أو ما شابه) إلى الدلائل الفرعية /usr/local/cuda :

$ sudo cp cuda/include/cudnn.h /usr/local/cuda/include
$ sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
$ sudo chmod a+r /usr/local/cuda/include/cudnn.h
/usr/local/cuda/lib64/libcudnn*

شكرا لك على الرد @ entropy43.

كان يجب أن أكون أكثر تحديدا. فعلت هذين الأمرين cp و chmod بعد tar . عندما أنظر في مجلد cuda حيث قمت بتشغيل الأمر tar مثل ls cuda/lib64 أراه
libcudnn.so libcudnn.so.7 libcudnn.so.7.0.5 libcudnn_static.a

لقد جربت هذا القسم أيضًا من nvidia doc
2.3.2. Installing from a Debian File

وتجتاز الاختبارات هنا بـ 2.4. Verifying

أي نصيحة للحصول على هذا الليب هي موضع تقدير

هل يمكن لأي شخص أن يلخص ما هو الوضع الحالي من فضلك؟ أنا أستخدم TF1.3 + cuda 8 بدون مشكلة. أرغب في الترقية ولكن يبدو أن عملية تثبيت الإصدارات الأحدث معطلة تمامًا. نصيحة؟

على غرار ما يطلبه yazabazra أعلاه:
TF1.6 أوبونتو 16.04
nvcc -V
nvcc: NVIDIA (R) Cuda برنامج تشغيل المترجم
حقوق النشر (c) 2005-2017 لشركة NVIDIA
بني في Fri_Nov__3_21: 07: 56_CDT_2017
أدوات تجميع Cuda ، الإصدار 9.1 ، V9.1.85
والتي تطلبت برنامج تشغيل عرض Nvidia 390+
مهم لرؤية: https://devtalk.nvidia.com/default/topic/1000340/cuda-setup-and-installation/-quot-nvidia-smi-has-failed-because-it-couldn-t-communicate-with -the-nvidia-driver-quot-ubuntu-16-04 / post / 5243047 / # 5243047

Whelp لإضافته إلى كل شيء ، بعد قدر كبير من المتاعب ، قمت بتحديث Nvidia إلى أحدث إصدار ، انظر أعلاه ، حيث أشار مستند TF إلى وجود أخطاء في إصدار سابق ..

الآن أحصل على:
ImportError: libcublas.so.9.0: لا يمكن فتح ملف كائن مشترك: لا يوجد مثل هذا الملف أو الدليل
فشل تحميل وقت تشغيل TensorFlow الأصلي.

والذي يبدو أنه عدم تطابق بين 9.0 (TF يريد) مقابل 9.1 وهو أحدث Nvidia.
قد يبدو من الأفضل أن تعمل مع 9.1 لكنني أفضل تجنب بناء TF من المصدر ويبدو أنه قد لا يصلحها على أي حال ..

هل يمكن عمل هذا التحرير والسرد للعمل مع حزمة ثنائية؟
TF 1.6 كودا 9.1 ؟؟

مزيد من الملاحظة والحذر لمن يبحثون هنا .. بعد ترقية أشياء Nvidia الخاصة بي ، لم تعد الإصدارات القديمة من TF في conda env منفصلة تعمل كما يريد TF الأقدم: ImportError: libcublas.so.8.0: لا يمكن فتح ملف كائن مشترك: لا يوجد مثل هذا الملف أو دليل
لذا فإن 9.1 لن تقطعها .. فماذا عن تحديد أكبر من ؟؟ مقابل إصدارات محددة؟ مجرد اقتراح .. في هذه الأثناء أنا ميت في الماء ..

وهذا هو السبب في أن توفر ثنائي يدعم 9.1 سيكون أمرًا رائعًا: (من ملاحظات إصدار TF1.6)

استخدام XLA: ينتج عن
حالات فشل CUDA_ILLEGAL_ADDRESS.

اكتشفت Google في منتصف ديسمبر 2017 أن مترجم PTX-to-SASS في CUDA 9
و CUDA 9.1 لا يحسب أحيانًا بتة الحمل بشكل صحيح عندما
تفكيك حسابات عناوين 64 بت مع إزاحات كبيرة (مثل التحميل [x + large_constant]) إلى حسابي 32 بت في SASS.

نتيجة لذلك ، تُخطئ هذه الإصدارات من ptxas في تجميع معظم برامج XLA التي تستخدم ملفات
أكثر من 4 جيجابايت من الذاكرة المؤقتة. ينتج عن هذا نتائج القمامة و / أو
حالات فشل CUDA_ERROR_ILLEGAL_ADDRESS.

من المتوقع حدوث إصلاح في CUDA 9.1.121 في أواخر فبراير 2018. لا نتوقع أن يكون
إصلاح لـ CUDA 9.0.x. حتى يتوفر الإصلاح ، الحل الوحيد هو
الرجوع إلى إصدار CUDA 8.0.x
أو تعطيل XLA: GPU.

ربما واحدة من الليلي هل يفعل ذلك؟

حل آخر؟ هل يمكن للمرء تثبيت مراجعات متعددة لـ Cuda نظرًا لأن TF يبدو أنه يبحث عن مراجعات محددة؟ إذا كان الأمر كذلك ، أي نصيحة حول كيفية؟

من الناحية المثالية ، سأكون قادرًا على تشغيل TF 1.4 (والذي يتطلب حاليًا Cuda 8.0) في بيئة واحدة و TF 1.6 (والتي تتطلب حاليًا Cuda 9.0) في بيئة أخرى؟

لقد أضفت للتو sudo apt-get -y install cuda-toolkit-9.0 وأنا أقوم بتشغيل TF1.6

dartdog بعد تثبيت cuda-toolkit-9.0 ، هل واجهت المشكلة ImportError: libcudnn.so.7: cannot open shared object file: No such file or directory ؟

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

sudo apt-get install cuda-7-0
vim ~/.bashrc
export PATH=/usr/local/cuda-7.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda7.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
export PATH=/usr/local/cuda-9.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda9.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

من المفترض بالتأكيد أن يتم تضمين هذا في وثائق tensorflow ، كما قالbwesen. يجب أيضًا تضمينه في قائمة الأخطاء. هل من الممكن أن نفعل هذا بأي حال؟ أعتقد أنني سأفتح مشكلة جديدة ، أطلب إما إضافة دعم لـ cuda 9.1 ، أو أذكر أنك بحاجة إلى cuda 9.0 على وجه التحديد في المستندات ، وقم أيضًا بتضمين هذا في قائمة الأخطاء

حسنا يا رفاق. لقد فتحت الآن مشكلة جديدة على https://github.com/tensorflow/tensorflow/issues/17629.

كنت أتعامل مع هذه المشكلة أيضًا. ما الذي نجح معي مع Tensorflow-GPU 1.6:

  • لقد قمت بتنزيل مجموعة الأدوات من الأرشيف على أنها 9.0 ولكن تم تثبيتها على أنها 9.1 (لا أعرف لماذا ...)
  • لم يتم العثور على libcublas.so.9.0
  • تشغيل: sudo apt-get install cuda-libraries-9-0 كما هو مقترح في نهاية تعليمات التثبيت.
  • يبدو أن المشكلة قد تم حلها.

إذا كنت تريد أن يكون لديك tensorflow يعمل مع إصدار CUDA الخاص بك ، فأنت بحاجة إلى إلغاء تثبيته أولاً ثم تجميعه من المصدر وتحديد إصدار CUDA أثناء التشغيل.
يمكن العثور على معلومات مفصلة هنا: https://www.tensorflow.org/install/install_sources

أحاول هذا الرابط (الذي يبني Tensorflow يدويًا)

قد يستغرق وقتًا أطول ولكن يمكنك تحديد الإصدارات الثانوية بهذه الطريقة.

@ mldm4 في الواقع ، من sudo apt-get install cuda قد تم تثبيت 9.1 لك لأنه كان لديك أيضًا في نظامك. واجهت نفس المشكلة ، وقمت بعمل sudo apt-get install cuda-9-0 لتثبيت إصدار معين (قمت أيضًا بتنزيله من الأرشيف).
أعتقد أن الأمر الذي قمت به ( sudo apt-get install cuda-libraries-9-0 ) يقوم أيضًا بتنزيل cuda 9.0.
لم يتم حل هذه المشكلة ، كما ذكرت في الإصدار 17629 ، أعلم أن المشكلة هي أن TensorFlow تتوقع الإصدار 9.0 ، بينما كان لدي 9.1. تكمن المشكلة في ذكر ذلك بشكل أكثر وضوحًا في المستندات وإدراجه في مشكلات التثبيت الشائعة في أسفل المستندات ، أو تحديث tensorflow لقبول Cuda 9.1.

لذلك لا يوجد حل بعد؟

thread :

* يرجى قراءة المنشورات بعناية! *

مهمتك هي قراءة الموضوع واكتشاف الحل ؛ ليس مجرد التمرير حتى النهاية.

abrahamrhoffman هذا وقح.

لقد غيرت للتو حزمة Batchrc الخاصة بي من cuda-9.1 إلى مجرد cuda. إذن ، فإن Tensorflow الخاص بي قادر على العثور على libcublas.so.9.0

فقط لمعلوماتك: موقع nvidia لتنزيل cuda-9.0 هو في الواقع يقوم بتنزيل cuda-9.1. https://developer.nvidia.com/cuda-90-download-archive؟target_os=Linux&target_arch=x86_64&target_distro=Ubuntu&target_version=1604&target_type=deblocal

DanlanChen ربما يكون هذا بسبب تثبيت 9.1 أيضًا. لتثبيت 9.0 ، في خطوات التنزيل ، نفذ sudo apt-get install cuda-9-0 بدلاً من sudo apt-get install cuda .

@ cubetastic33 قمت بخفض إصدار tensorflow الخاص بي واستخدم cuda8.0 ، شكرًا لك على أي حال.

DanlanChen ولكن بعد ذلك ، أعتقد أنه من المفضل استخدام أحدث إصدار. لذا ، إذا أردت الترقية في أي وقت ، فأنت تعرف الآن ما يجب القيام به! :ابتسامة:

أواجه نفس المشكلة ، لكني أحاول تشغيل Tensorflow باستخدام nvidia-docker. لديّ cuda-9-0 مثبتًا على المضيف ، لكن عندما أحاول تشغيل حاوية الرصيف الخاصة بي أحصل عليها

ImportError: libcuda.so.1: cannot open shared object file: No such file or directory

@ magick93 وكل ما يحضر هنا!

يستمع! أي شيء تحتاجه هو تخفيض إصدار cuda 9.1 -> cuda 9.0. هذا هو! فقط قم بذلك (إذا قمت بتنزيل cuda 9.1 قبل ذلك ، يمكنك تنفيذ الأمر التالي في جهازك الطرفي):

sudo apt-get install cuda-9-0 وإزالة cuda 9.1 بواسطة rm -rf.

راجع للشغل ، لا تنس تغيير $ PATH في ~/.bashrc (9.1 -> 9.0).

مرحبا @ Oktai15

يستمع! أي شيء تحتاجه هو تخفيض إصدار cuda 9.1 -> cuda 9.0. هذا هو! افعل ذلك

نعم ، لقد فعلت هذا - مرات عديدة.

sudo apt-get install cuda-9-0
[sudo] password for anton: 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
cuda-9-0 is already the newest version (9.0.176-1).
0 upgraded, 0 newly installed, 0 to remove and 7 not upgraded.
$ ldconfig -p | grep cuda
    libnvrtc.so.9.0 (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnvrtc.so.9.0
    libnvrtc.so (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnvrtc.so
    libnvrtc-builtins.so.9.0 (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnvrtc-builtins.so.9.0
    libnvrtc-builtins.so (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnvrtc-builtins.so
    libnvgraph.so.9.0 (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnvgraph.so.9.0
    libnvgraph.so (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnvgraph.so
    libnvblas.so.9.0 (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnvblas.so.9.0
    libnvblas.so (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnvblas.so
    libnvToolsExt.so.1 (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnvToolsExt.so.1
    libnvToolsExt.so (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnvToolsExt.so
    libnpps.so.9.0 (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnpps.so.9.0
    libnpps.so (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnpps.so
    libnppitc.so.9.0 (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnppitc.so.9.0
    libnppitc.so (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnppitc.so
    libnppisu.so.9.0 (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnppisu.so.9.0
    libnppisu.so (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnppisu.so
    libnppist.so.9.0 (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnppist.so.9.0
    libnppist.so (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnppist.so
    libnppim.so.9.0 (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnppim.so.9.0
    libnppim.so (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnppim.so
    libnppig.so.9.0 (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnppig.so.9.0
    libnppig.so (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnppig.so
    libnppif.so.9.0 (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnppif.so.9.0
    libnppif.so (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnppif.so
    libnppidei.so.9.0 (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnppidei.so.9.0
    libnppidei.so (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnppidei.so
    libnppicom.so.9.0 (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnppicom.so.9.0
    libnppicom.so (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnppicom.so
    libnppicc.so.9.0 (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnppicc.so.9.0
    libnppicc.so (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnppicc.so
    libnppial.so.9.0 (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnppial.so.9.0
    libnppial.so (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnppial.so
    libnppc.so.9.0 (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnppc.so.9.0
    libnppc.so (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnppc.so
    libicudata.so.55 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libicudata.so.55
    libcusparse.so.9.0 (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libcusparse.so.9.0
    libcusparse.so (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libcusparse.so
    libcusolver.so.9.0 (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libcusolver.so.9.0
    libcusolver.so (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libcusolver.so
    libcurand.so.9.0 (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libcurand.so.9.0
    libcurand.so (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libcurand.so
    libcuinj64.so.9.0 (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libcuinj64.so.9.0
    libcuinj64.so (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libcuinj64.so
    libcufftw.so.9.0 (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libcufftw.so.9.0
    libcufftw.so (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libcufftw.so
    libcufft.so.9.0 (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libcufft.so.9.0
    libcufft.so (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libcufft.so
    libcudnn.so.7 (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libcudnn.so.7
    libcudart.so.9.0 (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libcudart.so.9.0
    libcudart.so.7.5 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libcudart.so.7.5
    libcudart.so (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libcudart.so
    libcudart.so (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libcudart.so
    libcuda.so.1 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libcuda.so.1
    libcuda.so (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libcuda.so
    libcublas.so.9.0 (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libcublas.so.9.0
    libcublas.so (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libcublas.so
    libaccinj64.so.9.0 (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libaccinj64.so.9.0
    libaccinj64.so (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libaccinj64.so
    libOpenCL.so.1 (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libOpenCL.so.1
    libOpenCL.so (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libOpenCL.so

ومع ذلك ، لا يمكنني حتى تشغيل هذا البرنامج النصي tensorflow البسيط ، حيث إنه ينتج عنه ImportError: No module named tensorflow.python.client

from tensorflow.python.client import device_lib

def get_available_gpus():
    local_device_protos = device_lib.list_local_devices()
    return [x.name for x in local_device_protos if x.device_type == 'GPU']

get_available_gpus()

واجهت نفس المشكلة التي يواجهها الجميع هنا ، وقد ساعدني تثبيت 9.0 ولكن بعد ذلك حصلت على مشكلات أخرى.
ثم تابعت هذا الأمر وأخيراً نجح معي.

@ Oktai15 ألا rm -rf ؟ يرجى أن تكون أكثر وضوحًا هنا ، لأن الأشخاص قد يحاولون ذلك دون الدخول إلى الدليل المطلوب ، وينتهي بهم الأمر بإفراغ مجلدهم الرئيسي.

@ magick93 يبدو أن مشكلتك شيء آخر ، وليس إصدار CUDA.

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

Ubuntu 16 ، cuda 9.0 ، cudnn 7.0 ، python 3،5 ، tensorflow 1.6

إذا قمت بتثبيت cuda جديد بينما لا يزال لديك الإصدار السابق ، يرجى التأكد من تحديد المسار مثل هذا

export PATH=/usr/local/cuda-9.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

Abduoit لا يهم إصدار أوبونتو الخاص بك حقًا. الشيء هو أن TensorFlow 1.6 تتوقع أن يكون CUDA هو الإصدار 9.0 ، وأن يكون cuDNN هو الإصدار 7.0.4 (نعم ، 0.4 _ المهام _ المسألة)

Traceback (آخر مكالمة أخيرة):
ملف "utils.py" ، سطر 15 ، بتنسيق
استيراد tensorflow مثل tf
ملف "/home/sagar/miniconda2/lib/python2.7/site-packages/tensorflow/__init__.py" ، السطر 24 ، في
من استيراد tensorflow.python *
ملف "/home/sagar/miniconda2/lib/python2.7/site-packages/tensorflow/python/__init__.py" ، السطر 49 ، في
من tensorflow.python استيراد pywrap_tensorflow
ملف "/home/sagar/miniconda2/lib/python2.7/site-packages/tensorflow/python/pywrap_tensorflow.py" ، السطر 74 ، في
رفع خطأ الاستيراد (رسالة)
ImportError: Traceback (آخر مكالمة الأخيرة):
ملف "/home/sagar/miniconda2/lib/python2.7/site-packages/tensorflow/python/pywrap_tensorflow.py" ، السطر 58 ، في
من tensorflow.python.pywrap_tensorflow_internal import *
ملف "/home/sagar/miniconda2/lib/python2.7/site-packages/tensorflow/python/pywrap_tensorflow_internal.py" ، السطر 28 ، في
_pywrap_tensorflow_internal = swig_import_helper ()
ملف "/home/sagar/miniconda2/lib/python2.7/site-packages/tensorflow/python/pywrap_tensorflow_internal.py" ، السطر 24 ، في swig_import_helper
_mod = imp.load_module ('_ pywrap_tensorflow_internal' ، fp ، اسم المسار ، الوصف)
ImportError: libcublas.so.9.0: لا يمكن فتح ملف كائن مشترك: لا يوجد مثل هذا الملف أو الدليل

فشل تحميل وقت تشغيل TensorFlow الأصلي.

راجع https://www.tensorflow.org/install/install_sources#common_installation_problems
sudo apt-get install cuda-7-0
فيم ~ /
تصدير PATH = / usr / local / cuda-7.0 / bin $ {PATH: +: $ {PATH}}
تصدير LD_LIBRARY_PATH = / usr / local / cuda7.0 / lib64 $ {LD_LIBRARY_PATH: +: $ {LD_LIBRARY_PATH}}
تصدير PATH = / usr / local / cuda-9.0 / bin $ {PATH: +: $ {PATH}}
تصدير LD_LIBRARY_PATH = / usr / local / cuda9.0 / lib64 $ {LD_LIBRARY_PATH: +: $ {LD_LIBRARY_PA
لبعض الأسباب والحلول الشائعة. قم بتضمين تتبع المكدس بالكامل
فوق رسالة الخطأ هذه عند طلب المساعدة.

كما ذكرت pascalwhoop ، فقد اتبعت التعليمات الواردة هنا http://www.python36.com/install-tensorflow141-gpu/ لإنشاء Tensorflow من المصدر.

كلما قال cuda 9.0 لقد غيرت إلى 9.1 ، و cudnn 7.0 أضع 7.1.2.

عملت بشكل جيد ، حتى الآن!

SAGGSOC لماذا تقوم بتثبيت الإصدار 7.0 من برنامج cuda؟ أنت بحاجة إلى CUDA 9.0 و CuDNN 7.0.4

كل شخص يواجه مشكلات: من الذي سيقوم بتحويل هذا إلى صورة عامل إرساء صلبة يتم مشاركتها مع المجتمع. بدلاً من ذلك ، قم بسحب صورة بحجم 6 غيغابايت بمجرد أن يعمل ذلك بدلاً من إصدارات DLing 5 من CuDNN قبل أن تعمل الأشياء ..

https://github.com/pascalwhoop/tf_openailab_gpu_docker

لقد بدأت منذ فترة لكنني توقفت بسبب تغيير تركيز المشروع. لكنني أعتقد أن الأمر يستحق المتابعة. يحافظ على المشكلة الكاملة في العثور على المجموعة الصحيحة من 17 جزءًا متحركًا بعيدًا عن معظم الأشخاص.

فقط لتوضيح بعض الأشياء لأي شخص قد يتعثر في هذا المنشور. لقد قمت بتثبيت cuda-8.0 و cuda-9.0 و cuda-9.1 في نظامي. ليس عليك إزالة أي شيء لجعله يعمل مع Tensorflow. بدلاً من ذلك ، إذا كنت تفتقد cuda-9.0 من نظامك ، كما أشار الآخرون بالفعل ، فستحتاج إلى تثبيته كشرط أساسي لـ tensorflow لكي يعمل بشكل صحيح.

إذا كان لديك cuda-9.0 مثبتًا على نظامك وكان Tensorflow يشكو من libcublas.so.9.0 مرة أخرى كما قال الآخرون فكشف ذلك أثناء وقت التشغيل من خلال متغير البيئة LD_LIBRARY_PATH في .bashrc اجعله أشر إلى /usr/local/cuda-9.0/lib64 . يجب أن يعمل هذا حتى مع Tensorflow 1.7.

ما حاولت وفشلت في تحقيقه هو البناء من المصدر. لسبب ما يخرج bazel دائمًا مع وجود خطأ. إذا حاولت البناء باستخدام cuda-9.0 / cuda-9.1 و cudnn7 ، فإنه يشكو من gcc7. يبدو أن استخدام التحويل البرمجي gcc5 يعمل بشكل جيد ولكن في النهاية أحصل دائمًا على خطأ ويكون الإنشاء غير ناجح.

سؤالي هو ما إذا كان أي شخص قد تمكن من التحويل البرمجي من المصدر باستخدام cuda-9.1 / cuda-9.0 دون مشاكل؟

نجح هذا بالنسبة لي:

قم بتنزيل CUDA Toolkit 9.0 من قسم الإصدارات السابقة من NVidia.
ثم:

sudo dpkg -i cuda-repo-ubuntu1604-9-0-local_9.0.176-1_amd64.deb
sudo apt-key add /var/cuda-repo-9-0-local/7fa2af80.pub 
sudo apt-get update
sudo apt-get install cuda-9.0

لاحظ 9.0 في السطر الأخير أعلاه.

export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64

الإعداد الخاص بي
Tensorflow 1.7.0 تحديث
cuDNN 7.1.2
نظام التشغيل Ubuntu 16.04.0

إتيميز ،
لدي نفس الإعداد وهو يعمل معي أيضًا.

شكرا لمشاركتك :)

كان لدي نفس الوضع. كان لدي cuda 9.1 ، ولن يجد Tensorflow مكتبات لـ cuda 9.0.

لقد قمت بتثبيت cuda 9.0 مع الأمر: sudo apt-get install cuda-libraries-9-0

هذا حل مشكلتي

مع تثبيت cuda 8 و 9.0 ، لا يعمل إعداد LD_LIBRARY_PATH في .bashrc و .profile . لذلك ، أضع
LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64 في مجال متغير البيئة pycharm وهو يعمل.

ما ورد أعلاه يعمل على التثبيت على Ubuntu Server 17. وبالتحديد ،

  • تثبيت cuda-9.0 (ليس 9.1)
  • cuDNN v7.1.2 (21 مارس 2018) لـ CUDA 9.0
  • كل شيء آخر وفقًا لتعليمات التثبيت الرسمية tf

أسهل بكثير من التجميع.

كن حذرا المستخدمين كوندا. لقد واجهت نفس المشكلة وكنت أخدش رأسي لمدة يومين ، حتى اكتشفت أخيرًا أن النسخة المحلية من libcudnn.so تم استخدامها بواسطة conda ، تحت:
/miniconda3/lib/libcudnn.so الذي يشير إلى libcudnn.so.7 الذي يشير إلى libcudnn.so.7.0.5
لا أتذكر من وكيف تم وضعها هناك ، لكنها إلى حد كبير أثقلت كاهل النظام الافتراضي libcudnn.so.7.1.2 !!!

بمجرد إزالته ، كل شيء يعمل مثل السحر:
tensorflow 1.7 أو 1.8-nightly ، cuda-9.1 ، cudnn-7.1.2 على أوبونتو 16.04

بطريقة ما ، قمت بحل هذا عن طريق تثبيت:
cuda 9.1 (من مدير الحزم) ،
cudnn 7.1 لـ 9.1
ومن اناكوندا:
باستخدام هذا الأمر الافتراضي "conda install -c anaconda tensorflow-gpu"
كوداتولكيت 9.0 ،
تينسورفلو 1.7 ،
Tensorflow-GPU 1.7.0 تحديث

لقد استخدمت Antergos linux و GTX 1060 في جهاز الكمبيوتر الخاص بي. لقد نجحت أيضًا في دفتر ملاحظاتي (Xubuntu 18.04 ، GT 840m). في دفتر ملاحظاتي ، استخدمت:
cuda 9.1 (من nvidia ppa) ، cudnn 7.1 لـ 9.1 (من nvidia web) ، والباقي كان هو نفسه

Suananda شكرا! إنه يعمل كالسحر.

إذا كان لديك إصدار قديم من CUDA ، فقد يشير ارتباط المكتبة إلى المكتبة القديمة حتى إذا قمت بتثبيت CUDA الأحدث خاصة إذا قمت بتثبيته يدويًا. حاول حذف التثبيت القديم ، ثم sudo ldconfig لتحديث الروابط الديناميكية.

لا يوجد حل بعد !؟

بالنسبة لأي شخص قد يتعثر في هذا ، فقد قمت بإصدار عجلة مجتمعية من أحدث Tensorflow 1.8.0-rc1 تم تصميمه باستخدام cuda 9.1. يمكنك أن تجده هنا !

لقد وجدت أن السبب هو ldconf ، ldconfig هو أمر إدارة مكتبة الارتباط الديناميكي والغرض منه هو السماح باستخدام مكتبة الارتباط الديناميكي بواسطة النظام.

البحث ldconf الافتراضي فقط / lib و / usr / lib ، بالإضافة إلى ملف المكتبة ضمن الدليل المدرج في ملف التكوين / etc / ld. لذا. أسيوط.

لذلك كل هذا ناتج عن المكتبة الديناميكية لـ CUDA في مسار CUDA المثبت مثل: /path/cuda-9.0/lib64 أو /path/cuda-9.0/lib. (بالنسبة إلى eample ، تم تثبيت CUDA الخاص بي في /usr/local/cuda-9.0)

  1. إذا قمت بتثبيت دليل CUDA ، فبعد التثبيت ، يجب عليك إضافة مسار cuda / lib64 إلى ملف /etc/ld.so.conf
    sudo echo "/usr/local/cuda-9.0/lib64/" >> /etc/ld.so.conf
    ومن بعد
    sudo ldconfig

    بالطبع يمكنك إضافة دليل المسار مثل:
    vim /etc/ld.so.conf
    ثم أضف المسار '/usr/local/cuda-9.0/lib64' في النهاية.
    sudo ldconfig
    بعد العملية ، إعادة فتح ipython أو pycharm ،
    استيراد tensorflow مثل tf
    واو ، سوف تستمتع به!

  2. إذا قمت بتثبيت CUDA بأمر مثل "dpkg -i cuda-repo-ubuntu1604_9.0.176-1_amd64.deb" أو غيرها ، فقد يضيف مسار cuda lib إلى /etc/ld.so.conf تلقائيًا. ولكن لكي تكون في الجانب الآمن ، تحقق من /etc/ld.so.conf ومعرفة ما إذا كان المسار يضيف إليه.

تضمين التغريدة
على Ubuntu ، يوجد ملف /etc/ld.so.conf.d/cuda-9-1.conf يحتوي على:
/usr/local/cuda-9.1/targets/x86_64-linux/lib

هل هذا كافٍ أم أحتاج إلى إضافة الدليل /usr/local/cuda-9.1/lib64/ إليه؟

تضمين التغريدة
يجب عليك إضافة المسار /usr/local/cuda-9.1/lib64/ إليه , الملفات *. لذا فهي موجودة في lib64

sudo bash -c "echo /usr/local/cuda/lib64/ >/etc/ld.so.conf.d/cuda.conf"
sudo ldconfig

من https://gist.github.com/zhanwenchen/e520767a409325d9961072f666815bb8

mashu حسنًا ، الخيار الآخر هو أن المجتمع يوفر عجلات مسبقة الصنع. إذا قرأت 2-3 سلاسل أعلاه ، فسترى أيضًا ذلك مذكورًا مرة أخرى.

Suananda شكرًا ، إنه يعمل بالنسبة لي في بيئة كوندا Tensorflow.
اقترح على اللاعبين الرسميين تعديل دليل التثبيت " https://www.tensorflow.org/install/install_linux#InstallingAnaconda " ، الخطوة 4 من تثبيت Anaconda ، من "تثبيت Pip - تثبيت غير مؤكد - ترقية tfBinaryURL" إلى "conda تثبيت -c anaconda tensorflow-gpu "

يبدو أن Softlink لم يحل هذه المشكلة:

➜  cuda ls lib64 
libaccinj64.so                libcufftw_static.a     libnppial.so.9.2      libnppig_static.a    libnvblas.so.9.2
libaccinj64.so.9.2            libcuinj64.so          libnppial.so.9.2.88   libnppim.so          libnvblas.so.9.2.88
libaccinj64.so.9.2.88         libcuinj64.so.9.2      libnppial_static.a    libnppim.so.9.2      libnvgraph.so
libcublas_device.a            libcuinj64.so.9.2.88   libnppicc.so          libnppim.so.9.2.88   libnvgraph.so.9.2
libcublas.so                  libculibos.a           libnppicc.so.9.2      libnppim_static.a    libnvgraph.so.9.2.88
libcublas.so.9.0              libcurand.so           libnppicc.so.9.2.88   libnppist.so         libnvgraph_static.a
libcublas.so.9.2              libcurand.so.9.2       libnppicc_static.a    libnppist.so.9.2     libnvrtc-builtins.so
libcublas.so.9.2.88           libcurand.so.9.2.88    libnppicom.so         libnppist.so.9.2.88  libnvrtc-builtins.so.9.2
libcublas_static.a            libcurand_static.a     libnppicom.so.9.2     libnppist_static.a   libnvrtc-builtins.so.9.2.88
libcudadevrt.a                libcusolver.so         libnppicom.so.9.2.88  libnppisu.so         libnvrtc.so
libcudart.so                  libcusolver.so.9.2     libnppicom_static.a   libnppisu.so.9.2     libnvrtc.so.9.2
libcudart.so.9.2              libcusolver.so.9.2.88  libnppidei.so         libnppisu.so.9.2.88  libnvrtc.so.9.2.88
libcudart.so.9.2.88           libcusolver_static.a   libnppidei.so.9.2     libnppisu_static.a   libnvToolsExt.so
libcudart_static.a            libcusparse.so         libnppidei.so.9.2.88  libnppitc.so         libnvToolsExt.so.1
libcufft.so                   libcusparse.so.9.2     libnppidei_static.a   libnppitc.so.9.2     libnvToolsExt.so.1.0.0
libcufft.so.9.2               libcusparse.so.9.2.88  libnppif.so           libnppitc.so.9.2.88  libOpenCL.so
libcufft.so.9.2.88            libcusparse_static.a   libnppif.so.9.2       libnppitc_static.a   libOpenCL.so.1
libcufft_static.a             libnppc.so             libnppif.so.9.2.88    libnpps.so           libOpenCL.so.1.0
libcufft_static_nocallback.a  libnppc.so.9.2         libnppif_static.a     libnpps.so.9.2       libOpenCL.so.1.0.0
libcufftw.so                  libnppc.so.9.2.88      libnppig.so           libnpps.so.9.2.88    stubs
libcufftw.so.9.2              libnppc_static.a       libnppig.so.9.2       libnpps_static.a
libcufftw.so.9.2.88           libnppial.so           libnppig.so.9.2.88    libnvblas.so

مازال يملك:

Traceback (most recent call last):
  File "/usr/local/lib/python3.6/dist-packages/tensorflow/python/pywrap_tensorflow.py", line 58, in <module>
    from tensorflow.python.pywrap_tensorflow_internal import *
  File "/usr/local/lib/python3.6/dist-packages/tensorflow/python/pywrap_tensorflow_internal.py", line 28, in <module>
    _pywrap_tensorflow_internal = swig_import_helper()
  File "/usr/local/lib/python3.6/dist-packages/tensorflow/python/pywrap_tensorflow_internal.py", line 24, in swig_import_helper
    _mod = imp.load_module('_pywrap_tensorflow_internal', fp, pathname, description)
  File "/usr/lib/python3.6/imp.py", line 243, in load_module
    return load_dynamic(name, filename, file)
  File "/usr/lib/python3.6/imp.py", line 343, in load_dynamic
    return _load(spec)
ImportError: libcublas.so.9.0: cannot open shared object file: No such file or directory

During handling of the above exception, another exception occurred:

عندما أقوم بتشغيل الكود الخاص بي على بيئة لينكس مباشرة ، كل شيء على ما يرام. لكن عندما أركض على pycharm المحلي من خلال المترجم البعيد ، واجهت المشكلة: ImportError: libcublas.so.9.0: cannot open shared object file: No such file or directory. "Failed to load the native TensorFlow runtime."

تصدير PATH = $ {PATH}: / usr / local / cuda-9.0 / bin
تصدير CUDA_HOME = $ {CUDA_HOME}: / usr / local / cuda: /usr/local/cuda-9.0
تصدير LD_LIBRARY_PATH = $ {LD_LIBRARY_PATH}: / usr / local / cuda-9.0 / lib64
تصدير LD_LIBRARY_PATH = $ LD_LIBRARY_PATH: / usr / local / cuda / extras / CUPTI / lib64

إذا استخدم pycharm - أضفه إلى المترجم الفوري

ماذا عن f ** أريد فقط استخدام tensorflow1.8 و cuda9.1؟

@ dongzhuoyao فما هي المشكلة؟ انظر إلى تعليقي 6 مواضيع أعلاه وستجد الحل الخاص بك هناك!

أعتقد أن المشكلة قد ظهرت مرة أخرى مع cuda 9.2 و tensorflow-gpu 1.8 . في Virtualenv ، أحصل على:

>>> import tensorflow as tf
ImportError: libcublas.so.9.0: cannot open shared object file: No such file or directory

يحتوي مجلد /usr/local/cuda-9.2/lib64 على libcublas التالية:

$ ls /usr/local/cuda-9.2/lib64 | grep libcublas
libcublas_device.a
libcublas.so
libcublas.so.9.2
libcublas.so.9.2.113
libcublas.so.9.2.88
libcublas_static.a

الإصدارات:

Ubuntu 16.04
cuda 9.2
cudnn 7.1.4
tensorflow-gpu 1.8.0

سنحتاج إلى تحديث لـ tensorflow-gpu لاستخدام cuda 9.2.

أيضًا ، إذا كنت سأقوم بالرجوع إلى الإصدار 9.0 من cuda ، فهل سيتعين علي أولاً إزالة cuda 9.2 أو تثبيت 9.0 على الفور؟ هل سيكون لدي تركيبات متضاربة؟

mebble هنا تذهب: الارتباط . هذه عجلة tf 1.8 لـ cuda 9.2.

إذا كنت سأقوم بالرجوع إلى إصدار cuda 9.0 ، فسيتعين علي أولاً إزالة cuda 9.2

لا تقلل. قم بتثبيت أي إصدار آخر تريده سيتم تثبيته على /usr/local/cuda-x.x

شكرا! لقد نسيت أن أذكر أنني استخدم python 3.5.2 و pip 10.0.1 . أعتقد أن العجلة مخصصة لبيثون 3.6 لذا لا يعمل التثبيت. هل لديك واحد مقابل 3.5 كذلك؟

@ kirk86 بعد تثبيت whl الذي أعطيته يلقي خطأ مماثل لـ libmpi.so.40
أنا على CentOS و K80 GPU و cuda 9.2 و cudnn v7.1

اقتراح

بقدر ما أعرف ، يمكنك الحصول على حزم فرعية xxx ، yyy ، zzz إلخ .. وتثبيتها على النحو التالي

pip install mainpackage[xxx]

بهذه الطريقة يمكن توفير نهايات خلفية مختلفة موجودة. يمكن إنشاء Tensorflow بخيارات مختلفة ، لذلك يمكن توفير اثنين على الأقل من تصميمات مجموعة أدوات cuda بهذه الطريقة.

بيت القصيد من الحزمة هو توفير وقت البناء ، ولكن بناء الحزم لمجموعة محددة جدًا من المكتبات التي يتم تثبيتها بشكل جيد ، ولكنها لا تعمل يؤدي إلى نتائج عكسية. سيكون من الأفضل عدم وجود مثل هذه الحزمة في المقام الأول.

mebble فقط قم بإنشاء بيئة افتراضية

@ pavan-08 قم بتثبيت openmpi على نظامك أيضًا nccl 2.x أيًا كان الأحدث من nvidia. لقد جمعت tf مع معظم الحزم والمكتبات ، لذا يمكن استخدامه hdfs ، kafta ، aws ، إلخ. لهذا السبب يسأل libmpi.so لأنه من مكتبة openmpi.

مع cuda 9.2 و tensorflow-gpu 1.8 ، لا يمكنني بناء Tensorflow

الناتج المعلن "external / local_config_cuda / cuda / cuda / lib / libcudnn.so.7" ارتباط رمزي متدلي

الارتباط الرمزي موجود

الإصدارات:

نظام التشغيل Ubuntu 17.10.1
كودا 9.2
cudnn 7.1.4
Tensorflow-GPU 1.8.0.0 تحديث

هذا يعمل بالنسبة لي (tensorflow-gpu == 1.8.0 وإصدار cuda هو 9.0 ، التثبيت في أناكوندا)

export LD_LIBRARY_PATH=LD_LIBRARY_PATH:/usr/local/cuda-9.0/lib64/

اقتراح من: https://stackoverflow.com/questions/48428415/importerror-libcublas-so-9-0-cannot-open-shared-object-file

Jackiexiao نعم ، هذا ما كنت سأقوله. أنا أستخدم محطة عمل ، لذلك كل ما احتجت إلى فعله هو استخدام CUDA 9.0 بدلاً من 9.2 (حيث تم تثبيت إصدارات متعددة من CUDA)

نجح هذا بالنسبة لي:
نظرًا لأن Tensorflow> 1.4 يتطلب CUDA 9 ، فقد قمت بإلغاء تثبيت جميع إصدارات CUDA:

  1. sudo rm -rf / usr / local / cuda *
  2. dpkg -l | grep cuda- | awk '{print $ 2}' | xargs -n1 sudo dpkg --purge

قم بتثبيت CUDA 9.0 و CuDNN 7.0.x بشكل ممتاز وأعد التشغيل.

يرجى الرجوع إلى مجموعات CUDA و CuDNN و Tensorflow .

يحدث هذا الخطأ بشكل كبير بسبب مجموعات الإصدارات غير الصحيحة من Nvidia-driver و CUDA و CuDNN و Tensorflow-gpu
image

شكرا لك!

| |
杨康
|
|
邮箱[email protected]
|

签名 由 网易 邮箱 大师 定制

في 18/08/2018 08:00 ، كتب Dhruv Srivastava:

يرجى الرجوع إلى مجموعات CUDA و CuDNN.

يحدث هذا الخطأ بشكل كبير بسبب مجموعات الإصدارات غير الصحيحة من Nvidia-driver و CUDA و CuDNN و Tensorflow-gpu

-
أنت تتلقى هذا لأنك علقت.
قم بالرد على هذه الرسالة الإلكترونية مباشرةً ، أو اعرضها على GitHub ، أو قم بكتم صوت الموضوع.

تضمين التغريدة أعتقد أنه يجب على الناس تثبيت الإصدار الصحيح من tensorflow-gpu مع الإصدار الصحيح من cuda.

أنا على Ubuntu 18.08 ، وكان Cuda 9.0 مثبتًا على:

/usr/local/cuda-9.0

قررت البحث عن libcublas.so.9.0 :

# build search index
updatedb
# find the "missing" file
locate libcublas.so.9.0

أخبرني ذلك أن الملف كان في /usr/local/cuda-9.0/lib64/stubs/libcublas.so.9.0 ، مما ساعدني على إدراك أن لدي مشكلتين: في ~/.bash_profile قمت بتعيين: export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64/ ، لكن ملفي كان في stubs دليل

export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64/stubs/

أخيرًا ، كان libcublas.so.9.0 يمتلكه الجذر ، لذلك قمت بتغيير الأذونات ومالك الملف:

sudo chown -R MY_USER:MY_GROUP /usr/local/cuda-9.0/
sudo chmod -R 777 /usr/local/cuda-9.0/

وكان كل شيء على ما يرام!

مع تثبيت cuda 8 و 9.0 ، لا يعمل إعداد LD_LIBRARY_PATH في .bashrc و .profile . لذلك ، أضع
LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64 في مجال متغير البيئة pycharm وهو يعمل.

بالضبط ، شكرًا جزيلاً على حل المشكلة ، لقد أمضيت أيامًا لحل هذه المشكلة. نقدر حقا ماتي

أواجه هذه المشكلة أيضًا عندما أستخدم PyCharm لتصحيح أخطاء الكود الخاص بي في الخادم البعيد (aws deep learning ami). إصدار cuda هو 9.0 و cudnn هو 7.1.4 و Tensorflow هو 1.10.0 (لوحدة معالجة الرسومات). يمكنني استيراد tensorflow بشكل طبيعي عن طريق المحطة المتصلة بالخادم الخاص بي ولكنني أفشل في استيراد tensorflow في وحدة تحكم Python في PyCharm. المشكلة تحدث في هذا الوقت. لذلك ، لا يمكنني التصحيح باستخدام PyCharm ...
الحل الخاص بي هو : إدخال هذا الخط في Terminal بعد الاتصال بالخادم الخاص بك

sudo ldconfig /usr/local/cuda/lib64

وقد أشرت إلى هذا الرابط

NYcleaner شكرا جزيلا! تساعد! ووجدت فقط استخدام رابط رمزي يعمل أيضًا.
sudo echo "/ usr / local / cuda / lib64 /" >> /etc/ld.so.conf
سودو لدكونفيغ

لا تزال هذه مشكلة في Cuda 9.1 و Tensorflow 1.11

برنامج cuda 10.0 Tensorflow 1.11.0

حل أفضل - إزالة Tensorflow ، تثبيت pytorch
لماذا يمكن لـ Tensorflow الفرامل بسهولة؟
لماذا لا يمكنني فقط تثبيته وتشغيله؟
لماذا هو سهل للغاية مع pytorch ولا يمكن التنبؤ به مع tf؟ وتف هو الخطأ في ذلك؟

لماذا لا تقوم فقط بتثبيت cuda-9-0؟

sudo dpkg -i cuda-repo-ubuntu1604_9.0.176-1_amd64.deb
sudo apt-key adv --fetch-keys \
     http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/7fa2af80.pub
sudo apt-get update
sudo apt-get install cuda-9-0

تحت ubuntu 18.04 cuda 9-0 ليس متاحًا (رسميًا). إنه يعمل ، رغم ذلك.

أهلا بكم،
أنا أستخدم PyTorch قدر الإمكان ، ولكن بالنسبة لمشروع معين حيث أحتاج إلى تصدير نموذج (Keras) إلى tensorflowjs ، فأنا مجبر على استخدام tf. الحل الوحيد الذي نجح بالنسبة لي هو البناء من المصدر ، بعد تثبيت CUDA من الأكوان المتعددة Ubuntu ، كما هو موضح هنا:

https://medium.com/@asmello/how -to-install-tensorflow-cuda-9-1-in-ubuntu-18-04-b645e769f01d

فرصة بون!

حل أفضل - إزالة Tensorflow ، تثبيت pytorch
لماذا يمكن لـ Tensorflow الفرامل بسهولة؟
لماذا لا يمكنني فقط تثبيته وتشغيله؟
لماذا هو سهل للغاية مع pytorch ولا يمكن التنبؤ به مع tf؟ وتف هو الخطأ في ذلك؟

حل غبي

لقد قمت بتثبيت Cuda 10 وأحدث إصدار من Tensor Flow ، لكنني تلقيت ImportError: libcublas.so.9.0: cannot open shared object file: No such file or directory ، لقد قمت بالرجوع إلى إصدار أقدم وما زلت أتلقى هذه الرسالة ...

لقد قمت بتثبيت Cuda 10 وأحدث إصدار من Tensor Flow ، لكنني تلقيت ImportError: libcublas.so.9.0: cannot open shared object file: No such file or directory ، لقد قمت بالرجوع إلى إصدار أقدم وما زلت أتلقى هذه الرسالة ...

هل يمكنك إخبارنا بإصدار نظام التشغيل والأمر الدقيق الذي أصدرته لـ "الرجوع إلى إصدار أقدم"؟

جربت Deepin 15.8 و Mint 19.1 ، سأختبر Windows 10 لاحقًا. الأمر pip install --upgrade tensorflow-gpu==version ، جربت الإصدارات الرئيسية : 1.9.0 و 1.10.1 و 1.11.0 و 1.12.0. إصدار cuda وبرامج التشغيل:

image

Sphinxs ، في رأيي ، لديك طريقتان: أ) لإعادة تجميع عجلة بيثون محليًا بحيث تشير إلى إصدار cuda المثبت أو ب) تثبيت cuda-9.0 كما فعلت في تثبيت 18.04 ولا يزال يعمل بعد شهور.

حل أفضل - إزالة Tensorflow ، تثبيت pytorch
لماذا يمكن لـ Tensorflow الفرامل بسهولة؟
لماذا لا يمكنني فقط تثبيته وتشغيله؟
لماذا هو سهل للغاية مع pytorch ولا يمكن التنبؤ به مع tf؟ وتف هو الخطأ في ذلك؟

لقد حصل الرجل على نقطة. يمكن تجميع TF للعمل مع إصدارات CUDA الأكثر حداثة ... لماذا لا نقدم ذلك فقط لمعظم الأشخاص الذين لديهم حزمة tensorflow-gpu-cuda110 أو شيء مؤقت حتى تتمكن المكتبة من اكتشاف إصدار cuda الأساسي بشكل ديناميكي؟

حل أفضل - إزالة Tensorflow ، تثبيت pytorch
لماذا يمكن لـ Tensorflow الفرامل بسهولة؟
لماذا لا يمكنني فقط تثبيته وتشغيله؟
لماذا هو سهل للغاية مع pytorch ولا يمكن التنبؤ به مع tf؟ وتف هو الخطأ في ذلك؟

أنا مريض منه!!!!

أنا مريض منه!!!!

هذا التعليق لا يضيف أي شيء لهذه القضية. أيضًا ، لا أحد يجبر أي شخص على استخدام TF ، ولكن إذا كنت بحاجة فعلاً إلى تشغيل حزم النقاط ولا يمكنك تشغيلها ، فلماذا لا تقوم ببنائها بنفسك؟ هذا ما انتهى بي الأمر به في مرحلة ما. رأيت أن هناك أيضًا بنى مدعومة من المجتمع هنا
https://github.com/tensorflow/tensorflow فقط قم بالتمرير لأسفل.
ربما تبني لوحدة معالجة الرسومات الخاصة بك وتساهم؟

حل أفضل - إزالة Tensorflow ، تثبيت pytorch
لماذا يمكن لـ Tensorflow الفرامل بسهولة؟
لماذا لا يمكنني فقط تثبيته وتشغيله؟
لماذا هو سهل للغاية مع pytorch ولا يمكن التنبؤ به مع tf؟ وتف هو الخطأ في ذلك؟

أنا مريض منه!!!!

هذه صفحة قضية. من فضلك ، اذكر مشاكلك حتى يمكن إصلاحها ، أو حتى المساعدة في حلها بشكل أفضل.

raphaunix هل لي أن أسأل من أين يأتي هذا المخطط؟

حصلت على Tensorflow 1.11.0 يعمل عن طريق تشغيل الأوامر التالية:

conda create -n tf python=2
conda activate tf
pip install tensorflow-gpu==1.11
conda install cudatoolkit==9.0

لقد وجدت أن السبب هو ldconf ، ldconfig هو أمر إدارة مكتبة الارتباط الديناميكي والغرض منه هو السماح باستخدام مكتبة الارتباط الديناميكي بواسطة النظام.

البحث ldconf الافتراضي فقط / lib و / usr / lib ، بالإضافة إلى ملف المكتبة ضمن الدليل المدرج في ملف التكوين / etc / ld. لذا. أسيوط.

لذلك كل هذا ناتج عن المكتبة الديناميكية لـ CUDA في مسار CUDA المثبت مثل: /path/cuda-9.0/lib64 أو /path/cuda-9.0/lib. (على سبيل المثال ، تم تثبيت CUDA الخاص بي في /usr/local/cuda-9.0)

1.إذا قمت بتثبيت دليل CUDA ، فبعد التثبيت ، يجب عليك إضافة مسار cuda / lib64 إلى ملف /etc/ld.so.conf
sudo echo "/usr/local/cuda-9.0/lib64/" >> /etc/ld.so.conf
ومن بعد
sudo ldconfig
بالطبع يمكنك إضافة دليل المسار مثل:
vim /etc/ld.so.conf
ثم أضف المسار "/usr/local/cuda-9.0" في النهاية.
ثم قم بتحديثه
sudo ldconfig
بعد العملية ، إعادة فتح ipython أو pycharm ،
import tensorflow as tf
واو ، سوف تستمتع به!

إذا قمت بتثبيت CUDA بأمر مثل "dpkg -i cuda-repo-ubuntu1604_9.0.176-1_amd64.deb" أو غيرها ، فقد يضيف مسار cuda lib إلى /etc/ld.so.conf تلقائيًا. ولكن لكي تكون في الجانب الآمن ، تحقق من /etc/ld.so.conf ومعرفة ما إذا كان المسار يضيف إليه.

jabalazs بدلاً من conda install cudatoolkit==9.0 حاولت pip install cudatoolkit==9.0 لكن هذا لم ينجح ، هل تعرف لماذا؟

لقد اكتشفت أن وقت التشغيل الخاص بي على colab لم يكن يستخدم وحدة معالجة الرسومات ، وهذا هو السبب في أنني تلقيت خطأي

حل أفضل - إزالة Tensorflow ، تثبيت pytorch
لماذا يمكن لـ Tensorflow الفرامل بسهولة؟
لماذا لا يمكنني فقط تثبيته وتشغيله؟
لماذا هو سهل للغاية مع pytorch ولا يمكن التنبؤ به مع tf؟ وتف هو الخطأ في ذلك؟

حل جيد @ dodler ! لكنني أعتقد أنك تفتقد الأوامر لجعل هذه النصيحة العظيمة سهلة المتابعة من خلال xD.

pip uninstall tensorflow
pip install torch

ترميز سعيد!

لقد واجهت نفس الخطأ أثناء محاولة استخدام Thundersvm لتسريع NuSVR باستخدام وحدات معالجة الرسومات على Google Colab.
أدى تثبيت Cuda 9.0 إلى حل المشكلة بالنسبة لي.
فقط اتبع:

!wget https://developer.nvidia.com/compute/cuda/9.0/Prod/local_installers/cuda-repo-ubuntu1704-9-0-local_9.0.176-1_amd64-deb

!ls # Check if required cuda 9.0 amd64-deb file is downloaded

!dpkg -i cuda-repo-ubuntu1704-9-0-local_9.0.176-1_amd64-deb

!ls /var/cuda-repo-9-0-local | grep .pub

!apt-key add /var/cuda-repo-9-0-local/7fa2af80.pub

!apt-get update

!sudo apt-get install cuda-9.0

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