千家信息网

如何安装TensorFlow2.x的CPU与GPU版本

发表于:2024-10-30 作者:千家信息网编辑
千家信息网最后更新 2024年10月30日,这篇文章主要介绍了如何安装TensorFlow2.x的CPU与GPU版本,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。0 前言更新了最
千家信息网最后更新 2024年10月30日如何安装TensorFlow2.x的CPU与GPU版本

这篇文章主要介绍了如何安装TensorFlow2.x的CPU与GPU版本,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。


0 前言

更新了最新版本安装方法,目前支持TensorFlow1.13.1 -> TensorFlow2.4.0:见1.3节

本篇文章就带领大家用最简单地方式安装TF2.0正式版本(CPU与GPU),由我来踩坑,方便大家体验正式版本的TF2.0。

废话不多说现在正式开始教程。

1 环境准备

我目前是在Windows10上面,使用conda管理的python环境,通过conda安装cuda与cudnn(GPU支持),通过pip安装的tensorflow2.0。经过尝试只是最简单地安装方式,无需配置复杂环境。

1.0 conda环境准备

conda是很好用python管理工具,可以方便建立管理多个python环境。后面安装的步骤里我也会介绍一些常用的conda指令。

conda 我推荐使用安装miniconda,大家可以理解为精简版的anaconda,只保留了一些必备的组件,所以安装会比快上很多,同时也能满足我们管理python环境的需求。(anaconda一般在固态硬盘安装需要占用几个G内存,花费1-2个小时,miniconda一般几百M,10分钟就可以安装完成了)

miniconda推荐使用清华源下载:https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/

选择适合自己的版本就可以,

  • windows推荐地址:https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-4.7.10-Windows-x86_64.exe

  • ubuntu推荐地址:https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-4.7.10-Linux-x86_64.sh

  • Mac os推荐地址:https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-4.7.10-MacOSX-x86_64.pkg

下以windows版本来安装miniconda作为演示,从上述下载合适版本,下载好后以管理员权限打开点击安装。

注意这两个都要勾选,一个是让我们可以直接在cmd使用conda指令,第二个是把miniconda自带的python3.7作为系统python。

安装好后就可以在cmd中使用conda指令了,cmd打开方式,windows键+R键,弹出输入框,输入cmd就进入了。也可以直接在windows搜索cmd点击运行。

下面介绍些cmd conda指令(env_name代表环境名称):

  1. 查看conda环境:conda env list

  2. 新建conda环境(env_name就是创建的环境名,可以自定义):conda create -n env_name

  3. 激活conda环境(ubuntu与Macos 将conda 替换为source):conda activate env_name

  4. 退出conda环境:conda deactivate

  5. 安装和卸载python包:conda install numpy # conda uninstall numpy

  6. 查看已安装python列表:conda list -n env_name

知道这些指令就可以开始使用conda新建一个环境安装TF2.0了。

同时为了加速安装,可以换一下conda与pip的源。

下面改下"conda"源,换为清华源用以加速,在"CMD"中复制粘贴以下指令,并回车:

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/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 --append channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/fastai/conda config --append channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/conda config --append channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda/conda config --set show_channel_urls yes

同时我们也将"pip"换为清华源用以加速,在"CMD"中复制粘贴以下指令,并回车:

pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

1.1 TF2.0 CPU版本安装

TF CPU安装比较简单,因为不需要配置GPU,所以windows ubuntu macOS安装方式都类似,缺点就是运行速度慢,但是用于日常学习使用还是可以的。

下面以windows版本做演示:一下均在命令行操作

1.1.0 新建TF2.0 CPU环境(使用conda 新建环境指令 python==3.6表示在新建环境时同时python3.6)

conda create -n TF_2C python=3.6

当弹出 :Proceed ([y]/n)? 输入y回车

完成后就可以进入此环境

1.1.1 进入TF_2C环境

conda activate TF_2C

进入后我们就可以发现:(TF_2C)在之前路径前面,表示进入了这个环境。使用conda deactivate可以退出。

我们再次进入 conda activate TF_2C ,便于执行下述命令

1.1.2 安装TF2.0 CPU版本(后面的 -i 表示从国内清华源下载,速度比默认源快很多)

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

如果网不好的,多执行几次。然后过一会就安装好啦。下面我们做下简单测试。

1.1.3 测试TF2.0 CPU版本(把下面代码保存到demo.py使用TF_2C python运行)

import tensorflow as tfversion = tf.__version__gpu_ok = tf.test.is_gpu_available()print("tf version:",version,"\nuse GPU",gpu_ok)

如果没有问题的话输出结果如下:可以看到tf 版本为2.0.0 因为是cpu版本,所以gpu 为False

1.2 TF2.0 GPU版本安装

GPU版本和CPU类似,但是会多一步对于GPU支持的安装。下面来一步步实现。安装之前确认你的电脑拥有Nvidia的GPU

1.2.0 新建TF2.0 GPU环境(使用conda 新建环境指令 python==3.6表示在新建环境时同时python3.6)

conda create -n TF_2G python=3.6

当弹出 :Proceed ([y]/n)? 输入y回车

完成后就可以进入此环境

1.1.1 进入TF_2G环境

conda activate TF_2G

1.1.2 安装GPU版本支持,拥有Nvidia的GPU的windows一般都有默认驱动的,只需要安装cudatoolkit 与 cudnn包就可以了,要注意一点需要安装cudatoolkit 10.0 版本,注意一点,如果系统的cudatoolkit小于10.0需要更新一下至10.0

conda install cudatoolkit=10.0 cudnn

1.1.3 安装TF2.0 GPU版本(后面的 -i 表示从国内清华源下载,速度比默认源快很多)

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

如果网不好的,多执行几次。然后过一会就安装好啦。下面我们做下简单测试。

1.1.3 测试TF2.0 GPU版本(把下面代码保存到demo.py使用TF_2G python运行)

import tensorflow as tfversion = tf.__version__gpu_ok = tf.test.is_gpu_available()print("tf version:",version,"\nuse GPU",gpu_ok)

如果没有问题的话输出结果如下:可以看到tf 版本为2.0.0 因为是gpu版本,所以gpu 为True,这表示GPU版本安装完成了。

tf version: 2.0.0use GPU True

1.3 TensorFlow其他版本版本安装(TensorFlow1.13.1 -> TensorFlow2.4.0)

首先可以通过这个链接,看看TensorFlow版本对应的依赖项:

https://tensorflow.google.com/install/source#linux

可以看出,如果是安装TensorFlow2.4则对应CUDA=11.0,cuDNN=8.0;TensorFlow2.1-2.3则对应CUDA=10.1,cuDNN=7.6;TensorFlow2.0,对应CUDA=10.0,cuDNN=7.6;TensorFlow1.13.1-1.15.0,对应CUDA=10.0,cuDNN=7.6。要注意一点Nvidia Driver的版本号要>=CUDA版本号。

这个需要注意,错了版本就会导致安装GPU失败。

下面针对不同版本TensorFlow,分别说明。

从 TensorFlow 2.1 开始,pip 包 tensorflow 即同时包含 GPU 支持,无需通过特定的 pip 包 tensorflow-gpu 安装 GPU 版本。如果对 pip 包的大小敏感,可使用 tensorflow-cpu 包安装仅支持 CPU 的 TensorFlow 版本。

  • TensorFlow2.4/2.3 cpu版本安装

pip install tensorflow-cpu==2.4#orpip install tensorflow-cpu==2.3
  • TensorFlow2.4 gpu版本安装(由于cudnn8在conda还没有更新,需要借助pytorch安装cudnn8 :)

conda install pytorch=1.7.1 torchvision torchaudio cudatoolkit=11.0pip install tensorflow==2.4
  • TensorFlow2.3/2.2/2.1 gpu版本安装

conda install cudatoolkit=10.1 cudnn=7pip install tensorflow==2.3
  • TensorFlow2.0 gpu版本安装

conda install cudatoolkit=10.0 cudnn=7pip install tensorflow-gpu==2.0
  1. TensorFlow1.15/1.14/1.13.1 gpu版本安装

conda install cudatoolkit=10.0 cudnn=7pip install tensorflow-gpu==1.15

1.4 最后我们测试一个使用TF2.0版本方式写的线性拟合代码

把下述代码保存为main.py

import tensorflow as tfX = tf.constant([[1.0, 2.0, 3.0], [4.0, 5.0, 6.0]])y = tf.constant([[10.0], [20.0]])class Linear(tf.keras.Model):    def __init__(self):        super().__init__()        self.dense = tf.keras.layers.Dense(            units=1,            activation=None,            kernel_initializer=tf.zeros_initializer(),            bias_initializer=tf.zeros_initializer()        )    def call(self, input):        output = self.dense(input)        return output# 以下代码结构与前节类似model = Linear()optimizer = tf.keras.optimizers.SGD(learning_rate=0.01)for i in range(100):    with tf.GradientTape() as tape:        y_pred = model(X)      # 调用模型 y_pred = model(X) 而不是显式写出 y_pred = a * X + b        loss = tf.reduce_mean(tf.square(y_pred - y))        grads = tape.gradient(loss, model.variables)    # 使用 model.variables 这一属性直接获得模型中的所有变量    optimizer.apply_gradients(grads_and_vars=zip(grads, model.variables))    if i % 10 == 0:        print(i, loss.numpy())print(model.variables)

输出结果如下:

0 250.010 0.7364813720 0.617234930 0.517295640 0.433538950 0.3633426460 0.304512470 0.2552081680 0.213886590 0.17925593[, ]

感谢你能够认真阅读完这篇文章,希望小编分享的"如何安装TensorFlow2.x的CPU与GPU版本"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!

0