Keras框架学习
# Keras简介
Keras是一个用Python编写的高级神经网络API,它能够以TensorFlow,CNTK,或者Theano作为后端运行。 Keras开发重点是支持快速的实验,能够以最小的时延把你的想法转换为实验结果,是做好研究的关键。
# 特点
- 允许简单而快速的原型设计(由于用户友好,高度模块化,可扩展性)。
- 用户友好。提供一致简单的API,是减少认知困难的最佳实践。将常见用例所需的用户操作数量将至最低,并且在用户错误时提供清晰和可操作的反馈。
- 高度模块化。模型被理解为由独立的、完全可配置的模块构成的序列或图。这些模块可能以尽可能少的限制组装在一起。特别是神经网络、损失函数、优化器、初始化方法、激活函数、正则化方法,它们都是可以结合起来构建新模型的模块。
- 易扩展性。新的模块是很容易添加的(作为新的类和函数),现有的模块已经提供了充足的示例。由于能够轻松地创建可以提高表现力的新模块,keras更加适合高级研究。
- 同时支持卷积神经网络和循环神经网络,以及两者的结合。在CPU和GPU上无缝运行。
- 基于Python的实现。Keras没有特定格式的单独配置文件。模型定义在Python代码中,这些代码紧凑,易于调试,并且易于扩展。
# 为什么选择Keras框架
在如今无数深度学习框架中,为什么要选择Keras而非其他。
深度学习框架使用情况介绍如下:TensorFlow 、Keras 、PyTorch 、Caffe 、Theano 、MXNET 、CNTK 、DeepLearning4 、Caffe2 、Chainer 、FastAI
与其他任何深度学习框架相比,Keras 在行业和研究领域的应用率更高(除 TensorFlow之外,且Keras API是 TensorFlow的官方前端,通过tf.keras模块使用)
Keras可以轻松的将模型转换为产品。与其他任何深度学习框架相比,你的Keras模型可以在更广泛的平台上轻松部署。
Keras部署:在IOS上,通过Apples CoreML(苹果为Keras提供的官方支持)。在Android上,通过TensorFlow Android runtime。例如 Not Hotdog app。在浏览器上,通过GPU加速的javaScript运行时。例如Keras.js和WebDNN。其他平台等等。
Kersa后端:Keras模型可以基于不同的深度学习后端开发。重要的是,任何仅利用内置层构建的Keras模型,都可以在所有这些后端中移植。支持的后端有谷歌的TensorFlow后端,微软的CNTK后端,Theano后端,亚马逊也在为Keras开发MXNET后端。
Keras训练:Keras拥有强大的GPU和分布式训练支持。
Anaconda:我们用Anaconda发行版作为Python的使用环境。Anaconda指的是一个开源的Python发行版本,其包含了conda、Python等180多个科学包及其依赖包。Anaconda和Jupyter notebook已经成为数据分析的标准环境。
https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/