TensorFlow高階函數(shù):tf.foldl

2018-10-20 17:05 更新
函數(shù):tf.foldl
foldl ( 
    fn , 
    elems , 
    initializer = None , 
    parallel_iterations = 10 , 
    back_prop = True , 
    swap_memory = False , 
    name = None
 )

定義在:tensorflow/python/ops/functional_ops.py.

參見指南:高階函數(shù)>高階運算符

該 TensorFlow 高階函數(shù)表示折疊從0維度上的 elems 中的解壓縮張量列表.

該 foldl 運算符反復(fù)地將可調(diào)用的 fn 應(yīng)用于從第一個到最后一個元素序列.這些元素是由0維度上的 elems 維度0上解壓縮張量構(gòu)成.可調(diào)用的 fn 將采用兩個張量作為參數(shù).第一個參數(shù)是從上一次的調(diào)用 fn 計算而來的累計值.如果 initializer(初始值設(shè)定項) 是 None,則 elems 必須至少包含一個元素,并且其第一個元素用作初始值設(shè)定項.

假設(shè) elems 被解壓縮成 values、一個張量列表.結(jié)果張量的形狀為:fn(initializer, values[0]).shape.

參數(shù):

  • fn:可執(zhí)行的調(diào)用.
  • elems:在0維度上解壓縮的張量.
  • initializer:(可選)累加器的初始值.
  • parallel_iterations:(可選)允許并行運行的迭代次數(shù).
  • back_prop:(可選)True,支持反向傳播.
  • swap_memory:(可選)True,可實現(xiàn) GPU-CPU 內(nèi)存交換.
  • name:(可選)返回的張量的名稱前綴.

返回值:

返回一個張量,該張量來自從第一次到最后一次將 fn 連續(xù)應(yīng)用到從 elems 中解壓縮出來的張量列表.

可能引發(fā)的錯誤:

  • TypeError:如果 fn 不可調(diào)用

使用實例:

elems = [1, 2, 3, 4, 5, 6]
sum = foldl(lambda a, x: a + x, elems)
# sum == 21
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號