tensorflow简介以及与Keras的关系
转载自 https://blog.csdn.net/li528405176/article/details/83857286
TensorFlow和theano以及Keras都是深度学习框架,TensorFlow和theano比较灵活,也比较难学,它们其实就是一个微分器
tensorflow简介
tensorflow是Google开源的基于数据流图的机器学习框架,支持python和c++程序开发语言。轰动一时的AlphaGo就是使用tensorflow进行训练的,其命名基于工作原理,tensor 意为张量(即多维数组),flow 意为流动。即多维数组从数据流图一端流动到另一端。目前该框架支持 Windows、Linux、Mac乃至移动手机端等多种平台。下图为其数据流动示意图。
Keras简介
Keras是基于TensorFlow和Theano(由加拿大蒙特利尔大学开发的机器学习框架)的深度学习库,是由纯python编写而成的高层神经网络API,也仅支持python开发。它是为了支持快速实践而对tensorflow或者Theano的再次封装,让我们可以不用关注过多的底层细节,能够把想法快速转换为结果。它也很灵活,且比较容易学。Keras默认的后端为tensorflow,如果想要使用theano可以自行更改。tensorflow和theano都可以使用GPU进行硬件加速,往往可以比CPU运算快很多倍。因此如果你的显卡支持cuda的话,建议尽可能利用cuda加速模型训练。(当机器上有可用的GPU
时,代码会自动调用GPU 进行并行计算。)
目前Keras已经被TensorFlow收录,添加到TensorFlow 中,成为其默认的框架,成为TensorFlow官方的高级API。