日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 人文社科 > 生活经验 >内容正文

生活经验

【TensorFlow2.0】(6) 数据统计,范数、最值、求和、均值、最值位置、唯一值、张量比较

發(fā)布時(shí)間:2023/11/27 生活经验 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【TensorFlow2.0】(6) 数据统计,范数、最值、求和、均值、最值位置、唯一值、张量比较 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

各位同學(xué)好,今天和大家分享一下TensorFlow2.0中的數(shù)據(jù)分析操作。內(nèi)容有:

(1)范數(shù) tf.norm()(2)最值 tf.reduce_min()?tf.reduce_max()(3)求和? tf.reduce_sum()(4)均值 tf.reduce_mean()(5)最值的位置 tf.argmax()tf.argmin()(6)兩個(gè)張量比較 tf.equal()(7)張量唯一值 tf.unique()

那我們開始吧。


1. 范數(shù)

tf.orm(tensor, ord, axis)

tensor表示需要求范數(shù)的張量;ord=1求一范數(shù)ord=2求二范數(shù),默認(rèn)求二范數(shù);axis指定軸,按照哪個(gè)軸求范數(shù),默認(rèn)求整個(gè)張量的范數(shù)

一范數(shù): 絕對(duì)值之和? ? ??二范數(shù): 平方和再開根? ?

# 創(chuàng)建一個(gè)二維tensor
a = tf.constant([[1,2],[3,4]],dtype=tf.float32)
# ==1== 求一個(gè)tensor的二范數(shù)
tf.norm(a) # ord可省略,默認(rèn)二范數(shù)
# ==2== 求一個(gè)tensor某一個(gè)軸的二范數(shù)
tf.norm(a,ord=2,axis=1)  # 在第1個(gè)維度上求,每一行的平方和開根
# ==3== 求一個(gè)tensor的一范數(shù)
tf.norm(a,ord=1)  # 每個(gè)元素的絕對(duì)值之和
# ==4== 求一個(gè)tensor指定軸上的一范數(shù)
tf.norm(a,ord=1,axis=0) # 在第0個(gè)維度上求,每一列的絕對(duì)值之和

tf.norm(a) 是對(duì)a的所有元素都求平方再相加再開根,即?

tf.norm(a,ord=2,axis=1) 是指定在第1個(gè)軸上求二范數(shù),也就是對(duì)最外層括號(hào)里面的內(nèi)容,即分別對(duì)?[1,2]?和?[3,4]?求二范數(shù),返回[2.23, 5]

tf.norm(a,ord=1) 沒(méi)指定軸,求整個(gè)張量的一范數(shù),絕對(duì)值之和,即1+2+3+4=10

tf.norm(a,ord=1,axis=0) 對(duì)第0個(gè)軸求一范數(shù),即分別對(duì)?[1,3]?和?[2,4] 求一范數(shù)。即[4,6]


2. 最值、均值

最小值? tf.reduce_min(); 最大值? tf.reduce_max(); 均值? tf.reduce_mean()

參數(shù)均為:tensor 需要計(jì)算的張量;axis 指定計(jì)算的軸

2.1 若不指定軸,計(jì)算的是整個(gè)tensor的最值和均值

# 3行5列的每個(gè)元素在0-20中隨機(jī)選取,元素是整型
a = tf.random.uniform([3,5],minval=0,maxval=20,dtype=tf.int32)
# ==1== 不指定軸axis
tf.reduce_min(a)  # 求整個(gè)tensor的最小值,變成了0維
tf.reduce_max(a)
tf.reduce_mean(a)

求最值、均值時(shí)會(huì)有一個(gè)降維過(guò)程,比如這里的二維tensor,不指定軸求整個(gè)tensor的最值、均值,返回值是一個(gè)標(biāo)量,這就是一個(gè)降維的過(guò)程。

2.2 若指定軸

a = tf.random.uniform([3,5],minval=0,maxval=20,dtype=tf.int32)
# ==2== 指定軸axis
# 求每一列的最小值,返回一個(gè)列表
tf.reduce_min(a,axis=0) 
# 求每一列的最大值
tf.reduce_max(a,axis=0)  
# 求每一行的均值,返回一個(gè)列表
tf.reduce_mean(a,axis=1)  

tf.reduce_min(a,axis=0)??指定軸axis=0,在第0個(gè)維度上進(jìn)行計(jì)算,也就是計(jì)算,[11,9,5],[1,6,6],[7,14,1],[9,9,14],[9,1,15],這5列上的最小值,返回結(jié)果是一個(gè)由5個(gè)列的最小值構(gòu)成的列表[5,1,1,9,1]

tf.reduce_mean(a,axis=1) 指定軸axis=1,在第1個(gè)維度上進(jìn)行計(jì)算,理解為,計(jì)算最外層中括號(hào)里面的幾個(gè)組成部分的均值,即計(jì)算[11,1,7,9,9],[9,6,14,9,1],[5,6,1,14,15] 這幾個(gè)部分的均值,將計(jì)算結(jié)果組成一個(gè)列表


3. 最值的位置

最大值的索引位置:?tf.argmax()? ? ? 最小值的索引位置: tf.argmin()

參數(shù):?tensor 需要計(jì)算的張量;axis 指定計(jì)算的軸

# 3行5列的每個(gè)元素在0-20中隨機(jī)選取,元素是整型
a = tf.random.uniform([3,5],minval=0,maxval=20,dtype=tf.int32)
# 最大值位置
tf.argmax(a)  # 默認(rèn)axis=0,即在第0個(gè)維度上求最大值所在位置
# 最小值位置
tf.argmin(a,axis=1)  # 在第1的維度上求最小值所在位置

tf.argmax(a)??默認(rèn)axis=0,即在第0個(gè)軸上求最大值所在位置,即計(jì)算 [4,19,8],[0,15,14],[14,12,13],[17,14,9],[5,16,15] 這5項(xiàng)的每一項(xiàng)的最大值的下標(biāo)索引,將返回值組成一個(gè)列表,即[1,1,0,0,1]

tf.argmin(a,axis=1)? 指定需要計(jì)算的軸axis=1,對(duì)第1個(gè)軸計(jì)算最小值所在下標(biāo)位置,可理解為求最外層中括號(hào)里面每個(gè)部分的最小值的下標(biāo)索引,求[4,0,14,17,5],[19,15,12,14,16],[8,14,13,9,15],將最小值的下標(biāo)索引組成一個(gè)列表返回 [1,2,0]


4. 判斷相同元素

tf.equal(tensor1, tensor2)

判斷兩個(gè)tensor變量是否相等,它的判斷方法不是整體判斷,而是逐個(gè)元素進(jìn)行判斷,如果相等就是True,不相等,就是False。

a = tf.constant([1,2,3,4,5])
b = tf.constant([5,4,3,2,1])
# 比較,相同返回True
tf.equal(a,b)

通過(guò)對(duì)a和b的每一個(gè)元素兩兩相比較,只有3是同位置同數(shù)值,返回True,其他都是False。

當(dāng)我們比較兩幅數(shù)據(jù)量很大的圖像時(shí),可以通過(guò)返回值來(lái)計(jì)算有幾個(gè)相同的元素

首先利用類型轉(zhuǎn)換函數(shù)cast(),將布爾類型轉(zhuǎn)換成整型,再通過(guò)求和函數(shù)tf.reduce_sum()來(lái)計(jì)算個(gè)數(shù)。我們通過(guò)這個(gè)思路來(lái)計(jì)算這兩個(gè)tensor有幾個(gè)相同的元素。最終返回?cái)?shù)值1。

a = tf.constant([1,2,3,4,5])
b = tf.constant([5,4,3,2,1])
# 接收布爾返回值
res = tf.equal(a,b)
# 計(jì)算兩個(gè)tensor有幾個(gè)相同的元素
# 將res中的布爾類型轉(zhuǎn)換成整型
tf.reduce_sum(tf.cast(res,dtype=tf.int32))


5. 求唯一值

tf.unique(tensor)

返回tensor變量中的互不相同的值組成的列表,和原值的每個(gè)元素在唯一值列表中的位置

# 創(chuàng)建一個(gè)一維列表
a = tf.constant([5,6,7,8,6,5])
# 返回唯一值、和原數(shù)據(jù)中的每個(gè)元素在唯一值列表中的索引位置
res,arr = tf.unique(a)

原tensor中的倒數(shù)第二個(gè)6在唯一值列表中的索引位置是1,原tensor中的最后一個(gè)5在唯一值列表中的索引位置是0


6. 求和

tf.reduce_sum(tensor, axis)

對(duì)tensor變量求和,若不指定axis軸,默認(rèn)求整個(gè)tensor變量的所有元素的和

# 創(chuàng)建一個(gè)3行5列,每個(gè)元素都是在0-4之間隨機(jī)取
a = tf.random.uniform([3,5],minval=0,maxval=5,dtype=tf.int32)
# 整個(gè)tensor變量的和
tf.reduce_sum(a)
# 對(duì)第0個(gè)軸求和
tf.reduce_sum(a,axis=0)
# 對(duì)第1個(gè)軸求和
tf.reduce_sum(a,axis=1)

tf.reduce_sum(a,axis=0)? 指定第0個(gè)軸,即分別求[1,1,4],[2,0,2],[4,0,0],[2,4,2],[1,0,3] 的和,將結(jié)果組成一個(gè)列表返回,即 [6,4,4,8,4]

tf.reduce_sum(a,axis=1)? 指定第1個(gè)軸,可以理解為,分別對(duì) [[],[],[]] 里層三個(gè)括號(hào)求和,即分別對(duì)[1,2,4,2,1],[1,0,0,4,0],[4,2,0,2,3] 求和,將結(jié)果組成列表返回,即[10,5,11]

總結(jié)

以上是生活随笔為你收集整理的【TensorFlow2.0】(6) 数据统计,范数、最值、求和、均值、最值位置、唯一值、张量比较的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。