在本教程中,我们将了解如何在 CentOS 上开始使用 TensorFlow。 我们将介绍两种方法。 首先,我们将看看通过 Python 包管理器 pip 在 Python 虚拟环境中安装 TensorFlow。 之后,我们将逐步通过 Anaconda 包管理器安装 TensorFlow。 最后,我们将介绍从源代码构建 TensorFlow pip 包。
机器学习是一个快速发展的软件开发领域,它提供了许多令人兴奋和惊人的技术进步。 在底层,它由复杂的数学公式和算法组成。 TensorFlow 为开发人员提供了一种途径,可以通过优雅的 Python 界面获得机器学习及其应用程序的强大功能。
飞行前检查:
- 这些说明在 Liquid Web Self-Managed CentOS 8 服务器上以 root 用户身份执行。
- 这些说明适用于 CentOS 7 或 CentOS 8 服务器。
- 这些说明假设您的系统上已经安装了 Python 3.4 或更高版本。
- 这些说明还假设您安装了 Anaconda 或 Miniconda 的工作版本。 如果您正在寻找如何开始使用 Conda 的指导,请参阅这篇文章:/kb/using-conda-for-alternate-python-installations/
画中画
第 1 步:更新和设置环境
作为最佳实践,我们需要通过运行以下命令来确保我们的系统包是最新的:
[root@centos8 ~]# yum update -y
第 2 步:创建和激活虚拟环境
现在系统是最新的,让我们创建一个虚拟 Python 环境:
[root@centos8 ~]# python3 -m venv pip-tensorflow
上面命令的最后一个参数“pip-tensorflow”是虚拟环境的名称。 您可以随意命名虚拟环境。
现在存在虚拟环境,我们需要激活它:
[root@centos8 ~]# source pip-tensorflow/bin/activate
(pip-tensorflow) [root@centos8 ~]#
要安装 TensorFlow 2,这是 TensorFlow 的最新推荐版本,我们需要更新几个名为 setuptools 的关键 Python 包:
(pip-tensorflow) [root@centos8 ~]# 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) [root@centos8 ~]# pip install tensorflow
TensorFlow 现已安装! 验证这一点并开始使用基本的 example,我们将进入 Python shell:
注意:根据您机器上 Python 3 的版本,Python 的版本输出在您的系统上可能与我们在此版本中的略有不同 example.
(pip-tensorflow) [root@centos8 ~]# 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) [root@centos8 ~]# 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) [root@centos8 ~]# echo "export TF_CPP_MIN_LOG_LEVEL=2" >> .bash_profile
(pip-tensorflow) [root@centos8 ~]# source .bash_profile
如果我们运行 example 同样,我们应该看到这些警告现在被隐藏了:
(pip-tensorflow) [root@centos8 ~]# 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 的好处之一是您可以同时创建环境和安装软件包。
[root@centos8 ~]# 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
让我们继续并激活它:
[root@centos8 ~]# conda activate conda-tensorflow
(conda-tensorflow) [root@centos8 ~]#
为了进行测试,让我们再次进入 Python shell 并复制并粘贴到我们之前使用的同一片段中。
(conda-tensorflow) [root@centos8 ~]# 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]
这里的所有都是它的! 本教程提供了一个很好的 example TensorFlow 可以做的那种工作。 此时,您已准备好开始构建神经网络并训练它们做任何有趣的事情,例如图像识别或自然语言处理!