TensorFlow API 学习

    科技2023-09-29  81

    TensorFlow API 学习

    Tensor常量值函数

    tf.constant(value, dtype=None, shape=None, name=‘Const’)tf.zeros(shape, dtype=tf.float32, name=None)tf.zeros_like(tensor, dtype=None, name=None)tf.ones(shape, dtype=float32, name=None)tf.ones_like(tensor, dtype=None, name=None)tf.fill(dims, value, name=None)

    注意,tensorflow中的shape参数都是python中的list,即shape参数为[axis0, axis1, axis2,…]的形式,而不能是单个数字。

    tf.constant(value, dtype=None, shape=None, name=‘Const’) 参数:

    value:第一个值value是必须的,可以是一个数值,也可以是一个列表。dtype:所要创建的tensor的数据类型shape:所要创建的tensor的shape,不指定时,使用和value相同的数据类型name:(可选)一个该操作的别名

    tensor泛指一维向量、二维及以上矩阵。 value可以是一个数,也可以是一个list。如果是一个数,那么这个tensor中所有值按该数来赋值。如果是list,那么value的长度一定要小于等于shape展开后的长度。赋值时,先将value中的值逐个存入。不够的部分,则全部存入value的最后一个值。

    import tensorflow as tf import numpy as np # 一个长为2的list a = tf.constant(2, shape=[2]) # 元素都是2的2*2的矩阵 b = tf.constant(2, shape=[2, 2]) # 后面的元素用3填充 c = tf.constant([1, 2, 3], shape=[6]) d = tf.constant([1, 2, 3], shape=[3, 2]) # 开启一个会话对象 sess = tf.Session() # 为计算图中所有张量,使用他们的value值进行赋值 sess.run(tf.global_variables_initializer()) # 对计算图中张量a、b、c、d进行计算,得到结果后返回其值 print("a's value:", sess.run(a)) print("b's value:", sess.run(b)) print("c's value:", sess.run(c)) print("d's value:", sess.run(d))

    输出

    a's value:[2 2] b's value: [[2 2] [2 2]] c's value: [1 2 3 3 3 3] d's value: [[1 2] [3 3] [3 3]]

    tf.zeros(shape, dtype=tf.float32, name=None) 参数:

    shape:用于表示维度,通常为一个int32类型的list,或者一个一维的tf.int32数字,注意不能直接使用数字dtype:所要创建的tensor对象的数据类型name:(可选)一个该操作的别名

    返回:

    所有参数都为0的tensor对象

    这个操作会返回一个类型为dtype,并且维度为shape的tensor,并且所有参数均为0。

    import tensorflow as tf import numpy as np a = tf.zeros([2]) b = tf.zeros([2, 3], dtype=tf.int32) sess = tf.Session() sess.run(tf.global_variable_initializer()) print("a's value:", sess.run(a)) print("b's value:"sess.run(b))

    输出

    a's value:[0. 0.] b's vvalue: [[0 0 0], [0 0 0]]

    tf.zeros_like(tensor, dtype=None, name=None) 参数:

    tensor:tensor对象dtype:返回的tensor对象的数据类型,不设置(为空时)返回类型同参数tensor一致name:(可选)该操作别名

    返回:

    所有参数为0的tensor对象

    给定一个tensor对象,该方法会返回一个同当前tensor参数的数据类型以及维度的tensor对象,但是所有参数的值均为0。当参数dtype选定了后,所有返回参数的类型也会变成选定的类型。

    import tensorflow as tf a = tf.constant([1, 2, 3, 4, 5, 6], shape=[2, 3]) b = tf.zeros_like(a) sess = tf.Session() sess.run(tf.global_variables_initializer) print("a's value:", sess.run(a)) print("b's value:", sess.run(b))

    输出

    a's value: [[1 2 3] [4 5 6]] b's value: [[0 0 0] [0 0 0]]

    tf.ones(shape, dtype=tf.float32, name=None) 参数:

    shape:表示维度,tf.int32类型的整数的list或tuple,或者是一个一维的数字dtype:所要创建的tensor对象的数据类型name:(可选)该操作的别名

    返回:

    所有参数为1的Tensor对象 import tensorflow as tf a = tf.ones([2, 3], tf.int32) b = tf.ones((2, 3), tf.int32) c = tf.ones([2], tf.int32) sess = tf.Session() print("a's value:", sess.run(a)) print("b's value:", sess.run(b)) print("c's value:", sess.run(c))

    输出

    a's value: [[1 1 1] [1 1 1]] b's value: [[1 1 1] [1 1 1]] c's value: [1 1]

    tf.ones_like(tensor, dtype=None, name=None) 参数:

    tensor:tensor对象dtype:返回的tensor对象的数据类型,不指定时,和参数tensor的数据类型一致name:(可选)该操作的别名

    返回:

    所有参数为1的tensor对象 import tensorflow as tf a = tf.constant([[1, 2, 3], [4, 5, 6]]) b = tf.ones_like(a) sess = tf.Session() print("b's value:", sess.run(b))

    输出

    b's value: [[1 1 1] [1 1 1]]

    tf.fill(dims, value, name=None) 参数:

    dims:int32或int64的整数的list或tuple,或单个数字的list或tuplevalue:一个标量(0阶张量,即一个数字)值name:(可选)该操作的别名

    返回:

    所有元素值为value的tensor对象

    与tf.constant的区别,其value值只能是单个数字,而tf.constant的value值可以是单个数字,也是可以是一个list

    import tensorflow as tf a = tf.fill([2, 3], 9) with tf.Session() as sess: print("a's value:", sess.run(a))

    输出

    [[9 9 9] [9 9 9]]

    参考:https://blog.csdn.net/mch2869253130/article/details/89284628

    Processed: 0.009, SQL: 8