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]
    

     


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM