ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Pycharm中启动Tensorflow项目找不到libcudart.so.10.1

2022-05-10 00:03:28  阅读:200  来源: 互联网

标签:Tensorflow libcudart so.10 Terminal cuda PyCharm GPU Pycharm CUDA


一、开发环境

操作系统:Ubuntu 18.04 LTS

显卡:NVIDIA RTX 2080 Super

显卡驱动:专有驱动450.142.00

CUDA:10.2

PyCharm版本:2020.2.5

二、问题描述

最近在GitHub上闲逛,Git了一个YOLOv3目标检测的项目。

Git下来并且配置好环境开始运行,发现TensorFlow找不到动态库libcudart.so.10.1。

开始能够想到的原因是我在本地安装的CUDA版本是10.2,项目的Tensorflow版本是2.1.0,两者可能不适配。

我首先尝试在COCO数据集上运行模型训练算法,发现是可以运行的,只是训练的速度实在有点慢。

看了下输出信息,发现TensorFlow没有找到物理GPU。

我继续在Pycharm的Python Console上面测试Tensorflow能否找到GPU:

import tensorflow as tf
print(tf.test.is_gpu_available())

结果显示False,的确这里的TensorFlow2.1.0没有找到GPU。

于是我将原来的CUDA卸载,重新安装了10.1版本,并且安装了对应的cuDNN。

通过Anaconda创建了新的虚拟环境,安装了Tensorflow2.1.0。

在新的虚拟环境下通过系统的Terminal打开Python,测试了刚才的Python代码。

发现Tesorflow是可以找到物理GPU,但是接下来奇怪的事情发生了。

我在PyCharm里配置了刚才的虚拟环境,然后打开内置的Terminal,再次测试刚才的代码,发现Tensorflow又找不到物理GPU了!

到这里我基本可以确定,问题一定在PyCharm上,而不是TensorFlow、CUDA、cuDNN的版本对应关系。

三、解决办法

方法一:创建动态连接库

在Pyharm内置的Terminal中输入以下命令:

sudo ldconfig /usr/local/cuda/lib64

该命令等同于打开文件/etc/ld.so.conf.d/cuda.conf,在其中加入路径/usr/local/cuda/lib64,然后输入以下命令使得动态库生效:

sudo ldconfig

不论采用哪一种,每次启动Pyharm的时候都需要在Terminal中操作一遍。

方法二:在PyCharm中修改运行配置

File -> Settings -> Build, Execution, Deployment -> Console -> Python Console -> Environment -> Environment variables中,设置LD_LIBRARY_PATH=/usr/local/cuda-xx.x/lib64

四、原因分析

应该是我PyCharm项目所在目录和CUDA的安装目录不在同一个硬盘(我的开发环境安装了双硬盘),导致PyCharm找不到CUDA的环境变量。

参考博客:pycharm找不到libcudart.so.10.0

标签:Tensorflow,libcudart,so.10,Terminal,cuda,PyCharm,GPU,Pycharm,CUDA
来源: https://www.cnblogs.com/letsplayball/p/16251741.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有