linux下 conda 和 pip 两种方式安装tensorflow(GPU)

在经历了不知道多少次的失败之后,终于看到程序挂到gpu上跑出结果了。。。

深度学习做实验首选肯定还是pytorch,兼容性和便捷性都要比tensorflow强很多,官方给的安装指示很简洁易懂,安装经验也都很成熟。但没办法,一些领域的开源代码大多数是用tensorflow框架开发的,比如通信。而且这些代码很少能把自己适配的环境在readme里说清楚的,只能硬着头皮嗑tensorflow安装。

说实话,tensorflow官网上那个安装写的那个安装教程就不是给人看的,试了Bazel之类的方法也失败了。网上的经验帖子也大多数都是Windows图形界面下针对tensorflow和cuda等库的安装,对用基于ssh远程控制linux服务器使用GPU在虚拟环境下进行学习实验的广大研友们非常不友好。因此,决定写一个帖子让有心的研友们看到后能够不在这上面走太多弯路。

tensorflow版本的选择

如果研究代码没有标明tensorflow版本,优先选用2.x版本。

首先,tensorflow1.x配套的python版本、硬件版本等都比较低。这会给代码运行速度、代码调试(如vscode插件)等方面带来麻烦。

其次,tensorflow2.x配置了对1.x比较友好的API接口,可以handle基于1.x写的代码。只要将import tensorflow as tf,换成

import tensorflow._api.v2.compat.v1 as tf

基本上就能解决很多1.x的运行问题。我个人选择的是2.15.0这一版,比较适配我需要跑的1.x的代码,本帖下面也以2.15.0版本为例。

如果研究代码标明tensorflow版本,一定要看好匹配的cuda和cudnn版本再安装。否则就会安装了半天发现根本没法用上GPU。具体版本对应参考这个帖子,写的很好:
https://blog.csdn.net/ly869915532/article/details/124542362

conda安装tensorflow

这个的前提是用conda装好虚拟环境,具体可以参考这个帖子:
https://blog.csdn.net/2301_81940605/article/details/136478382
装好之后即可开始tensorflow安装。

首先说明一点,conda是个好东西,它会把关联包按照版本比较严格的绑在一起,对于tensorflow而言基本不需要操心cuda和cudnn匹配了。 但如果想安装特定版本的tensorflow,还是需要在库里进行搜索确认的,即

conda search tensorflow

这时候会给出defaults通道下各个tensorflow版本,对应安装即可。如果没有找到所需版本,可以在不同的通道下搜索,如conda-forge

conda search tensorflow -c conda-forge

这时候你会发现版本多了起来,选定一个想要的进行安装,如

conda install -c conda-forge tensorflow=2.15.0=cuda120py311h5cbd639_2

安装好之后用conda list看看库里是不是把配套的包如cudnn等都装齐了,如果没有,看好匹配的版本逐一用conda安装即可,方式同上。

比较容易碰到的问题就是,不管是conda加载速度还是安装速度都特别特别慢,这些一般来说都是镜像源的问题。现在大多数帖子分享的清华源的方法好像不太好用了,推荐换北外源,具体操作参考这个帖子,写的很好:
https://blog.csdn.net/weixin_43667077/article/details/108282523

pip安装tensorflow

pip相对于conda来说要麻烦很多,容易出错的地方也更多,有条件的还是推荐用上面conda的方法。但可能一些情况下服务器平台不支持anaconda,因此,在这里给出pip安装的方法。

前提还是先装好虚拟环境,没有conda服务的话可以这样安装并激活

python3 -m venv tf_env/                #python版本提前确认好
source .../tf_env/bin/activate         #...表示tf_env所在路径

pip不会像conda一样关联好相关的包,因此需要先参考tensorflow版本确定好cuda和cudnn的版本进行安装。但nvidia官方给出的cuda安装方式如apt install,很难仅仅配置到虚拟环境中,很不方便。找了半天终于发现官方给的pip安装方式,具体长这样
在这里插入图片描述
即先安装wheel和nvidia-pyindex

python3 -m pip install --upgrade setuptools pip wheel
python3 -m pip install nvidia-pyindex

往后面进行的时候发现官方给的没有指定精确版本,
在这里插入图片描述
另外,按照官方给的格式自己写版本也很可能会面临pip报搜索不到的错误。想了想,还是到pip通道PyPI中自己去搜索找最准确的版本吧。如nvcc,可以在这搜索到具体的版本和对应指令
在这里插入图片描述
不同版本可以在发行历史中进行选定即可,很方便。

我本人担心cuda配件装不完影响GPU运行,所以把2.15.0的所有配件都给装了,可以直接抄过去

pip install nvidia-nvtx-cu12==12.5.82 nvidia-nvml-dev-cu12==12.5.82 nvidia-cufft-cu12==11.2.6.28 nvidia-cusolver-cu12==11.6.4.38 nvidia-nvjpeg-cu12==12.3.3.23 nvidia-npp-cu12==12.3.1.23 nvidia-cusparse-cu12==12.5.2.23 nvidia-curand-cu12==10.3.7.37 nvidia-cudnn-cu12==8.9.7.29 nvidia-cuda-runtime-cu12==12.5.82 nvidia-cuda-nvrtc-cu12==12.5.82 nvidia-cuda-nvcc-cu12==12.5.82 nvidia-cuda-cupti-cu12==12.5.82 nvidia-cuda-cccl-cu12==12.5.39.post1 nvidia-cublas-cu12==12.5.3.2

最后,安装指定版本的tensorflow即可,方法同上,也可以在PyPI中搜索

pip install tensorflow==2.15.0.post1

至此,基于pip安装tensorflow大功告成。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值