Tensor(张量)的简介与运用

2021-05-21 15:45:31 浏览数 (1)

张量(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才能看到最终结果。

0 人点赞