赞
踩
使用非sudo账号登录linux服务器使用GPU+Keras训练,无法run起来。
2022-07-22 01:29:00.379530: W tensorflow/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'libcudart.so.11.0'; dlerror: libcudart.so.11.0: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: “/usr/local/cuda/lib64:/usr/local/cuda-10.0/lib64:/usr/local/cuda/extras/CPUTI/lib64”
2022-07-22 01:29:00.379581: I tensorflow/stream_executor/cuda/cudart_stub.cc:29] Ignore above cudart dlerror if you do not have a GPU set up on your machine.
无法调用相应的CUDA
tensorflow和keras和cuda版本不匹配
具体来说
cuda有两种,分别用于支持driver API的必要文件(如libcuda.so)是由GPU driver installer安装的。nvidia-smi就属于这一类API。
用于支持runtime API的必要文件(如libcudart.so以及nvcc)是由CUDA Toolkit installer安装的。(CUDA Toolkit Installer有时可能会集成了GPU driver Installer)。nvcc是与CUDA Toolkit一起安装的CUDA compiler-driver tool,它只知道它自身构建时的CUDA runtime版本。它不知道安装了什么版本的GPU driver,甚至不知道是否安装了GPU driver。
综上,如果driver API和runtime API的CUDA版本不一致可能是因为你使用的是单独的GPU driver installer,而不是CUDA Toolkit installer里的GPU driver installer。
runtime和driver API区别
runtime和driver API在很多情况非常相似,也就是说用起来的效果是等价的,但是你不能混合使用这两个API,因为二者是互斥的。也就是说在开发过程中,你只能选择其中一种API。简单理解二者的区别就是:runtime是更高级的封装,开发人员用起来更方便,而driver API更接近底层,速度可能会更快。
与cuda相对应的,还有个,cudnn,cudnn是一个为深度学习计算设计的软件库,提供对应的计算函数,如卷积等,还有很多其他的软件库和中间件,包括实现c++ STL的thrust、实现快速傅里叶变换的cuFFT、实现gpu版本blas的cublas、实现稀疏矩阵运算操作的cuSparse、实现深度学习网络加速的cuDNN等等
根据cuda文件下的cuda版本安装对应的tensorflow-gpu,由于没有sudo权限,无法修改cuda文件夹中的内种,因此需要优先迁就cuda版本。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。