1. 程式人生 > >直觀的理解tensorflow中的tf.tile()函式

直觀的理解tensorflow中的tf.tile()函式

tensorflow中的tile()函式是用來對張量(Tensor)進行擴充套件的,其特點是對當前張量內的資料進行一定規則的複製。最終的輸出張量維度不變。

函式定義:

tf.tile(
    input,
    multiples,
    name=None
)

input是待擴充套件的張量,multiples是擴充套件方法。
假如input是一個3維的張量。那麼mutiples就必須是一個1x3的1維張量。這個張量的三個值依次表示input的第1,第2,第3維資料擴充套件幾倍。
具體舉一個例子:

import tensorflow as tf

a = tf.constant([[1, 2], [3, 4], [5, 6]]
, dtype=tf.float32) a1 = tf.tile(a, [2, 3]) with tf.Session() as sess: print(sess.run(a)) print(sess.run(a1))

tf.tile()具體的操作過程如下:

這裡寫圖片描述

請注意:上面繪圖中第一次擴充套件後第一維由三個資料變成兩行六個資料,多一行並不是多了一維,資料扔為順序排列,只是為了方便繪製而已。

每一維資料的擴充套件都是將前面的資料進行復制然後直接接在原資料後面。

如果multiples的某一個數據為1,則表示該維資料保持不變。

就這樣。