Tensorflow入门基本概念-----张量
程序员文章站
2022-07-13 13:10:36
...
张量是TensorFlow最主要的数据结构,张量是数学领域的概念,具体到TensorFlow中,一个张量就是一个张量类的实例,是绑定了相关运算的一个特定类型的多维数组。
1、张量的属性:
- 所有张量都有一个静态的类型和动态的维数,也就是说你可以实时的改变一个张量的内部结构。
- 只有张量类型的对象才能在计算图的节点中传递。
- 张量的阶(rank):表示张量的维度,但跟矩阵的秩又不太一样。它表示张量的维度的质量。
阶 | 数学表示 |
0 | 标量(Scalar) |
1 | 向量(Vector) |
2 | 矩阵(Matrix) |
3 | 3维张量(3-tensor) |
n | n维张量(n-tensor) |
- 张量的形状(shape):形如[[,][,]] ,或0阶:比如单个数字2。下面举个例子:
import tensorflow as tf
tens1 = tf.constant([[[1,2],[2,3]],[[3,4],[5,6]]])
sess = tf.session()
print(sess.run(tens1)[1,1,0])
#输出结果为5
#[1,1,0] 其中第一个1表示取[[3,4],[5,6]]
#第二个1表示取[5,6]
#第三个0表示取5
#所以结果为5
- 张量的数据类型:这里主要说一下tf.string,可变长度的字节数组,每一个张量元素都是一个字节数组。
2、张量的创建
- TensorFlow和numpy是可互操作的,通常调用eval()函数会返回numpy对象。该函数可以用作标准数值工具。(注:张量对象只是一个操作结果的符号化句柄,它并不持有该操作的结果。所以可以使用eval()方法来获取实际的值,等价于Session.run(tensor_to_eval) )
- tf.convert_to_tensor()方法将python对象转化为tensor对象,可以是tensor对象、numpy数组、Python列表、Python标量。
上一篇: jQuery选择器