如何在 CentOS 上安装 TensorFlow

在本教程中,我们将看看如何在 CentOS 上开始使用 TensorFlow。 我们将介绍两种方法。 首先,我们将通过 Python 包管理器 pip 在 Python 虚拟环境中安装 TensorFlow。 之后,我们将通过 Anaconda 包管理器逐步安装 TensorFlow。 最后,我们将介绍从源代码构建 TensorFlow pip 包。

机器学习是一个快速发展的软件开发领域,它提供了许多令人兴奋和惊人的技术进步。 在引擎盖下,它由复杂的数学公式和算法组成。 TensorFlow 为开发人员提供了一种途径,可以通过优雅的 Python 界面访问机器学习及其应用程序的力量。

飞行前检查:

  • 这些说明是在 Liquid Web 自我管理的 CentOS 8 服务器上以 root 用户身份执行的。
  • 这些说明适用于 CentOS 7 或 CentOS 8 服务器。
  • 这些说明假设您的系统上已经安装了 Python 3.4 或更高版本。
  • 这些说明还假设您安装了 Anaconda 或 Miniconda 的工作版本。 如果您正在寻找 Conda 入门指南,请转到这篇文章:/kb/using-conda-for-alternate-python-installations/

画中画

步骤 1:更新和设置环境

作为最佳实践,我们需要通过运行以下命令来确保我们的系统包是最新的:

[[email protected] ~]# yum update -y

步骤 2:创建并激活虚拟环境

现在系统是最新的,让我们创建一个虚拟的 Python 环境:

[[email protected] ~]# python3 -m venv pip-tensorflow

上面命令的最后一个参数“pip-tensorflow”是虚拟环境的名称。 随意命名虚拟环境。

现在虚拟环境存在,我们需要激活它:

[[email protected] ~]# source pip-tensorflow/bin/activate (pip-tensorflow) [[email protected] ~]#

要安装 TensorFlow 2(TensorFlow 的最新和推荐版本),我们需要更新几个名为 setuptools. 的关键 Python 包:

(pip-tensorflow) [[email protected] ~]# pip install -U pip setuptools Cache entry deserialization failed, entry ignored Collecting pip   Using cached https://files.pythonhosted.org/packages/00/b6/cfa56b4081ad13874b0c6f96af8ce16cfbc1cb06bedf8e9164ce5551ec1/pip-19.3.1-py2.py3-none-any.whl Cache entry deserialization failed, entry ignored Collecting setuptools   Cache entry deserialization failed, entry ignored   Downloading https://files.pythonhosted.org/packages/f9/d3/55738b20d3832dfa3cd3d9b07e29a8162edb480bf988332f5e6e48ca444/setuptools-44.0.0-py2.py3-none-any.whl (83kB)     100% |████████████████████████████████| 83kB 1.MB/s Installing collected packages: pip, setuptools   Found existing installation: pip 9.0.3     Uninstalling pip-9.0.3:       Successfully uninstalled pip-9.0.3   Found existing installation: setuptools 39.2.0     Uninstalling setuptools-39.2.0:       Successfully uninstalled setuptools-39.2.0 Successfully installed pip-19.3.1 setuptools-44.0.0

第 3 步:安装和测试 TensorFlow

环境现在已准备好安装 TensorFlow:

(pip-tensorflow) [[email protected] ~]# pip install tensorflow

TensorFlow 现已安装! 为了验证这一点并从一个基本示例开始,我们将进入一个 Python shell:

注意:根据您机器上 Python 3 的版本,您系统上的 Python 版本输出可能与我们在本示例中的版本略有不同。

(pip-tensorflow) [[email protected] ~]# python Python 3.6.8 (default, Oct  7 2019, 17:58:22) [GCC 8.2.1 20180905 (Red Hat 8.2.1-3)] on linux Type "help", "copyright", "credits" or "license" for more information. >>>

进入 Python shell 后,复制并粘贴此文本片段,然后按 Enter:

import tensorflow as tf  vals1 = tf.constant([1, 1, 2, 2]) vals2 = tf.constant([2, 2, 4, 4])  result = tf.multiply(vals1, vals2)  tf.print(result)

输出应如下所示:

(pip-tensorflow) [[email protected] ~]# python Python 3.6.8 (default, Oct  7 2019, 17:58:22) [GCC 8.2.1 20180905 (Red Hat 8.2.1-3)] on linux Type "help", "copyright", "credits" or "license" for more information. >>> import tensorflow as tf >>> >>> vals1 = tf.constant([1, 1, 2, 2]) 2020-01-08 22:28:10.881818: I tensorflow/core/platform/cpu_feature_guard.cc:142] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA 2020-01-08 22:28:10.885198: I tensorflow/core/platform/profile_utils/cpu_utils.cc:94] CPU Frequency: 3599995000 Hz 2020-01-08 22:28:10.885329: I tensorflow/compiler/xla/service/service.cc:168] XLA service 0x558aeb6013b0 executing computations on platform Host. Devices: 2020-01-08 22:28:10.885347: I tensorflow/compiler/xla/service/service.cc:175]   StreamExecutor device (0): Host, Default Version >>> vals2 = tf.constant([2, 2, 4, 4]) >>> >>> result = tf.multiply(vals1, vals2) >>> >>> tf.print(result) [2 2 8 8]

您可能会注意到,有一些关于 TensorFlow 二进制文件未编译为使用特定 CPU 功能的警告。 这样做的原因是 TensorFlow Pip 包是在没有这些内核选项的情况下构建的,以便为尽可能多的系统提供更广泛的安装选项。

不过不用担心,因为您仍然可以毫无问题地使用 TensorFlow。 可以从源代码编译 TensorFlow 以创建一个包 编译以利用这些额外的 CPU 功能。 出于本教程的目的,我们将重点介绍 TensorFlow 的基础知识并消除这些警告。

(pip-tensorflow) [[email protected] ~]# echo " TF_CPP_MIN_LOG_LEVEL=2" >> .bash_profile (pip-tensorflow) [[email protected] ~]# source .bash_profile

如果我们再次运行该示例,我们应该会看到这些警告现在被隐藏了:

(pip-tensorflow) [[email protected] ~]# python Python 3.6.8 (default, Oct  7 2019, 17:58:22) [GCC 8.2.1 20180905 (Red Hat 8.2.1-3)] on linux Type "help", "copyright", "credits" or "license" for more information. >>> import tensorflow as tf >>> >>> vals1 = tf.constant([1, 1, 2, 2]) >>> vals2 = tf.constant([2, 2, 4, 4]) >>> >>> result = tf.multiply(vals1, vals2) >>> >>> tf.print(result) [2 2 8 8]

使用 Anaconda 安装 TensorFlow

第 1 步:创建环境并安装 TensorFlow

使用 Anaconda 或 Miniconda 开始使用 TensorFlow 的好处之一是您可以创建环境并同时安装包。

[[email protected] ~]# conda create -n conda-tensorflow tensorflow -y

在上面的命令中,“conda-tensorflow”只是将安装 TensorFlow 的 conda 环境的名称。 您可以为环境选择任何您喜欢的名称。 通过 Conda 安装需要注意的另一个方面是我们不必担心升级 TensorFlow 的依赖项,因为这是为我们处理的。

第 2 步:激活和测试 TensorFlow

您可能已经注意到,在创建 Conda 环境并安装 TensorFlow 之后,Conda 提供了有关如何激活和停用环境的说明:

# To activate this environment, use # #     $ conda activate conda-tensorflow # # To deactivate an active environment, use # #     $ conda deactivate

让我们继续并激活它:

[[email protected] ~]# conda activate conda-tensorflow (conda-tensorflow) [[email protected] ~]#

为了测试一下,让我们再次进入 Python shell 并复制并粘贴我们之前使用的相同代码段。

(conda-tensorflow) [[email protected] ~]# python Python 3.7.6 | packaged by conda-forge | (default, Jan  7 2020, 20:28:53) [GCC 7.3.0] :: Anaconda, Inc. on linux Type "help", "copyright", "credits" or "license" for more information. >>> import tensorflow as tf >>> >>> vals1 = tf.constant([1, 1, 2, 2]) >>> vals2 = tf.constant([2, 2, 4, 4]) >>> >>> result = tf.multiply(vals1, vals2) >>> >>> tf.print(result) [2 2 8 8]

这里的所有都是它的! 本教程提供了 TensorFlow 可以完成的工作类型的一个很好的示例。 此时,您已准备好开始构建神经网络并训练它们做任何有趣的事情,例如图像识别或自然语言处理!