tensorflow学习笔记(三)常用函数

上一篇简单介绍了tensorflow的基本操作,这一篇介绍一些常用的函数。

  • tf.constant()

    tf.constant ( 
        value ,           
        dtype = None , 
        shape = None , 
        name = 'Const' , 
        verify_shape = False 
    )  
    value:类型是dtype的常量值(常用)
    dtype:张量元素的类型
    shape:张量的形状
    name:张量的可选名称
    verify_shape:布尔值可以验证数值的形状(不常用)
    返回:常数张量

    用来创建常数张量,value和shape一般不一块使用。
    t_1 = tf.constant([1, 2, 3, 4])  # 返回张量[1, 2, 3, 4]
    t_2 = tf.constant(-1, shape=[2,3])  # 返回张量[[-1,-1,-1], [-1,-1,-1]]
  • tf.Variable()

    定义变量
    v_1 = tf.Variable([0, 0, 0])
  • tf.eye()

    创建tensorflow单位矩阵

    tf.eye(
        num_rows,
        num_columns=None,
        batch_shape=None,
        dtype=tf.float32,
        name=None
    )
    

    num_rows:单位矩阵行数
    num_colums:单位矩阵的列数,默认等于行数
    batch_shape:如果提供,返回的张量将具有该形状的主要批次维度
    返回:一定形状的单位阵

    tf.eye(2)
    >>[[1, 0],
       [0, 1]]
    
    tf.eye(2, 3)
    >>[[1, 0, 0], 
       [0, 1, 0]]
    

     

 

  • tf.zeros()创建一定形状的零矩阵

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

    shape:矩阵的形状
    返回:元素全零张量

  • tf.shape([2, 3])
    >>[[0, 0, 0],
       [0, 0, 0]]
    

     

  • tf.zeros_like()

    创建与某个张量形状一样的全零张量
    tf.zeros_like(
        tensor,
        dtype=None,
        name=None,
        optimize=True
    )
    

    tensor:一个tf 张量,会创建与这个张量形状一样的全零张量
    optimize:如果为true,则尝试静态确定“张量”的形状并将其编码为常量
    返回:元素全零张量

    tensor = tf.constant([[1, 2, 3], [4, 5, 6]])
    tf.zeros_like(tensor)  # [[0, 0, 0], [0, 0, 0]],与tensor的形状相同
    

     

  • tf.ones()

    创建元素是全是1的张量
    tf.ones(
        shape,
        dtype=tf.float32,
        name=None
    )
    

     

  • tf.ones_like()

    创建与某个张量形状相同的全1张量,参数与 zeres_like() 相同
    ones_like(
        tensor,
        dtype=None,
        name=None,
        optimize=True
    )
    

     

  • tf.linspace() / tf.lin_space() 

    两个函数相同,只是个别名,创建在一定范围内从初值到终值等差分布的数列的n个数
    lin_space(
        start,
        stop,
        num,
        name=None
    )
    

    start:范围的开始值,必须是以下类型之一:float32,float64
    stop:范围的结束值,必须和start类型相同
    num:数的个数
    返回:一个等差排列的张量

    tf.linspace(10.0, 12.0, 3, name="linspace") => [ 10.0  11.0  12.0]
    

     

  • tf.range()

    创建从a到b的增量是n的等差数列,不包括b,默认a是0,默认n是1
    tf.range(limit, delta=1, dtype=None, name='range')
    tf.range(start, limit, delta=1, dtype=None, name='range')
    

    参数两种形式,如果没给start 只给limit,默认是start0;如果给了start 和limit ,就创建从start到limit的等差数列。增量默认是1。
    返回一维张量。

    tf.range(3)  => [0, 1, 2]
    tf.range(1, 5)   => [1, 2, 3, 4]
    tf.range(3, 18, 3)    => [3, 6, 9, 12, 15]
    

     

posted @ 2020-02-24 19:46  panday  阅读(845)  评论(0编辑  收藏  举报