tensorflow2.0張量的維度變換


張量的軸的概念

在這里插入圖片描述
如果從后向前訪問軸就是使用復數,如上圖所示

使用reshape函數改變張量的形狀

在這里插入圖片描述
將形狀參數設置為-1,代表自動判斷長度
在這里插入圖片描述

增加和刪除維度

增加維度

tf.expand_dims(input,axis)

  • input:輸入的張量
  • axis:操作的軸

效果就是在選定的軸上添加維度(相當於在選定的那個軸上面添加了一個括號,將那一維變成二維)
在這里插入圖片描述
一個多維張量的例子
在這里插入圖片描述

刪除維度

tf.squeeze(input,axis)

  • input:輸入的張量
  • axis:對應要刪除的維度

注:只能刪除長度為1的維度,如果沒有指定維度,默認刪除所有長度為1的維度

在這里插入圖片描述

交換維度

tf.transpose(a,perm)

  • a:用於交換維度的張量
  • perm:用於設置軸的順序

在二維的情況下,可以視為是矩陣的轉置

二維的情況下

在這里插入圖片描述

多維的情況下

在這里插入圖片描述

拼接和分割

拼接張量

指定一組張量在某一個軸進行拼接
tf.concat(tensors,axis)

  • tensors:用於拼接的張量
  • axis:拼接的軸,也可以是負數,比如-1代表最后一個軸
    在這里插入圖片描述

分割張量

t1 = tf.split(value,num_or_size_splits,axis=0)

  • value:待分割的張量
  • num_or_size_splits:分割的方案,如果是一個數字x,則平均分割x份,如果是一個列表則按照列表中的數字的對應的比例進行分割
  • axis:代表從哪個軸進行分割
  • 返回的參數是分割后的張量列表
    -在這里插入圖片描述

堆疊和分解

堆疊

堆疊和拼接是類似的 區別是是否增加了新的維度

tf.stack(values,axis)

  • values:進行堆疊的張量
  • axis:從哪一個軸進行堆疊

在這里插入圖片描述

分解

分解是堆疊的逆運算
在這里插入圖片描述


免責聲明!

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



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