RuntimeError: CUDA Environment Is Not Correctly Set Up

原文链接:周亨仓库 (Chainer with CUDA)

Mac 环境下使用 Chainer + GPU

OS X Yosemite + GPU 运行时报错如下。

>>> from chainer import cuda

>>> cuda.init()

Traceback (most recent call last):

File "<stdin>", line 1, in <module>

File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/chainer/cuda.py", line 69, in init

check_cuda_available()

File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/chainer/cuda.py", line 82, in check_cuda_available

raise RuntimeError(msg)

RuntimeError: CUDA environment is not correctly set up (see GitHub - pfnet/chainer: A flexible framework of neural networks for deep learning).dlopen(/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/cupy/core/core.so, 2): Library not loaded: @rpath/libcublas.7.5.dylib

Referenced from: /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/cupy/core/core.so

Reason: image not found

环境

  • Os X 10.10.5 (Yosemite)
  • NVIDIA GeForce GT 750M
  • Python 2.7.11
  • Chainer 1.8.1
  • CUDA 7.5
  • cuDNN v3

准备

在 Mac OS X 上进行示范,操作系统是 Yosemite 10.10.5, Ubuntu 系统的操作过程也类似的。

首先是 Chainer 的安装。

$ pip install chainer

如果不使用 GPU 的话,这样就可以了。

如果需要使用 GPU 进行运算的话,必须安装 CUDA。

Mac 正式版安装在这里 => https://developer.nvidia.com/cuda-downloads 可以下载。

CUDA 的安装这里就不赘述了。

CUDA 解决方案

  • 在 ~/.bash_profile 里写入
#for Cuda

export CUDA_ROOT=/Developer/NVIDIA/CUDA-7.5/

export PATH=$PATH:/Developer/NVIDIA/CUDA-7.5/bin

export LD_LIBRARY_PATH=/Developer/NVIDIA/CUDA-7.5/lib:/usr/local/cuda/lib/:$LD_LIBRARY_PATH

export CPATH=$CPATH:/Developer/NVIDIA/CUDA-7.5/include

export CUDA_INC_DIR=/Developer/NVIDIA/CUDA-7.5/bin:$CUDA_INC_DIR

export DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH:/Developer/NVIDIA/CUDA-7.5/lib

  • 其中这条路径
export LD_LIBRARY_PATH=/Developer/NVIDIA/CUDA-7.5/lib:/usr/local/cuda/lib/:$LD_LIBRARY_PATH

在这条 Issue: Chainer Connection to GPU Issue on Mac #652 可以找到出处。

  • 安装依赖环境
$ pip install chainer-cuda-deps

安装及使用 cuDNN

Chainer 现在还**不支持**最新的 cuDNN **v5** 版本。

这里以 cuDNN **v3** 示范。

  1. 如果没安装的话,安装 Mac Os Command Line Tools。
$ xcode-select --install

2. 检查一下 CUDA 的版本和路径 (如果还没安装 CUDA,请参照上文安装)。

$ /usr/local/cuda/bin/nvcc --version

# Cuda compilation tools, release 7.0, V7.0.27

$ export DYLD_LIBRARY_PATH=/usr/local/cuda/lib

3. 下载安装 cuDNN (如果安装了就忽略这一步)

$ wget http://developer.download.nvidia.com/assets/cuda/secure/cuDNN/v3/cudnn-7.0-osx-x64-v3.0-prod.tgz?autho=1461944459_fdf5f49c8d930ce22d43776c7ecc6aa1&file=cudnn-7.0-osx-x64-v3.0-prod.tgz

$ tar xvzf cudnn-3.0-osx-x64-v3.0-prod.tgz

$ rm cudnn-3.0-osx-x64-v3.0-prod.tgz

$ cd cuda

$ sudo cp cudnn.h /Developer/NVIDIA/CUDA-7.5/include/

$ sudo cp libcudnn* /usr/local/cuda/lib/


重装 Chainer

如果你现在检查你的 Chainer with CUDA 可能会不可用,并且提醒你需要重新安装 Chainer。

以下是安装与卸载的所有需要用到的命令行

$ pip uninstall chainer

$ pip uninstall chainer-cuda-deps

$ pip install --user --upgrade chainer

$ pip install --user --upgrade chainer-cuda-deps

  • 首先我们需要卸载所有 Chainer 及其依赖的环境
$ pip uninstall chainer

$ pip uninstall chainer-cuda-dpes

  • 然后重新安装
$ pip install --user -upgrade chainer

$ pip install --user -upgrade chainer-cuda-deps

完成~

现在你可以检查是否可用了

$ python



>>> from chainer import cuda

>>> cuda.init()


    原文作者:卢周亨
    原文地址: https://zhuanlan.zhihu.com/p/20825832
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞