TensorFlow 和 Keras 神经网络介绍

TensorFlow介绍


TensorFlow中文官网

TensorFlow最初由Google开发,它最初定义为描述机器学习算法的接口,以及执行该算法的实现。

TensorFlow的主要预期目标是简化机器学习解决方案在各种平台上的部署,如计算机CPU、计算机GPU、移动设备以及最近的浏览器中的部署。最重要的是,TensorFlow提供了许多有用的功能来创建机器学习模型并大规模运行他们。TensorFlow它专注于易用性,并能保持良好的性能。

TensorFlow既可供初学者使用,也可供专家使用。TensorFlow API具有不同级别的复杂度,从而使初学者可以从简单的API开始,同时也可以让专家创建非常复杂的模型。

TensorFlow主要架构


TensorFlow架构具有多个抽象层级。我们首先介绍底层,然后逐渐通往最上层。

大多数深度学习计算都是用C++编码的。为了再GPU上进行计算,TensorFlow使用了由NVIDIA开发的库CUDA。这就是想要利用GPU功能就需要安装CUDA,以及不能使用其他硬件制造商GPU的原因。


然后,Python底层API封装了C++源代码。当调用TensorFlow的Python方法时,通常会在后台调用C++代码。这个封装层使用户可以更快的工作,因为Python被认为更易于使用并且不需要编译。该Python封装器可以创建非常基本的运算,例如矩阵乘法和加法。


最上层是高级API,由Keras评估器API两个组件组成。KerasTensorFlow的一个用户、模块化且可扩展的封装器,评估器API包含多个预制组件,可以让你轻松的构建机器学习模型。你可以将他们视为模块化或者组件


在深度学习中,模型通常是指经过数据训练的神经网络。模型由架构、矩阵权重和参数组长

Keras介绍


Keras文档

Keras于2015年首次发布,它被设计为一种接口,可用于使用神经网络进行快速实验。因此,他依赖于TensorFlow或者Theano来运行深度学习操作。Keras以其用户友好著称,是初学者的首选库。TensorFlow完全集成了Keras,这意味着无需安装TensorFlow以外的任何库就可以使用它。我们将依赖tf.keras而不是Keras的独立版本。这两个版本之间有一些细微的差异,例如与TensorFlow的其他模块的兼容性以及模型的保存方式。因此,读者确保使用正确的版本,具体方法如下:

  • 在代码中,导入tf.keras而不是keras
  • 浏览TensorFlow网站上的tf.keras文档,而不是keras.io文档。
  • 在使用外部Keras库时,请确保他们与tf.keras兼容。
  • 某些保存的模型在Keras版本之间可不能兼容。

这两个版本在可预见的未来将继续共存,而tf.kerasTensorFlow集成将越来越密切。为了说明Keras的强大功能和简单性,我们将使用该库实现一个简单的神经网络。

你可能感兴趣的:(YOLO,tensorflow,keras,神经网络)