Keras 是一种基于 Python 的高级神经网络 API,能够在用于机器学习的 TensorFlow、CNTK 或 Theano 框架上运行。 可以说,Keras 充当了 Python 深度学习库。 Keras 的创建强调用户友好,因为其背后的主要原则是“为人类设计,而不是为机器设计”。 Keras 的核心数据结构是一个 模型,或一种组织图层的方法。
虽然有多种框架可供使用,但 Keras 官方推荐使用 TensorFlow。 考虑到这一点,本教程将涵盖:
- Keras 和 TensorFlow 的区别
- 如何安装 Python
- 如何安装 TensorFlow
- 如何安装 Keras
有什么不同?
如前所述,Keras 运行在 TensorFlow, CNTK, 或者 西诺 构架。 它们之间的主要区别在于 Keras 是一个神经网络库,具有高级 API 并使用 Python 构建。 这些选项使产品更加用户友好。 同时,TensorFlow 也是许多其他任务的开源库。
先决条件
此外,这些框架还需要安装 Python。 如果您没有在服务器上设置 Python 或启用任何框架,只需按照以下步骤开始。
在 CentOS 上安装 Python
安装 Python 的第一步是确保我们的系统是最新的。 我们将使用 yum 包管理器更新我们的系统。 接下来,我们将安装 yum-utils。 yum-utils 是管理 yum 存储库、安装调试包和源包所需的工具和软件的集合。
[[email protected] ~]# yum update [[email protected] ~]# yum install yum-utils
第二步是安装 CentOS 软件集 (SCL)。 通过启用 SCL 存储库,我们将可以访问最新版本的编程语言,以及基础存储库中没有的其他帮助。 SCL 还允许我们安装最新版本的 Python 3.x,与当前默认的 Python v2.7.5 版本并行,因此 yum 等系统工具将继续按预期工作。
[[email protected] ~]# yum install centos-release-scl
我们可以通过运行以下命令轻松确认 Python 已安装。 在安装了默认版本的 Python 后,版本号将显示。
[[email protected] ~]# python --version Python 2.7.5
我们可以看到,当前安装的 Python 版本不是最新版本。 因此,我们需要使用以下命令对其进行升级。
[[email protected] ~]# yum install rh-python35
接下来,安装主 SCL 包(其名称与 Software Collection 的名称相同)并更新 Python 更新。
[[email protected]]# scl enable /etc/scl/conf/rh-python35 bash
然后我们可以通过运行这个命令来确认更新的版本
[[email protected] ]# python --version Python 3.5.1
升级完成后,我们确认 Python 在服务器上可用,我们可以继续安装其中一个框架。
安装 TensorFlow
因为 TensorFlow 需要最新版本的 PIP(Python 包安装程序),我们需要通过运行下一个命令来更新它。
[[email protected] ~]# pip install --upgrade pip You are using pip version 7.1.0, however version 20.0.2 is available. You should consider upgrading via the 'pip install --upgrade pip' command. Collecting pip Downloading https://files.pythonhosted.org/packages/54/0c/d01aa759fdc501a58f431eb594a17495f15b88da142ce14b5845662c13f3/pip-20.0.2-py2.py3-none-any.whl (1.4MB) 100% |████████████████████████████████| 1.4MB 481kB/s Installing collected packages: pip Found existing installation: pip 7.1.0 Uninstalling pip-7.1.0: Successfully uninstalled pip-7.1.0 Successfully installed pip-20.0.2
接下来,我们要更新我们的设置工具,以防止在使用标准设置工具时出现以下错误。
- 错误:markdown 3.2.1 要求 setuptools>=36,但您将拥有不兼容的 setuptools 18.0.1。
- 错误:tensorboard 2.1.1 要求 setuptools>=41.0.0,但您将拥有不兼容的 setuptools 18.0.1。
- 错误:google-auth 1.11.2 要求 setuptools>=40.3.0,但您将拥有不兼容的 setuptools 18.0.1。
pip install --upgrade setuptools Collecting setuptools Downloading setuptools-46.0.0-py3-none-any.whl (582 kB) |████████████████████████████████| 582 kB 1.5 MB/s Installing collected packages: setuptools Attempting uninstall: setuptools Found existing installation: setuptools 18.0.1 Uninstalling setuptools-18.0.1: Successfully uninstalled setuptools-18.0.1 Successfully installed setuptools-46.0.0 [[email protected] conf]#
接下来,我们可以继续为 CPU 和 GPU 安装当前稳定版本的 TensorFlow。
[[email protected] ~]# pip install tensorflow Collecting tensorflow Downloading tensorflow-2.1.0-cp35-cp35m-manylinux2010_x86_64.whl (421.8 MB) |████████████████████████████████| 421.8 MB 15 kB/s Collecting keras-applications>=1.0.8 Downloading Keras_Applications-1.0.8-py3-none-any.whl (50 kB) |████████████████████████████████| 50 kB 17.9 MB/s Collecting gast==0.2.2 Downloading gast-0.2.2.tar.gz (10 kB) Collecting opt-einsum>=2.3.2 Downloading opt_einsum-3.2.0-py3-none-any.whl (63 kB) |████████████████████████████████| 63 kB 7.6 MB/s Collecting termcolor>=1.1.0 Downloading termcolor-1.1.0.tar.gz (3.9 kB) Collecting six>=1.12.0 Downloading six-1.14.0-py2.py3-none-any.whl (10 kB) Collecting numpy<2.0,>=1.16.0 Downloading numpy-1.18.1-cp35-cp35m-manylinux1_x86_64.whl (19.9 MB) |████████████████████████████████| 19.9 MB 6.2 kB/s Collecting wheel>=0.26; python_version >= "3" Downloading wheel-0.34.2-py2.py3-none-any.whl (26 kB) Collecting protobuf>=3.8.0 Downloading protobuf-3.11.3-cp35-cp35m-manylinux1_x86_64.whl (1.3 MB) |████████████████████████████████| 1.3 MB 76.8 MB/s Collecting tensorflow-estimator<2.2.0,>=2.1.0rc0 Downloading tensorflow_estimator-2.1.0-py2.py3-none-any.whl (448 kB) |████████████████████████████████| 448 kB 77.3 MB/s Collecting google-pasta>=0.1.6 Downloading google_pasta-0.1.8-py3-none-any.whl (57 kB) |████████████████████████████████| 57 kB 18.0 MB/s Collecting wrapt>=1.11.1 Downloading wrapt-1.12.1.tar.gz (27 kB) Collecting grpcio>=1.8.6 Downloading grpcio-1.27.2-cp35-cp35m-manylinux2010_x86_64.whl (2.7 MB) |████████████████████████████████| 2.7 MB 71.3 MB/s Collecting absl-py>=0.7.0 Downloading absl-py-0.9.0.tar.gz (104 kB) |████████████████████████████████| 104 kB 88.2 MB/s Collecting scipy==1.4.1; python_version >= "3" Downloading scipy-1.4.1-cp35-cp35m-manylinux1_x86_64.whl (26.0 MB) |████████████████████████████████| 26.0 MB 69.9 MB/s Collecting keras-preprocessing>=1.1.0 Downloading Keras_Preprocessing-1.1.0-py2.py3-none-any.whl (41 kB) |████████████████████████████████| 41 kB 651 kB/s Collecting tensorboard<2.2.0,>=2.1.0 Downloading tensorboard-2.1.1-py3-none-any.whl (3.8 MB) |████████████████████████████████| 3.8 MB 79.3 MB/s Collecting astor>=0.6.0 Downloading astor-0.8.1-py2.py3-none-any.whl (27 kB) Collecting h5py Downloading h5py-2.10.0-cp35-cp35m-manylinux1_x86_64.whl (2.8 MB) |████████████████████████████████| 2.8 MB 76.5 MB/s Requirement already satisfied: setuptools in /opt/rh/rh-python35/root/usr/lib/python3.5/site-packages (from protobuf>=3.8.0->tensorflow) (18.0.1) Collecting google-auth-oauthlib<0.5,>=0.4.1 Downloading google_auth_oauthlib-0.4.1-py2.py3-none-any.whl (18 kB) Collecting google-auth<2,>=1.6.3 Downloading google_auth-1.11.2-py2.py3-none-any.whl (76 kB) |████████████████████████████████| 76 kB 19.0 MB/s Collecting werkzeug>=0.11.15 Downloading Werkzeug-1.0.0-py2.py3-none-any.whl (298 kB) |████████████████████████████████| 298 kB 72.9 MB/s Collecting markdown>=2.6.8 Downloading Markdown-3.2.1-py2.py3-none-any.whl (88 kB) |████████████████████████████████| 88 kB 26.9 MB/s Collecting requests<3,>=2.21.0 Downloading requests-2.23.0-py2.py3-none-any.whl (58 kB) |████████████████████████████████| 58 kB 20.8 MB/s Collecting requests-oauthlib>=0.7.0 Downloading requests_oauthlib-1.3.0-py2.py3-none-any.whl (23 kB) Collecting pyasn1-modules>=0.2.1 Downloading pyasn1_modules-0.2.8-py2.py3-none-any.whl (155 kB) |████████████████████████████████| 155 kB 83.1 MB/s Collecting cachetools<5.0,>=2.0.0 Downloading cachetools-4.0.0-py3-none-any.whl (10 kB) Collecting rsa<4.1,>=3.1.4 Downloading rsa-4.0-py2.py3-none-any.whl (38 kB) Collecting urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 Downloading urllib3-1.25.8-py2.py3-none-any.whl (125 kB) |████████████████████████████████| 125 kB 73.9 MB/s Collecting certifi>=2017.4.17 Downloading certifi-2019.11.28-py2.py3-none-any.whl (156 kB) |████████████████████████████████| 156 kB 80.8 MB/s Collecting chardet<4,>=3.0.2 Downloading chardet-3.0.4-py2.py3-none-any.whl (133 kB) |████████████████████████████████| 133 kB 87.7 MB/s Collecting idna<3,>=2.5 Downloading idna-2.9-py2.py3-none-any.whl (58 kB) |████████████████████████████████| 58 kB 20.3 MB/s Collecting oauthlib>=3.0.0 Downloading oauthlib-3.1.0-py2.py3-none-any.whl (147 kB) |████████████████████████████████| 147 kB 82.4 MB/s Collecting pyasn1<0.5.0,>=0.4.6 Downloading pyasn1-0.4.8-py2.py3-none-any.whl (77 kB) |████████████████████████████████| 77 kB 8.7 MB/s Installing collected packages: numpy, six, h5py, keras-applications, gast, opt-einsum, termcolor, wheel, protobuf, tensorflow-estimator, google-pasta, wrapt, grpcio, absl-py, scipy, keras-preprocessing, oauthlib, urllib3, certifi, chardet, idna, requests, requests-oauthlib, pyasn1, pyasn1-modules, cachetools, rsa, google-auth, google-auth-oauthlib, werkzeug, markdown, tensorboard, astor, tensorflow Running setup.py install for gast ... done Running setup.py install for termcolor ... done Running setup.py install for wrapt ... done Running setup.py install for absl-py ... done Successfully installed absl-py-0.9.0 astor-0.8.1 cachetools-4.0.0 certifi-2019.11.28 chardet-3.0.4 gast-0.2.2 google-auth-1.11.2 google-auth-oauthlib-0.4.1 google-pasta-0.1.8 grpcio-1.27.2 h5py-2.10.0 idna-2.9 keras-applications-1.0.8 keras-preprocessing-1.1.0 markdown-3.2.1 numpy-1.18.1 oauthlib-3.1.0 opt-einsum-3.2.0 protobuf-3.11.3 pyasn1-0.4.8 pyasn1-modules-0.2.8 requests-2.23.0 requests-oauthlib-1.3.0 rsa-4.0 scipy-1.4.1 six-1.14.0 tensorboard-2.1.1 tensorflow-2.1.0 tensorflow-estimator-2.1.0 termcolor-1.1.0 urllib3-1.25.8 werkzeug-1.0.0 wheel-0.34.2 wrapt-1.12.1 [[email protected] conf]#
为了确认我们的安装成功,我们可以运行以下两个命令之一。
[[email protected] conf]# pip show tensorflow Name: tensorflow Version: 2.1.0 Summary: TensorFlow is an open source machine learning framework for everyone. Home-page: https://www.tensorflow.org/ Author: Google Inc. Author-email: [email protected] License: Apache 2.0 Location: /opt/rh/rh-python35/root/usr/lib64/python3.5/site-packages Requires: google-pasta, six, tensorflow-estimator, termcolor, wrapt, keras-applications, absl-py, keras-preprocessing, numpy, tensorboard, scipy, grpcio, astor, wheel, gast, protobuf, opt-einsum Required-by: [[email protected] conf]#
或者
[[email protected] ~]# pip list | grep tensorflow tensorflow 2.1.0 tensorflow-estimator 2.1.0 [[email protected] conf]#
安装完成后,我们就可以开始创建我们的虚拟环境了。 关于如何配置这个软件的说明超出了本文的范围,但可以在官方中找到 TensorFlow 文档。
硬安装
点安装
安装 Keras 有两种方法。 第一种是使用 Python PIP 安装程序或使用标准的 GitHub 克隆安装。 我们将使用 PIP 安装程序安装 Keras,因为这是推荐的安装程序。
[[email protected] ~]# pip install keras Collecting keras Downloading Keras-2.3.1-py2.py3-none-any.whl (377 kB) |████████████████████████████████| 377 kB 1.5 MB/s Requirement already satisfied: scipy>=0.14 in /opt/rh/rh-python35/root/usr/lib64/python3.5/site-packages (from keras) (1.4.1) Requirement already satisfied: h5py in /opt/rh/rh-python35/root/usr/lib64/python3.5/site-packages (from keras) (2.10.0) Requirement already satisfied: six>=1.9.0 in /opt/rh/rh-python35/root/usr/lib/python3.5/site-packages (from keras) (1.14.0) Requirement already satisfied: keras-preprocessing>=1.0.5 in /opt/rh/rh-python35/root/usr/lib/python3.5/site-packages (from keras) (1.1.0) Requirement already satisfied: numpy>=1.9.1 in /opt/rh/rh-python35/root/usr/lib64/python3.5/site-packages (from keras) (1.18.1) Collecting pyyaml Downloading PyYAML-5.3.tar.gz (268 kB) |████████████████████████████████| 268 kB 6.4 MB/s Requirement already satisfied: keras-applications>=1.0.6 in /opt/rh/rh-python35/root/usr/lib/python3.5/site-packages (from keras) (1.0.8) Building wheels for collected packages: pyyaml Building wheel for pyyaml (setup.py) ... done Created wheel for pyyaml: filename=PyYAML-5.3-cp35-cp35m-linux_x86_64.whl size=44228 sha256=60be7547ea2c16c5d689381cf523c6ce9bf7c03e55cc81a8dd9b830a16fc22cd Stored in directory: /root/.cache/pip/wheels/4d/28/ad/d9c3d2a22dbe17b0d7019bbe876af34feabf61a214973481e9 Successfully built pyyaml Installing collected packages: pyyaml, keras Successfully installed keras-2.3.1 pyyaml-5.3 [[email protected] conf]#
再次,我们检查安装版本的输出。
[[email protected] conf]# pip list | grep Keras Keras 2.3.1 Keras-Applications 1.0.8 Keras-Preprocessing 1.1.0 [[email protected] conf]#
Git 克隆安装
这是使用 GitHub 源的 Keras 的替代安装方法。 (这假设您已安装并运行 Git。)首先,使用以下 git 命令克隆 Keras。
[[email protected] ~]# git clone https://github.com/keras-team/keras.git
然后,cd 进入 Keras 文件夹并运行安装命令。
[[email protected] ~]# cd keras [[email protected] ~]# python setup.py install
因为 Keras 使用 TensorFlow 作为其主要的张量操作库,所以一旦我们第一次运行 Keras,就可以使用 Keras 特定的配置文件来配置它的后端框架。 可以在此处找到文件的位置。
$HOME/.keras/keras.json
默认配置文件将类似于以下信息。
{ “image_data_format”: “channels_last”, “epsilon”: 1e-07, “floatx”: “float32”, “backend”: “tensorflow” }
当我们将后端字段修改为“cntk”、“theano”或“tensorflow”时,Keras 将在我们下次运行任何更新的 Keras 代码时使用新的配置设置。
结论
深度学习开创了机器素养的新时代,它改进了其当前的功能。 Keras 和 TensorFlow 等框架使我们能够在私人环境中试验机器学习,这使得其背后的技术更接近家庭。
虽然本文似乎需要许多配置,但 Liquid Web 可以为您提供帮助。 我们可以使用我们广泛的备份存储和 Cloud 服务器备份选项。 该服务为您和您客户的数据提供全天候保护。
给我们打电话 800.580.4985,或打开一个 聊天 或与我们联系,与我们知识渊博的解决方案或经验丰富的托管顾问之一交谈,以了解您今天如何利用这些技术!