近几年各种深度学习框架涌现,大家可能很难从众多的深度学习框架中选择一个合适的框架进行学习。对于深度学习的初学者,或者觉得Tensorflow,Caffe等框架学习困难难以上手的人,可以考虑学习Keras。
Keras是一种高度模块化,使用简单上手快,合适深度学习初学者使用的深度学习框架。Keras由纯Python编写而成并以Tensorflow、Theano以及CNTK为后端。Keras为支持快速实验而生,能够把你的idea迅速转换为结果。
Keras的设计原则是:
用户友好:Keras是为人类而不是天顶星人设计的API。用户的使用体验始终是我们考虑的首要和中心内容。Keras遵循减少认知困难的较佳实践:Keras提供一致而简洁的API, 能够极大减少一般应用下用户的工作量,同时,Keras提供清晰和具有实践意义的bug反馈。
模块性:模型可理解为一个层的序列或数据的运算图,完全可配置的模块可以用最少的代价自由组合在一起。具体而言,网络层、损失函数、优化器、初始化策略、激活函数、正则化方法都是独立的模块,你可以使用它们来构建自己的模型。
易扩展性:添加新模块超级容易,只需要仿照现有的模块编写新的类或函数即可。创建新模块的便利性使得Keras更适合于先进的研究工作。
与Python协作:Keras没有单独的模型配置文件类型(作为对比,caffe有),模型由python代码描述,使其更紧凑和更易debug,并提供了扩展的便利性。
第一部份 Keras简介,Anaconda安装,Tensorflow的CPU版本安装,Keras安装。
第二部份 Keras实现线性回归,非线性回归,手写数字分类。
第三部份 交叉熵(cross-entropy),过拟合,dropout,正则化以及Keras中各种优化器的介绍。
第四部份 卷积神经网络CNN的讲解,以及用CNN解决MNIST分类问题。
第五部份 递归神经网络LSTM的讲解,以及LSTM网络的使用。
第六部份 使用Keras完成图像识别。
第七部份 使用Keras完成图片风格转换。
第八部份 seq2seq模型讲解及使用。
第九部份 使用Keras进行情感分类。
第十部份 使用Keras搭建生成对抗网络GAN。
|