中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》
  • 首頁 > 
  • 教程 > 
  • 開發技術 > 
  • tensorflow實現tensor中滿足某一條件的數值取出組成新的tensor

tensorflow實現tensor中滿足某一條件的數值取出組成新的tensor

發布時間:2020-08-29 04:02:18 來源:腳本之家 閱讀:410 作者:u010551462 欄目:開發技術

首先使用tf.where()將滿足條件的數值索引取出來,在numpy中,可以直接用矩陣引用索引將滿足條件的數值取出來,但是在tensorflow中這樣是不行的。所幸,tensorflow提供了tf.gather()和tf.gather_nd()函數。

看下面這一段代碼:

import tensorflow as tf
sess = tf.Session()
def get_tensor():
  x = tf.random_uniform((5, 4))
  ind = tf.where(x>0.5)
  y = tf.gather_nd(x, ind)
  return x, ind, y

在上述代碼中,輸出分別是原始的tensor x,x中滿足特定條件(此處為>0.5)的數值的索引,以及x中滿足特定條件的數值。執行以下步驟,觀察三個tensor對應的數值:

x, ind, y = get_tensor()
x_, ind_, y_ = sess.run([x, ind, y])

可以得到如下結果:

tensorflow實現tensor中滿足某一條件的數值取出組成新的tensor

tensorflow實現tensor中滿足某一條件的數值取出組成新的tensor

可以看到,上述結果中將tensor x中大于0.5的數值取出來組成了一個新的tensor y。

如果我們將代碼中的tf.gather_nd替換成tf.gather會發生什么呢?由于結果不方便展示,這里不放結果了,tf.gather適用于index為一維的情況,在本例中,index為2維,如果選用tf.gather的話,對應的x, ind, y的維數分別如下:

x.shape = (5, 4)
ind.shape = (9, 2)
y.shape = (9, 2, 4)

以上這篇tensorflow實現tensor中滿足某一條件的數值取出組成新的tensor就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

陇西县| 综艺| 阜宁县| 镇宁| 交口县| 赤水市| 三原县| 伊春市| 贞丰县| 桂林市| 三台县| 甘孜县| 海安县| 和政县| 老河口市| 元谋县| 睢宁县| 银川市| 揭西县| 桂东县| 湟中县| 中西区| 嘉黎县| 贵溪市| 西青区| 青浦区| 札达县| 云南省| 延庆县| 垦利县| 通化市| 钦州市| 遂溪县| 长宁县| 安义县| 浦城县| 荆门市| 彭泽县| 宝山区| 读书| 伊宁市|