今天学习TensorFlow,一个超级好用的神经网络搭载库
什么是TensorFlow
TensorFlow 是一个采用数据流图(data flow graphs),用于数值计算的开源软件库。TensorFlow 最初由Google大脑小组(隶属于Google机器智能研究机构)的研究员和工程师们开发出来,用于机器学习和深度神经网络方面的研究,但这个系统的通用性使其也可广泛用于其他计算领域。它是谷歌基于DistBelief进行研发的第二代人工智能学习系统。2015年11月9日,Google发布人工智能系统TensorFlow并宣布开源。
其命名来源于本身的原理,Tensor(张量)意味着N维数组,Flow(流)意味着基于数据流图的计算。Tensorflow运行过程就是张量从图的一端流动到另一端的计算过程。常用于计算图中
关于计算图,可以观看我之前的博客:AI学习——自动微分算法
TensorFlow的特性
- 高度的灵活性:只要能够将计算表示成为一个数据流图,那么就可以使用TensorFlow。
- 可移植性:TensorFlow支持CPU和GPU的运算,并且可以运行在台式机、服务器、手机移动端设备等等。
- 自动求微分:TensorFlow内部实现了自动对于各种给定目标函数求导的方式。
- 多种语言支持:Python、C++
- 性能高度优化
基础代码
TensorFlow API——数据类型
# 标量
import tensorflow as tf
a = tf.constant(1,2)
type(a)
a
# 向量
b = tf.constant([1,2.,3.3])
b.numpy(), b.shape
b
# 矩阵
c = tf.constant([[1,2],[3,4]])
c.shape
c
待优化张量
# 列表转张量
a = tf.Variable([[1,2],[3,4]])
a
# 全0向量矩阵
tf.zeros([2,2,2]), tf.zeros_like(a)
# 全1向量矩阵
tf