tensorflow1 tensorflow 2 安装配置(cpu+gpu)windows+linux

tensorflow1和2的安装部署,演示2.14版本(最新是2.15版本)
windows和linux用法一致,我是在win10和ubuntu2204下都手动测试过的
本文使用的conda的方式,2024年3月10日更新
如果中间有任何报错,参考最后一节的处理
链接:tensorflow官网

注意:如果因为网络问题出现错误或卡住,多次尝试,或者设置国内源或者其他方式。


一、基本配置

1.需要安装anaconda

如果没有安装,按照我的这个教程(windows和linux都有):
因为notebook使用很方便,所以不要用miniconda,那样就没有notebook!
链接: anaconda安装
当然如果不用notebook,也可以安装miniconda,
链接:miniconda安装


初学者建议用cpu版本,gpu配置相对复杂,坑多
我这里的教程是直接装完包括依赖的,无需手动编译

2.gpu版本需要cuda和cudnn

在gpu的conda环境里面安装即可,建议也在系统环境中安装
cuda11.8,cudnn 8.6

链接:cuda安装(linux)
链接:cuda安装(windows)

3.windows用户想使用linux的

可以参考我的linux安装图解(详细)
unbuntu:ubuntu2204安装
debian: debian 11 12安装

二、安装tensorflow1.15(1的最后一个cpu版本)

在windows和linux下一致。
由于现在主要用2了,1就用cpu版本吧,ts1的gpu版本用的cuda8,版本过老,很多现在的显卡已经不能很好支持。
1.15是tensorflow1的最后一个版本,已经多年不再更新了,如果装2跳过这一步。

1.安装python3.6环境

conda create -n tensorflow1 python=3.6

2.激活环境

conda activate tensorflow1

3.安装tensorflow1.15

通过国内源安装

pip install tensorflow==1.15.0 -i https://pypi.tuna.tsinghua.edu.cn/simple/

4.方便在notebook中使用

通过国内源安装

pip install ipykernel -i https://pypi.tuna.tsinghua.edu.cn/simple/
python -m ipykernel install --name tensorflow1

5.打开notebook后,可以看到tensorflow的环境了

在这里插入图片描述

6.验证

打开notebook,输入以下并运行,显示版本号即可

import tensorflow as tf
print(tf.__version__)

在这里插入图片描述

三、安装tensorflow2.16.1(cpu版本)

更新这篇时(2024.3.10),最新版为2.16.1,以此为演示
官方给的兼容性:tensorflow兼容性
在这里插入图片描述

1.安装python3.10环境(3.9-3.11之间)

这里选用3.10的python

conda create -n tensorflow2_cpu python=3.10

激活环境

conda activate tensorflow2_cpu

2.安装tensorflow2.16.1

pip install tensorflow-cpu==2.16.1 -i https://pypi.tuna.tsinghua.edu.cn/simple/

3.适配notebook

pip install ipykernel -i https://pypi.tuna.tsinghua.edu.cn/simple/
python -m ipykernel install --name tensorflow2_cpu

4.验证

打开notebook,输入以下并运行,显示版本号即可

import tensorflow as tf
print(tf.__version__)
print(tf.config.list_logical_devices())

在这里插入图片描述

四、安装tensorflow2.16.1(gpu版本,仅限于linux)

2.12版本后,没有tensorflow-gpu这个分支了,实际上tf2对gpu的支持是自动的,但是考虑到不同版本的方便性,所以我是分开来装
由于一直在linux上部署安装,没注意到新gpu版本的变化,新版本gpu版对于windows用户相对麻烦,wsl可以尝试,不过可能坑比较多。这里就不额外写了。如果非要用windows,安装早一点的版本吧。

可以不看兼容性:官方兼容性网址

在这里插入图片描述

1.安装python3.10环境(3.9-3.11之间)

这里选用3.10的python

conda create -n tensorflow2_gpu python=3.10

激活环境

conda activate tensorflow2_gpu

2.安装

python3 -m pip install tensorflow[and-cuda] -i https://pypi.tuna.tsinghua.edu.cn/simple/

3.适配notebook

pip install ipykernel -i https://pypi.tuna.tsinghua.edu.cn/simple/
python -m ipykernel install --name tensorflow2_gpu

4.在conda环境中安装cuda和cudnn(可选)

如果在系统环境中安装了对应的cuda和,这一步跳过

安装cuda,当然如果在系统环境中安装过可以跳过,如果系统环境中的版本不一致,这里也可以按安装
默认源暂时没有这么高版本的,必须走conda-forge,不过可能已经无法直连了,如果无法解决网络问题,在系统里装吧
添加conda-forge源

conda config --add channels conda-forge

安装

conda install cudatoolkit=12.3

安装cudnn

pip install nvidia-cudnn-cu12==8.9.6.50 -i https://pypi.tuna.tsinghua.edu.cn/simple/

备注:查看源的cudatoolkit版本命令如下

conda search cudatoolkit

5.验证

在notebook中输入下面的进行验证

import tensorflow as tf
tf.config.list_physical_devices('GPU')

结果类似如下:
在这里插入图片描述

五、其它问题和解决

1.如何使用指定的环境进行开发

方法一:在notebook中写
方法二:使用命令行进入conda的指定环境,然后使用
方法三:使用远程开发,本地安装开发工具,同时远程连接命令行

2.cpu优化使用avx2

使用的时候可能会提示开启avx2的字样(可以不管他)
avx2能够加速cpu,需要cpu的支持和在bios中开启,开启avx2可能会显著增加功耗

3.successful NUMA node read from SysFS had negative value (-1)

报错如下
successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero

链接:解决numa报错

解决思路就是指定gpu,完成后不会报错,根据上面的链接的方法,可以有效的解决问题,我这里再操作写一次:
查找N卡

lspci | grep -i nvidia

注意前面的这个设备号,每个人不一样,找到你需要的显卡前面的数字,下面有用。
在这里插入图片描述
显示所有的pcie设备
下面的命令,可以看到上面的设备号对应的文件夹

cd /sys/bus/pci/devices/ && ls

指定gpu

echo 0 | tee -a /sys/bus/pci/devices/0000:21:00.0/numa_node

4.Cannot dlopen some GPU libraries

cuddn没有装好的问题
解决方法是在conda里面装cudnn

5.配置环境变量(自动激活方式)

gpu版本如果出现问题
这种方式不需要每次手动配置这个环境下的环境变量
创建配置文件

mkdir -p $CONDA_PREFIX/etc/conda/activate.d

使用命令写入环境变量

echo 'CUDNN_PATH=$(dirname $(python -c "import nvidia.cudnn;print(nvidia.cudnn.__file__)"))' >> $CONDA_PREFIX/etc/conda/activate.d/env_vars.sh
echo 'export LD_LIBRARY_PATH=$CONDA_PREFIX/lib/:$CUDNN_PATH/lib:$LD_LIBRARY_PATH' >> $CONDA_PREFIX/etc/conda/activate.d/env_vars.sh

刷新环境变量(上面的操作会在每次进入conda环境后自动加载,下面这条是首次加载)

source $CONDA_PREFIX/etc/conda/activate.d/env_vars.sh

6.TF-TRT Warning: Could not find TensorRT

pip install tensorrt
  • 17
    点赞
  • 132
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 30
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 30
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ziqibit

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值