Google Colaboratory ImportError: libcublas.so.10.0: cannot open shared object file: No such file or
Posted
技术标签:
【中文标题】Google Colaboratory ImportError: libcublas.so.10.0: cannot open shared object file: No such file or directory when running【英文标题】: 【发布时间】:2020-04-10 10:39:28 【问题描述】:我正在关注这篇关于 Google Colaboratory 的 AI 农业的文章
https://medium.com/deepquestai/ai-in-agriculture-detecting-defects-in-apples-b246799b329c
运行python文件时会报错
!python apple_detection_training.py
ImportError: libcublas.so.10.0: cannot open shared object file: No such file or directory when running
!pip install tensorflow-gpu==1.13.1
!pip install keras
!pip install opencv-python
!pip install imageai --upgrade
!unzip apple_detection_dataset.zip
!python apple_detection_training.py
使用 TensorFlow 后端。 回溯(最近一次通话最后): 文件“/usr/local/lib/python3.6/dist-packages/tensorflow/python/pywrap_tensorflow.py”,第 58 行,在 从 tensorflow.python.pywrap_tensorflow_internal 导入 * 文件“/usr/local/lib/python3.6/dist-packages/tensorflow/python/pywrap_tensorflow_internal.py”,第 28 行,在 _pywrap_tensorflow_internal = swig_import_helper() 文件“/usr/local/lib/python3.6/dist-packages/tensorflow/python/pywrap_tensorflow_internal.py”,第 24 行,在 swig_import_helper _mod = imp.load_module('_pywrap_tensorflow_internal', fp, 路径名, 描述) 文件“/usr/lib/python3.6/imp.py”,第 243 行,在 load_module return load_dynamic(名称,文件名,文件) 文件“/usr/lib/python3.6/imp.py”,第 343 行,在 load_dynamic 返回_load(规格) ImportError:libcublas.so.10.0:无法打开共享对象文件:没有这样的文件或目录 在处理上述异常的过程中,又出现了一个异常: 回溯(最近一次通话最后): 文件“apple_detection_training.py”,第 1 行,在 从 imageai.Detection.Custom 导入 DetectionModelTrainer 文件“/usr/local/lib/python3.6/dist-packages/imageai/Detection/init.py”,第 2 行,在 从 imageai.Detection.keras_retinanet.models.resnet 导入 resnet50_retinanet 文件“/usr/local/lib/python3.6/dist-packages/imageai/Detection/keras_retinanet/models/resnet.py”,第 19 行,在 导入 keras 文件“/usr/local/lib/python3.6/dist-packages/keras/init.py”,第 3 行,在 从 。导入实用程序 文件“/usr/local/lib/python3.6/dist-packages/keras/utils/init.py”,第 6 行,在 从 。导入 conv_utils 文件“/usr/local/lib/python3.6/dist-packages/keras/utils/conv_utils.py”,第 9 行,在 from .. 将后端导入为 K 文件“/usr/local/lib/python3.6/dist-packages/keras/backend/init.py”,第 1 行,在 从 .load_backend 导入 epsilon 文件“/usr/local/lib/python3.6/dist-packages/keras/backend/load_backend.py”,第 89 行,在 从 .tensorflow_backend 导入 * 文件“/usr/local/lib/python3.6/dist-packages/keras/backend/tensorflow_backend.py”,第 5 行,在 将张量流导入为 tf 文件“/usr/local/lib/python3.6/dist-packages/tensorflow/init.py”,第 24 行,在 from tensorflow.python import pywrap_tensorflow # pylint: disable=unused-import 文件“/usr/local/lib/python3.6/dist-packages/tensorflow/python/init.py”,第 49 行,在 从 tensorflow.python 导入 pywrap_tensorflow 文件“/usr/local/lib/python3.6/dist-packages/tensorflow/python/pywrap_tensorflow.py”,第 74 行,在 引发 ImportError(味精) ImportError: Traceback (最近一次调用最后一次): 文件“/usr/local/lib/python3.6/dist-packages/tensorflow/python/pywrap_tensorflow.py”,第 58 行,在 从 tensorflow.python.pywrap_tensorflow_internal 导入 * 文件“/usr/local/lib/python3.6/dist-packages/tensorflow/python/pywrap_tensorflow_internal.py”,第 28 行,在 _pywrap_tensorflow_internal = swig_import_helper() 文件“/usr/local/lib/python3.6/dist-packages/tensorflow/python/pywrap_tensorflow_internal.py”,第 24 行,在 swig_import_helper _mod = imp.load_module('_pywrap_tensorflow_internal', fp, 路径名, 描述) 文件“/usr/lib/python3.6/imp.py”,第 243 行,在 load_module return load_dynamic(名称,文件名,文件) 文件“/usr/lib/python3.6/imp.py”,第 343 行,在 load_dynamic 返回_load(规格) ImportError:libcublas.so.10.0:无法打开共享对象文件:没有这样的文件或目录
无法加载原生 TensorFlow 运行时。
【问题讨论】:
【参考方案1】:更新:我错过了关于这个在 google colabs 上的部分。请参阅@Jakevdp 答案。
我将把这个答案留在这里,以防其他人碰巧在他们自己的机器上遇到这个问题。
让我们从您的错误开始。 tensorflow 需要libcublas.so.10.0
,但它要么未安装,要么位于意外位置(您的 python 脚本无权访问的位置)。 cublas
是 blas 线性代数例程的 NVIDIA cuda 实现,所以如果你没有 NVIDIA 显卡,使用它没有意义,你应该切换到非 gpu tensorflow。
否则,请确保您拥有所有 dependencies listed here(NVIDIA 驱动程序、CUDNN、CUDA 工具包),并且您已将 LD_LIBRARY_PATH
设置为包含 CUPTI
位置(在参考文献中列为 @987654326 @. 有了所有这些部分,您应该能够!pip install tensorflow-gpu
并让一切正常运行。
启动和运行 GPU 加速可能会很痛苦,尤其是在您不习惯处理库文件的情况下。如果您想使用 Enthought 的 conda
程序进行安装,而不是按照上面的说明进行安装,我相信他们会将相关的 cuda
库作为软件包的一部分提供。
为了让事情正常运行,您可以尝试
!pip uninstall tensorflow-gpu
!pip install tensorflow
!pip install keras
!pip install opencv-python
!pip install imageai --upgrade
!unzip apple_detection_dataset.zip
!python apple_detection_training.py
仅在 CPU 上运行学习模型。
【讨论】:
【参考方案2】:cublas 库在 Colab 的 CPU 运行时中不可用,但在 GPU 运行时中可用。您应该更改为 GPU 运行时(Runtime->Change Runtime Type 并选择 Hardware Accelerator->GPU),然后再次尝试您的脚本。
【讨论】:
以上是关于Google Colaboratory ImportError: libcublas.so.10.0: cannot open shared object file: No such file or 的主要内容,如果未能解决你的问题,请参考以下文章
使用本地 GPU 的 Google Colaboratory 本地运行时
Colaboratory:我可以访问我的 Google 云端硬盘文件夹和文件吗?
使用 Google 的 Colaboratory,每次打开文档时都需要安装软件包吗?