张量(Tensor)是一个很重要的概念。在TensorFlow中所有的数据都用张量来表示,当然张量可以被简单得理解为多维数组。
其中零阶张量表示标量(scalar),一阶张量表示向量(vector),n阶张量就是n阶数组。但是张量在TensorFlow中的实现并不想Numpy那样是数组的形式,而只是运算结果的引用,即是一种计算过程。
下面是一个实例:
Python
代码语言:javascript复制import tensorflow as tf
a = tf.constant([1.0, 2.0], name="a")
b = tf.constant([2.0, 3.0], name="b")
result = tf.add(a, b, name="add")
print(result)
# Tensor("add:0", shape=(2,), dtype=float32)
with tf.Session() as sess:
print(sess.run(result)
计算结果:
Tensor(“add:0”, shape=(2,), dtype=float32)
[3. 5.]
可以看到其计算结果是一个结构
add代表的是名称(节点名称),0代表是来自节点的第几个输出
shape是数组的结构,是一个一维数组,它的长度为2
dtype是数据类型,注意要是a和b的类型不匹配此代码将无法执行
当然result只是定义了这样一个运算,实际上没有执行,需要session来run才能看到最终结果。