Abi*_*vam 6 python cuda gpu amazon-web-services theano
我试图在aws实例中导入theano库以使用GPU.我已经编写了一个使用boto自动化aws设置的python脚本,它本质上是从我的本地机器对该实例执行ssh,然后启动一个bash脚本,我在其中执行" python -c'import theano'"来启动GPU.但是我收到以下错误:
错误(theano.sandbox.cuda):无法编译cuda_ndarray.cu:libcublas.so.7.5:无法打开共享对象文件:没有这样的文件或目录
当我尝试直接在实例命令shell中导入theano模块时,它会自动开始使用GPU.
使用gpu设备0:GRID K520(禁用CNMeM)
我想我错过了通过我的自动化python脚本导入时必须进行的其他一些导入.什么可能是解决方案?
我将尝试清楚简洁地解决这个问题,因为我发现对于那些开始使用unix或者不熟悉编译和链接的人来说不是很好的答案.
问题与动态链接有关,可以通过两种方式解决.第一个是通过设置LD_LIBRARY_PATH环境变量.假设cuda安装在/ usr/local/cuda /中,只需在您的环境文件/ etc/enviroment中添加:
LD_LIBRARY_PATH=/usr/local/cuda/
Run Code Online (Sandbox Code Playgroud)
或者只是在你的bashrc中:
export LD_LIBRARY_PATH=/usr/local/cuda/lib64/
Run Code Online (Sandbox Code Playgroud)
这个解决方案不是由unix大师推荐的(我不是我刚刚在互联网上读过的,我跟随linux大师).所以我发现的解决方案很简单,默认情况下修改linux ld软件搜索库的路径.要做到这一点(你必须以root身份):
cd /etc/ld.so.conf.d/
Run Code Online (Sandbox Code Playgroud)
然后选择例如并编辑:
vi libc.conf
Run Code Online (Sandbox Code Playgroud)
在这个文件里面只需添加lib64根的路径,如:
/usr/local/cuda/lib64/
Run Code Online (Sandbox Code Playgroud)
你会在文件中得到这样的东西:
\# libc default configuration
/usr/local/lib
/usr/local/cuda/lib64/
Run Code Online (Sandbox Code Playgroud)
然后运行:
sudo ldconfig
Run Code Online (Sandbox Code Playgroud)
希望这个答案可以帮助那些开始看编程的人,或者使用高级语言,比如下面使用C代码的python(比如theano),并且不熟悉编译,链接......
| 归档时间: |
|
| 查看次数: |
9269 次 |
| 最近记录: |