Tensorflow 学习入门(一)环境搭建

本文介绍了Tensorflow的环境搭建,包括基于CPU和GPU的设置。对于GPU环境,详细讲解了Nvidia驱动、CUDA和cuDNN库的安装,以及在Linux和Windows上的步骤。还提到了在Python开发环境中安装Tensorflow-GPU的注意事项,并推荐使用Docker来简化复杂环境配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前提需求

众所周知Tensorflow 是一项立足于CPU运算和GPU运算的AI框架而且基于GPU的Tensorflow效率更高速度更快但是搭建过程却更加烦琐。主要前提条件为一张Nvidia显卡,Nvidia 显卡的基本驱动和Cuda库。

基于CPU

基于CPU的Tensorflow 环境十分简单只需要使用一行简单的代码就可以布置

# Current stable release for CPU-only
pip install tensorflow

# Preview nightly build for CPU-only (unstable)
pip install tf-nightly

# Install TensorFlow 2.0 Alpha
pip install tensorflow==2.0.0-alpha0

一般来说我们只需要第一段代码就可以完成基于CPU的Tensorflow的环境搭建。

基于GPU

不同于CPU的Tensorflow 环境搭建非常繁琐。而且因为一定的原因,Tensorflow 官方并不支持 Macos 作为GPU运行环境,虽然有民间大神提供补丁但是仅能支持1.8版本的TF。

安装驱动

这里的驱动主要为Linux 环境下的Nvidia 驱动(Windows下的确实没啥好说的)。以下为TF官网提供的Ubuntu18.04驱动安装代码,可以说是相当贴心了。

# 添加英伟达的驱动库
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/cuda-repo-ubuntu1804_10.0.130-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu1804_10.0.130-1_amd64.deb
sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/7fa2af80.pub
sudo apt-get update
wget http://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1804/x86_64/nvidia-machine-learning-repo-ubuntu1804_1.0.0-1_amd64.deb
sudo apt install ./nvidia-machine-learning-repo-ubuntu1804_1.0.0-1_amd64.deb
sudo apt-get update

# 安装英伟达驱动
sudo apt-get install --no-install-recommends nvidia-driver-418

在这之后官网的说法是可以直接重启了,但是实际上在最后一行代码处我们会遭遇依赖问题,不过这并没有什么问题,直接按照提示安装逐个安装依赖即可。值得一提的是,在安装 xserver-xorg-core的时候apt会自动删除旧有的xserver-xorg驱动以保障后面的xserver-xorg-video-nvidia-{version}正常安装。而被删除的驱动中还包含着图形界面的键鼠驱动所以桌面端用户需要补充以下代码。

sudo apt-get install xserver-xorg-core
sudo apt-get install xserver-xorg-video-nvidia-418
#依赖解决,正式安装
sudo apt-get install --no-install-recommends nvidia-driver-418
#驱动成功安装添加图形界面的键鼠相关驱动
sudo apt-get install xserver-xorg-input-kbd
sudo apt-get install xserver-xorg-input-mouse
#以防缺少其他驱动执行以下代码
sudo apt-get install xserver-xorg-input-all

此后重启系统并使用nvidia-smi命令来确认驱动正常运行。

CUDA 运行库以及cuDNN库

Linux

使用以下命令来完成CUDA和cuDNN库的安装

# Install development and runtime libraries (~4GB)
sudo apt-get install --no-install-recommends \
    cuda-10-0 \
    libcudnn7=7.4.1.5-1+cuda10.0  \
    libcudnn7-dev=7.4.1.5-1+cuda10.0


# Install TensorRT. Requires that libcudnn7 is installed above.
sudo apt-get update && \
        sudo apt-get install nvinfer-runtime-trt-repo-ubuntu1604-5.0.2-ga-cuda10.0 \
        && sudo apt-get update \
        && sudo apt-get install -y --no-install-recommends libnvinfer-dev=5.0.2-1+cuda10.0
Windows

尽管Windows 可以很简单的从官网下载CUDA的安装工具和cudnn的库压缩包,但是为了使其能够生效,我们需要添加环境变量。假设 CUDA 被安装在 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0而cuDNN安装在 C:\tools\cuda使用以下命令添加环境变量即可。

SET PATH=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\bin;%PATH%
SET PATH=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\extras\CUPTI\libx64;%PATH%
SET PATH=C:\tools\cuda\bin;%PATH%
pip 安装 Tensorflow-GPU

本来这个部分可以跳过的但是为了区别CPU版的调用再提一下

pip3 install tensorflow-gpu

Python 开发环境编译

完成前提准备后我们就可以正式安装TF了。不过开发Tensorflow所需的Python官方认定版本为 3.4、3.5、3.6所以无论是Python2.x还是Python3.7都是无法正常使用的。不过即使机器上现存的Python环境不匹配也没有关系可以通过virtualenvAnaconda来搭建虚拟环境。由于Anaconda 不区分系统环境,这里就是用Anaconda举例了。
packageURL中选用适合的包

conda create -n venvName pip python=3.6  # select python version
source activate venvName
pip install --ignore-installed --upgrade packageURL
#使用命令退出环境
source deactivate

值得注意的是,在虚拟环境中指定了唯一确定的Python3.x环境所以在该环境中pip就是pip3。

为Docker 三呼万岁

在个人学习的过程中,Tensorflow 的前期准备花掉了我大量的时间(尤其是Linux环境的显卡驱动安装bug)不过还好,Docker的存在让我在没能成功布置环境的情况下简单体验了下Tensorflow。
官方提供了两张表以方便用户根据自己的需求下载对应的容器。

版本表

Tag描述
latest顾名思义最新稳定版
nightly最新版(不稳定版)
version指定版本
devel开发版(包含源码的最新版)

功能表

该表中的tag指的是上面表中的tag

Tag变量描述
tag-gpu添加GPU支持此外需要额外的docker支持
tag-py3添加Python3支持
tag-jupyter增加jupyter记事本功能

以下为样例命令

docker pull tensorflow/tensorflow                     # latest stable release
docker pull tensorflow/tensorflow:devel-gpu           # nightly dev release w/ GPU support
docker pull tensorflow/tensorflow:latest-gpu-jupyter  # latest release w/ GPU support and Jupyter

此外Docker内的TF在没有Nvidia官方驱动的Linux 环境下需要依赖Docker的驱动支持。因此还需要以下命令。

# 验证显卡设备
lspci | grep -i nvidia
# 验证Docker的显卡驱动
docker run --runtime=nvidia --rm nvidia/cuda nvidia-smi

这两项都成功运行才表示-gpu变量可以正常使用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值