亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

PyTorch中Tensor的數(shù)據(jù)統(tǒng)計示例

 更新時間:2020年02月17日 17:25:33   作者:Steven·簡談  
今天小編就為大家分享一篇PyTorch中Tensor的數(shù)據(jù)統(tǒng)計示例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

張量范數(shù):torch.norm(input, p=2) → float

返回輸入張量 input 的 p 范數(shù)

舉個例子:

>>> import torch
>>> a = torch.full([8], 1)
>>> b = a.view(2, 4)
>>> c = a.view(2, 2, 2)
>>> a.norm(1), b.norm(1), c.norm(1)	# 求 1- 范數(shù)
(tensor(8.), tensor(8.), tensor(8.))
>>> a.norm(2), b.norm(2), c.norm(2)	# 求 2- 范數(shù)
(tensor(2.8284), tensor(2.8284), tensor(2.8284))
>>> a.norm(3), b.norm(3), c.norm(3)# 求 ∞- 范數(shù)
(tensor(2.), tensor(2.), tensor(2.))
>>> b
tensor([[1., 1., 1., 1.],
    [1., 1., 1., 1.]])
>>> b.norm(1, 1) # 在 1 維度上求 1- 范數(shù)
tensor([4., 4.])
>>> b.norm(2, 1) # 在 1 維度上求 2- 范數(shù)
b.norm(1, 2)
>>> c
tensor([[[1., 1.],
     [1., 1.]],

    [[1., 1.],
     [1., 1.]]])
>>> c.norm(1, 0) # 在 0 維度上求 1- 范數(shù)
tensor([[2., 2.],
    [2., 2.]])
>>> c.norm(2, 0) # 在 0 維度上求 2- 范數(shù)
tensor([[1.4142, 1.4142],
    [1.4142, 1.4142]])

只有一個參數(shù)時,表示對整個張量求范數(shù),參數(shù)表示范數(shù)的冪指數(shù)值。

有兩個參數(shù)時,表示在張量某一維度對尺寸中每一部分求范數(shù),第一個參數(shù)是范數(shù)的冪指數(shù)值,第二個參數(shù)是選擇的維度。

張量統(tǒng)計

最基礎的統(tǒng)計方法,比如張量中的最小值、最大值、均值、累加、累積。

舉個例子:

>>> a = torch.arange(8).view(2, 4).float()
>>> a
tensor([[0., 1., 2., 3.],
    [4., 5., 6., 7.]])
>>> a.min(), a.max(), a.mean(), a.sum(), a.prod() # 分別求最小值、最大值、均值、累加、累積
(tensor(0.), tensor(7.), tensor(3.5000), tensor(28.), tensor(0.))
>>> a.argmin(), a.argmax() # 分別是把張量打平后最小值、最大值的索引
(tensor(0), tensor(7))
>>> a.argmin(1), a.argmax(1) # 不打平求 1 維度中每一部分最小值、最大值的索引
(tensor([0, 0]), tensor([3, 3]))

dim和keepdim

>>> a = torch.randn(5, 10)
>>> a
tensor([[-0.6346, -0.9074, 0.1525, 0.1901, -0.5391, -0.2437, 1.0150, -0.0427,
     -1.5336, 0.8542],
    [-0.1879, 1.9947, -0.3524, -1.2559, -0.8129, -0.3018, 0.5654, 0.8428,
     -0.3517, -0.7787],
    [ 0.0686, 0.6166, 0.2632, -0.0947, -0.5592, -1.4041, 1.5565, 1.5616,
     -1.3076, -0.1137],
    [ 0.5205, -1.5716, -1.1277, 0.8096, -0.2123, -0.0974, 0.7698, 1.1373,
     0.5165, 0.5256],
    [-0.4162, 0.3170, 0.2368, 1.1695, -0.1960, -0.3285, 0.2420, 1.6468,
     0.2646, 0.4573]])
>>> a.max(dim=1)
(tensor([1.0150, 1.9947, 1.5616, 1.1373, 1.6468]), tensor([6, 1, 7, 7, 7]))
>>> a.argmax(dim=1)
tensor([6, 1, 7, 7, 7])

max 添加 dim 后不僅顯示了 1 維度中每一部分的最大值,還顯示了其索引

>>> a.max(dim=1, keepdim=True)
(tensor([[1.0150],
    [1.9947],
    [1.5616],
    [1.1373],
    [1.6468]]), tensor([[6],
    [1],
    [7],
    [7],
    [7]]))
>>> a.argmax(dim=1, keepdim=True)
tensor([[6],
    [1],
    [7],
    [7],
    [7]])

保持維度一致。添加 keepdim 后,得出的結果維度不改變,原來是二維的數(shù)據(jù),得出的結果還是二維。不添加得出的結果就是一維的。

比較操作

torch.topk(input, k, dim=None, largest=True, sorted=True, out=None) -> (Tensor, LongTensor)

沿給定 dim 維度返回輸入張量 input 中 k 個最大值。 如果不指定 dim,則默認為 input 的最后一維。 如果為 largest 為 False ,則返回最小的 k 個值。

返回一個元組 (values,indices),其中 indices 是原始輸入張量 input 中測元素下標。 如果設定布爾值 sorted 為_True_,將會確保返回的 k 個值被排序。

torch.kthvalue(input, k, dim=None, out=None) -> (Tensor, LongTensor) 取輸入張量 input 指定維上第 k 個最小值。如果不指定 dim,則默認為 input 的最后一維。

返回一個元組 (values,indices),其中indices是原始輸入張量input中沿dim維的第 k 個最小值下標。

舉個例子:

>>> b = torch.randn(5, 10)
>>> b
tensor([[ 0.1863, 0.0160, -1.0657, -1.8984, 2.3274, 0.6534, 1.8126, 1.8666,
     0.4830, -0.7800],
    [-0.9359, -1.0655, 0.8321, 1.6265, 0.6812, -0.2870, 0.6987, 0.6067,
     -0.1318, 0.7819],
    [-3.1129, 0.9571, -0.1319, -1.0016, 0.7267, 0.1060, -0.2926, 0.3492,
     1.0026, 0.2924],
    [-0.7101, -0.8327, 0.5463, 0.3805, -0.8720, -1.6723, 0.0365, 1.5540,
     0.1940, 1.4294],
    [ 0.4174, -0.9414, -0.0351, -1.6142, -0.7802, -2.3916, -2.4822, 0.7233,
     -0.7037, 0.2725]])
>>> b.topk(3, dim=1)
(tensor([[2.3274, 1.8666, 1.8126],
    [1.6265, 0.8321, 0.7819],
    [1.0026, 0.9571, 0.7267],
    [1.5540, 1.4294, 0.5463],
    [0.7233, 0.4174, 0.2725]]), tensor([[4, 7, 6],
    [3, 2, 9],
    [8, 1, 4],
    [7, 9, 2],
    [7, 0, 9]]))
>>> b.topk(3, dim=1, largest=False)
(tensor([[-1.8984, -1.0657, -0.7800],
    [-1.0655, -0.9359, -0.2870],
    [-3.1129, -1.0016, -0.2926],
    [-1.6723, -0.8720, -0.8327],
    [-2.4822, -2.3916, -1.6142]]), tensor([[3, 2, 9],
    [1, 0, 5],
    [0, 3, 6],
    [5, 4, 1],
    [6, 5, 3]]))
>>> a.kthvalue(8, dim=1)
(tensor([0.1034, 0.8940, 0.6155, 0.4210, 0.1955]), tensor([1, 2, 6, 4, 7]))

topk 添加 largest=False 就是返回最小,不添加就是返回最大。

kthvalue 返回以從大到小排列的指定位置的數(shù)。上面代碼中即為返回第 8 小的數(shù)。

torch.eq(input, other, out=None) → Tensor

比較元素相等性。第二個參數(shù)可為一個數(shù)或與第一個參數(shù)同類型形狀的張量。

torch.equal(tensor1, tensor2) → bool

如果兩個張量有相同的形狀和元素值,則返回 True ,否則 False。

舉個例子:

>>> a = torch.ones(2, 3)
>>> b = torch.randn(2, 3)
>>> torch.eq(a, b)
tensor([[0, 0, 0],
    [0, 0, 0]], dtype=torch.uint8)
>>> torch.eq(a, a)
tensor([[1, 1, 1],
    [1, 1, 1]], dtype=torch.uint8)
>>> torch.equal(a, a)
True

eq 比較張量中的每個數(shù)據(jù),equal 比較整個張量

以上這篇PyTorch中Tensor的數(shù)據(jù)統(tǒng)計示例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • Python并查集Disjoint?Set的具體使用

    Python并查集Disjoint?Set的具體使用

    本文主要介紹了Python并查集Disjoint?Set的具體使用,包括并查集的基本概念、實現(xiàn)方式、路徑壓縮和應用場景,并使用代碼示例演示并查集的操作,感興趣的可以了解一下
    2024-01-01
  • Python實現(xiàn)上傳Minio和阿里Oss文件

    Python實現(xiàn)上傳Minio和阿里Oss文件

    這篇文章主要介紹了如何通過Python上傳Minio和阿里OSS文件,文中的示例代碼介紹得很詳細,對我們的工作和學習都有一定的價值,感興趣的小伙伴可以了解一下
    2021-12-12
  • 聊聊Python中end=和sep=的區(qū)別

    聊聊Python中end=和sep=的區(qū)別

    這篇文章主要介紹了Python中end=和sep=的區(qū)別說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-05-05
  • OpenCV-Python圖像輪廓之輪廓特征詳解

    OpenCV-Python圖像輪廓之輪廓特征詳解

    圖像輪廓是指由位于邊緣、連續(xù)的、具有相同顏色和強度的點構成的曲線,它可以用于形狀分析以及對象檢測和識別。本文將帶大家詳細了解一下圖像的輪廓特征,感興趣的可以學習一下
    2021-12-12
  • 使用opencv-python如何打開USB或者筆記本前置攝像頭

    使用opencv-python如何打開USB或者筆記本前置攝像頭

    這篇文章主要介紹了使用opencv-python如何打開USB或者筆記本前置攝像頭的過程,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • Python辦公自動化之文件的比較合并與xml操作

    Python辦公自動化之文件的比較合并與xml操作

    這篇文章主要為大家詳細介紹了Python辦公自動化之文件的比較合并與xml文件操作的相關知識,文中的示例代碼講解詳細,需要的可以參考一下
    2023-12-12
  • python Tornado框架詳解

    python Tornado框架詳解

    Tornado是一個 Python Web框架,用于開發(fā)高性能網(wǎng)絡應用程序,本文給大家詳細介紹python Tornado框架的相關知識,感興趣的朋友一起看看吧
    2024-03-03
  • 在Python上基于Markov鏈生成偽隨機文本的教程

    在Python上基于Markov鏈生成偽隨機文本的教程

    這篇文章主要介紹了在Python上基于Markov鏈生成偽隨機文本的教程,是一個基于馬爾可夫算法的小實現(xiàn),充分體現(xiàn)了Python在科學計算中的用途,需要的朋友可以參考下
    2015-04-04
  • python 生成器需注意的小問題

    python 生成器需注意的小問題

    這篇文章主要介紹了python 生成器需注意的小問題,幫助大家更好的理解和學習python 生成器,感興趣的朋友可以了解下
    2020-09-09
  • 超詳細OpenMV與STM32單片機通信 附完整源碼

    超詳細OpenMV與STM32單片機通信 附完整源碼

    這篇文章主要介紹了OpenMV與STM32單片機通信的相關知識,在文章結尾給大家提供了項目源碼,需要的朋友可以參考下
    2021-11-11

最新評論