深度学习之在 Ubuntu 上安装 Keras 及其依赖

2020-04-23 15:29:37 浏览数 (1)

什么是Keras

Keras是一个由Python编写的开源人工神经网络库,可以作为Tensorflow、Microsoft-CNTK和Theano的高阶应用程序接口,进行深度学习模型的设计、调试、评估、应用和可视化.

Keras的主要开发者是谷歌工程师François Chollet,此外其GitHub项目页面包含6名主要维护者和超过800名直接贡献者 。Keras在其正式版本公开后,除部分预编译模型外,按MIT许可证开放源代码.

Keras的优势

1. 用户友好。 Keras 是为人类而不是为机器设计的 API。 它把用户体验放在首要和中心位置。Keras 遵循减少认知困难的最佳实践:它提供一致且简单的 API,将常见用例所需的用户操作数量降至最低,并且在用户错误时提供清晰和可操作的反馈。

2. 模块化。 模型被理解为由独立的、完全可配置的模块构成的序列或图。 这些模块可以以尽可能少的限制组装在一起。特别是神经网络层、损失函数、优化器、初始化方法、激活函数、正则化方法,它们都是可以结合起来构建新模型的模块。

3. 易扩展性。 新的模块是很容易添加的(作为新的类和函数),现有的模块已经提供了充足的示例。由于能够轻松地创建可以提高表现力的新模块,Keras 更加适合高级研究。

4. 基于 Python 实现。 Keras 没有特定格式的单独配置文件。模型定义在 Python 代码中,这些代码紧凑,易于调试,并且易于扩展。

安装

首先安装tensorflow

代码语言:javascript复制
# GPU 版本
pip install --upgrade tensorflow-gpu

# CPU 版本
pip install --upgrade tensorflow

验证是否安装成功:

代码语言:javascript复制
import tensorflow as tf

然后再安装keras

代码语言:javascript复制
# Keras 安装
pip install keras -U --pre

安装python科学计算环境matplotlib

numpy

NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。

代码语言:javascript复制
sudo apt-get install python-numpy
scipy

scipy是一个高级的科学计算库,常见的是插值运算、优化算法、图像处理和数学统计等。

代码语言:javascript复制
sudo apt-get install python-scipy
matplotlib

Matplotlib 是 Python 的绘图库。 它可与 NumPy 一起使用,提供了一种有效的 MatLab 开源替代方案。 它也可以和图形工具包一起使用,如 PyQt 和 wxPython。

代码语言:javascript复制
sudo apt-get install python-matplotlib

安装BLAS 库

BLAS(Basic Linear Algebra Subprograms)即基础线性代数子程序库,里面拥有大量已经编写好的关于线性代数运算的程序。

代码语言:javascript复制
sudo apt-get install build-essential cmake git unzip 
pkg-config libopenblas-dev liblapack-dev

安装 HDF5

最初由 NASA(美国国家航空航天局)开发,用高效的二进制格式来保存数值数据的大文件。它可以让你将 Keras 模型快速高效地保存到磁盘。

代码语言:javascript复制
sudo apt-get install libhdf5-serial-dev python-h5py

安装 Graphviz 和 pydot-ng

用于将 Keras 模型可视化。

代码语言:javascript复制
sudo apt-get install graphviz
sudo pip install pydot-ng

安装opencv

OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows、Android和Mac OS操作系统上。它轻量级而且高效——由一系列 C 函数和少量 C 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。

代码语言:javascript复制
sudo apt-get install python-opencv

设置 GPU 支持

因为我这里没有GPU,所以以下参考 用 GPU 并不是绝对必要的,但书籍一般推荐使用 GPU。 CPU 上运行训练模型有时可能需要等待几个小时,而在一个好的 GPU 上则只需要几分钟。

想要用 NVIDIA GPU 做深度学习,需要同时安装 CUDA 和 cuDNN。

CUDA

CUDA™是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。

下载

代码语言:javascript复制
wget http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/
x86_64/cuda-repo-ubuntu1604_9.0.176-1_amd64.deb

安装

代码语言:javascript复制
sudo dpkg -i cuda-repo-ubuntu1604_9.0.176-1_amd64.deb
sudo apt-key adv --fetch-keys http://developer.download.nvidia.com/compute/
cuda/repos/ubuntu1604/ x86_64/7fa2af80.pub
sudo apt-get update
sudo apt-get install cuda-8-0
cuDNN

NVIDIA cuDNN是用于深度神经网络的GPU加速库。它强调性能、易用性和低内存开销。NVIDIA cuDNN可以集成到更高级别的机器学习框架中,如谷歌的Tensorflow、加州大学伯克利分校的流行caffe软件。

使用 cuDNN 并在 GPU 上运行时,通常可以将模型的训练速度提高 50% 到 100%

安装

  1. 注册一个免费的 NVIDIA 开发者账号.
  2. 执行安装命令
代码语言:javascript复制
sudo dpkg -i dpkg -i libcudnn6*.deb

ok,到这里一些基本的工具就算安装完了.O(∩_∩)O

参考

Keras百度百科 Keras官方文档 NumPy 教程 NumPy Matplotlib

0 人点赞