python中tf.boolean_mask()函數(shù)的使用方法詳解
python中tf.boolean_mask()函數(shù)的使用
tf.boolean_mask() 函數(shù)的作用是通過布爾值對(duì)指定的列的元素進(jìn)行過濾。
語法結(jié)構(gòu)
boolean_mask(tensor, mask, name="boolean_mask", axis=None)
其中,tensor:被過濾的元素 mask:一堆bool值,它的維度不一定等于tensor return:mask為true對(duì)應(yīng)的tensor的元素 當(dāng)tensor與mask維度一致時(shí),返回一維
1-D example
import numpy as np import tensorflow as tf a = [1, 2, 3, 4] mask = np.array([True, True, False, False]) # mask 與 a 維度相同 b = tf.boolean_mask(a, mask) with tf.Session() as sess: print(sess.run(b)) print(b.shape)
[1 2]
(?,)
2-D example
import numpy as np import tensorflow as tf a = [[1, 2], [3, 4], [5, 6]] mask = np.array([True, False, True]) # mask 與 a 維度不同 b = tf.boolean_mask(a, mask) with tf.Session() as sess: print(sess.run(b)) print(b.shape)
[[1 2]
[5 6]]
(?, 2)
3-D example
import numpy as np import tensorflow as tf a = tf.constant([ [[2, 4], [4, 1]], [[6, 8], [2, 1]]], tf.float32) mask = a > 2 # mask 與 a 維度相同 b = tf.boolean_mask(a, mask) with tf.Session() as sess: print(sess.run(a)) print(sess.run(mask)) print(sess.run(b)) print(b.shape)
[[[2. 4.]
[4. 1.]][[6. 8.]
[2. 1.]]][[[False True]
[ True False]][[ True True]
[False False]]][4. 4. 6. 8.]
(?,)
上面的shape有如下的規(guī)則: 假設(shè) tensor.rank=4,維度為(m,n,p,q),則
(1)當(dāng)mask.shape=(m,n,p,q),結(jié)果返回(?,),表示所有維度都被過濾
(2)當(dāng)mask.shape=(m,n,p),結(jié)果返回(?,q),表示 q 維度沒有過濾
(3)當(dāng)mask.shape=(m,n),結(jié)果返回(?,p,q),表示 p,q 維度沒有過濾
(4)當(dāng)mask.shape=(m),結(jié)果返回(?,n,p,q),表示 n,p,q 維度沒有過濾
tensorflow 使用一種叫tensor的數(shù)據(jù)結(jié)構(gòu)去展示所有的數(shù)據(jù),我們可以把tensor看成是n維的array或者list。在tensorflow的各部分圖形間流動(dòng)傳遞的只能是tensor。
tensorflow用3種方式描述一個(gè)tensor的維數(shù):rank、shape、dimension number (維數(shù)),所以shape和rank的意思的一樣的,只是表達(dá)的形式不同。
rank | shape | dimension |
0 | [ ] | 0 維 |
1 | [ D0 ] | 1 維 |
2 | [ D0, D1 ] | 2 維 |
n | [ D0, D1, …, Dn-1 ] | n 維 |
到此這篇關(guān)于python中tf.boolean_mask()函數(shù)的使用方法詳解的文章就介紹到這了,更多相關(guān)python的tf.boolean_mask()函數(shù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python編程中常見的錯(cuò)誤及其解決方法總結(jié)
在開發(fā) Python 程序時(shí),錯(cuò)誤幾乎是無法避免的,無論是新手還是經(jīng)驗(yàn)豐富的開發(fā)者,都可能在編程過程中遇到各種各樣的問題,調(diào)試錯(cuò)誤不僅消耗時(shí)間,還可能導(dǎo)致生產(chǎn)環(huán)境出現(xiàn)問題,為了提高調(diào)試效率,本文將總結(jié)一些 Python 編程中常見的錯(cuò)誤及其解決方法,并提供實(shí)用的調(diào)試技巧2025-02-02python游戲的魅力之冒險(xiǎn)島實(shí)戰(zhàn)項(xiàng)目
我看了一眼沉迷《夢(mèng)幻國度》的兒子!氣就不打一處來!讓你見識(shí)一下Python游戲的魅力,python實(shí)戰(zhàn)冒險(xiǎn)島游戲碼起,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值2021-09-09詳解Python如何利用Pandas與NumPy進(jìn)行數(shù)據(jù)清洗
許多數(shù)據(jù)科學(xué)家認(rèn)為獲取和清理數(shù)據(jù)的初始步驟占工作的 80%,花費(fèi)大量時(shí)間來清理數(shù)據(jù)集并將它們歸結(jié)為可以使用的形式。本文將利用 Python 的 Pandas和 NumPy 庫來清理數(shù)據(jù),需要的可以參考一下2022-04-04python中的logging模塊的簡單應(yīng)用和高級(jí)使用
在?Python?中,可以使用內(nèi)置的?logging?模塊來記錄應(yīng)用程序的信息,logging?模塊還提供了一些高級(jí)功能,如日志回溯、日志輪換、日志緩沖等,需要的朋友可以參考下2023-04-04詳解Python的整數(shù)是如何實(shí)現(xiàn)的
本文我們來聊一聊Python的整數(shù),我們知道Python的整數(shù)是不會(huì)溢出的,換句話說,它可以計(jì)算無窮大的數(shù),只要你的內(nèi)存足夠,它就能計(jì)算。但問題是,Python底層又是C實(shí)現(xiàn)的,那么它是怎么做到整數(shù)不溢出的呢?本文就來詳細(xì)說說2022-11-11Python基于similarities實(shí)現(xiàn)文本語義相似度計(jì)算和文本匹配搜索
similarities?實(shí)現(xiàn)了多種相似度計(jì)算、匹配搜索算法,支持文本、圖像,python3開發(fā),下面我們就來看看如何使用similarities實(shí)現(xiàn)文本語義相似度計(jì)算和文本匹配搜索吧2024-03-03如何使用 Python 讀取文件和照片的創(chuàng)建日期
這篇文章主要介紹了如何使用 Python 讀取文件和照片的創(chuàng)建日期,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-09-09python sleep和wait對(duì)比總結(jié)
在本篇文章里小編給大家整理的是一篇關(guān)于python sleep和wait對(duì)比總結(jié)內(nèi)容,對(duì)此有興趣的朋友們可以學(xué)習(xí)下。2021-02-02