0%

配置Tensorflow环境

前言

由于机器学习课程需要制作一款基于机器学习的程序代码,因此需要安装 Tensorflow-gpu来进行跑代码,众所周知, Tensorflow环境以难配而出名,因此本文作为记录,浅踩坑

所需

  • 一台支持GPU算力的机器
  • anconda环境

请注意:在执行下面代码的前提为:你要确定你电脑的CUDA版本信息,由于 tensorflow版本管理相当苛责,因此版本不对可能会导致无法运行.因此在开始整个教程前,你需要找好自己的配置文件

Linux

查找自己的CUDA版本

使用命令:nvidia-smi

部分截图如下:

image-20220524135128485

如上对应的便是你的CUDA版本

创建一个虚拟环境

conda create --name 你的环境名称 python=3.7

image-20220524104957676

输入y进行安装,出现如下提示代表安装完成,虚拟环境配置成功

image-20220524105024850

进入虚拟环境

conda activate 你的环境名称

当前面括号内显示的是你的环境名称,则代表进入成功

安装 cudatoolkit

根据自己的GPU对应的CUDA进行配置,具体对应关系详见: 对应关系

这里以我电脑为例,安装 cudatoolkit=10.1(这里图文版本对应不匹配,原因看其他->cudnn包问题):

conda install cudatoolkit=10.1

image-20220524105959190

出现以下信息表示安装完成

image-20220524112427875

安装 cudnn

也是要从官网上查询相关安装指南,具体对应关系详见: 对应关系

这里以我电脑为例,安装 cudnn=7.6

conda install cudnn=7.6

安装结果如下:

image-20220524121940510

安装 Tensorflow-gpu=2.3

输入命令:

pip install tensorflow-gpu==2.3.0

Windows

与Linux安装方式基本相同,这里不在进行多余赘述,仅加入在windows下如何判断自己的CUDA版本

判断自己的CUDA版本

在桌面右键,打开 NVIDIA控制面板,点击左下角的 系统信息

image-20220524111959441

点击 组件然后看 3D设置中的 NVCUDA64.DLL 后面的 产品名称CUDA版本便为你的版本信息,如下图所示,我的CUDA版本便是11.1.70

寻找的时候对应的便是 11.1(其实个人实践可以向下兼容2333)

image-20220524112056943

剩余的配置过程与Linux一致,直接参考Linux便可

其他

Conda更换镜像|转载|

在国内访问相关国外网站使用原本的资源会显得很慢(尤其在学校实验室中),因此可以通过换源或者使用”科学”的方式进行访问,这里不对第二种方式进行讨论,仅讨论如何更换镜像源

由于我使用的是科学方式,因此对于换源方式成功性不做评价

  • 显示之前的镜像源

    conda config --show

  • 添加镜像源

    conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
    conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
    conda config --set show_channel_urls yes

  • 清除之前的缓存

    conda clean -i

  • 删除指定的镜像源

    conda config --remove channels 你想移除的指定镜像路径

  • 恢复默认镜像源

    conda config --remove-key channels

cudnn包问题

由于在安装的过程中,发现报错

image-20220524120302807

后面查询相关知识了解到一个issue ,因此推断可能是镜像源问题,所以更换成默认镜像源,然后发现更换了报错信息:

image-20220524120404556

根据相关指引,去官方库中进行搜索,发现:

image-20220524120519754

特喵的! cudnn包并没有 8.0版本,如果想自行配置8.0版本,时间开销可能过大,因此选择已有的7.6版本,与其匹配的是 Tensorflow-2.3.0版本,因此上面部分信息可能图文不符,以文字描述为主(主要是懒不想删照片重新截图2333)

Reference

排名不分先后

-------------我也是有底线的哦如需更多,欢迎打赏-------------