TensorFlow——常见张量操作的API函数

1.张量

张量可以说是TensorFlow的标志,因为整个框架的名称TensorFlow就是张量流的意思,全面的认识一下张量。在TensorFlow程序使用tensor数据结构来代表所有的数据,在计算图中,操作之间的数据都是Tensor,Tensor可以看做n维的数组或列表,每个tensor包含了类型(type),阶(rank),和形状(shape)。

2.tensor类型

tensor的类型主要有如下:

tf.float32 :32位浮点型
tf.float64 :64 位浮点型
tf.int64 :64位有符号整型
tf.int32 :32位有符号整型
tf.int16 :16位有符号整型
tf.int8 :8位有符号整型
tf.uint8 :8位无符号整型
tf.string :可变长度的字节数组
tf.bool :布尔型
tf.complex64 :两个32位浮点型组成的复数:实部和虚部

rank(阶)

rank(阶)指的就是维度,可以通过观察它的括号层数,比如张量[ [1,2,3], [2,3,4], [3,4,5] ]的阶为2,标量,向量,矩阵的阶数分别为0,1,2。

shape(形状)

shape用于描述张量内部的组织关系,形状通常可以用整数列表或者元组来表示,也可以用TensorFlow中的相关形状函数来表示。

张量的相关操作

张量的相关操作包括类型操作,数字操作,形状变换,数据操作

类型操作

if __name__ == '__main__':
    with tf.Session() as sess:
        print(sess.run(tf.string_to_number('123.456')))  # 将字符转为数字
        print(sess.run(tf.to_double(3)))        # 转为浮点型
        print(sess.run(tf.to_int32(3.1415)))    # 转为整型
        print(sess.run(tf.cast(3.1415, tf.int32)))  # 将类型转为指定类型

import tensorflow as tf

if __name__ == '__main__':
    with tf.Session() as sess:
        print(sess.run(tf.ones([2, 3], dtype=tf.float32)))  # 生成全1的数据
        print(sess.run(tf.zeros([2, 3], dtype=tf.float32)))   # 生成全0的数据
        print(sess.run(tf.ones_like([1, 2, 3, 4])))    # 生成指定形状的全1数据
        print(sess.run(tf.zeros_like([2, 3, 4, 5])))  # 生成指定形状的全0数据
        print(sess.run(tf.fill([2, 2], 6)))  # 使用指定值填充形状
        print(sess.run(tf.constant((2, 3), 3)))  # 生成常量
        print(sess.run(tf.random_normal([3, 3], mean=2.5, stddev=1.0, dtype=tf.float32, )))

 太多了。。。。

猜你喜欢

转载自www.cnblogs.com/baby-lily/p/10931819.html