一、按索引取數據
①tf.gather()
輸入參數:數據、維度、索引
例:設數據是[4,35,8],4個班級,每個班級35個學生,每個學生8門課成績。
則下面In [49]的意思是,全部四個班級,每個班級取編號為2,3,7,9,16的學生,每個學生取所有8門課的成績。
②tf.gather_nd
前面輸入數據,后面填取的聯合維度。只把最內層的括號當做聯合索引的坐標。???????
下面的例子,也是一樣,最內層的中括號,是一個聯合索引。比如in56,第0個班級,第0號學生成績,以及第1號班級,第1號學生的成績。也就是每一個最內層中括號,都是一個樣本,而里面的每一個數據,都相當于一個特征。
③tf.boolean_mask
按布爾值索引,不指定維度相當于是第一個維度,指定axis就會根據axis去索引。給索引矩陣也可以。
二、維度變換
①tf.reshape()
輸入參數:數據,希望變成的維度
②tf.transpose()
轉置,perm數字指的是數字所在位置上放哪一個原來的維度。
pytorch中圖像存儲維度是[b,c,h,w],tf中是[b,h,w,c]
③tf.expand_dims()
增加維度,第一個填的是數據,第二個填的是維度,是指你希望把添加的維度作為第幾維。
④tf.squeeze()
可以去掉為1的維度。不指定維度的話就去掉所有的為1的維度。
以上就是TensorFlow人工智能學習按索引取數據及維度變換詳解的詳細內容,更多關于TensorFlow索引維度變換的資料請關注服務器之家其它相關文章!
原文鏈接:https://blog.csdn.net/Swayzzu/article/details/121212492