什么是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%
安装
- 注册一个免费的 NVIDIA 开发者账号.
- 执行安装命令
sudo dpkg -i dpkg -i libcudnn6*.deb
ok,到这里一些基本的工具就算安装完了.O(∩_∩)O
参考
Keras百度百科 Keras官方文档 NumPy 教程 NumPy Matplotlib