天天看点

tensorflow 张量

有的人将tensorflow的张量简单粗暴的理解为n维数据,从功能的角度上可以这么理解。但是张量实际上并不是n维数组,因为张量并没有真正保存数字,而是保存如何得到这些数据的计算过程。

import tensorflow as tf

a = tf.constant([1, 2], name = "a")
b = tf.constant([3, 2], name = "b")

result = a + b
print(result)

with tf.Session() as sess:
    ret = sess.run(result)
    print(ret)
           

result为一个张量,直接打印result得出的结果是:

Tensor("add:0", shape=(2,), dtype=int32)

从这个打印结果看,result并不是一个n维数组。

通过sess.run(result)之后,得到的结果是:

[4 4]

所以ret才是一个所谓的n维数组。

从Tensor("add:0", shape=(2,), dtype=int32)看,张量主要包含三个属性:

1、名字,即唯一标识符;

2、维度shape,该属性描述张量的维度信息,比如shape=(2,)表示的是一维数组;

3、类型dtype,每个张量有一个唯一的类型;

继续阅读