pytorch中torch.max和Tensor.view函數(shù)用法詳解
torch.max()
1.
torch.max()簡單來說是返回一個(gè)tensor中的最大值。
例如:
>>> si=torch.randn(4,5)
>>> print(si)
tensor([[ 1.1659, -1.5195, 0.0455, 1.7610, -0.2064],
[-0.3443, 2.0483, 0.6303, 0.9475, 0.4364],
[-1.5268, -1.0833, 1.6847, 0.0145, -0.2088],
[-0.8681, 0.1516, -0.7764, 0.8244, -1.2194]])
>>> print(torch.max(si))
tensor(2.0483)
2.
這個(gè)函數(shù)的參數(shù)中還有一個(gè)dim參數(shù),使用方法為re = torch.max(Tensor,dim),返回的re為一個(gè)二維向量,其中re[0]為最大值的Tensor,re[1]為最大值對(duì)應(yīng)的index的Tensor。
例如:
>>> print(torch.max(si,0)[0]) tensor([1.1659, 2.0483, 1.6847, 1.7610, 0.4364])
注意,Tensor的維度從0開始算起。在torch.max()中指定了dim之后,比如對(duì)于一個(gè)3x4x5的Tensor,指定dim為0后,得到的結(jié)果是維度為0的“每一行”對(duì)應(yīng)位置求最大的那個(gè)值,此時(shí)輸出的Tensor的維度是4x5.
對(duì)于簡單的二維Tensor,如上面例子的這個(gè)4x5的Tensor。指定dim為0,則給出的結(jié)果是4行做比較之后的最大值;如果指定dim為1,則給出的結(jié)果是5列做比較之后的最大值,且此處做比較時(shí)是按照位置分別做比較,得到一個(gè)新的Tensor。
Tensor.view()
簡單說就是一個(gè)把tensor 進(jìn)行reshape的操作。
>>> a=torch.randn(3,4,5,7) >>> b = a.view(1,-1) >>> print(b.size()) torch.Size([1, 420])
其中參數(shù)-1表示剩下的值的個(gè)數(shù)一起構(gòu)成一個(gè)維度。如上例中,第一個(gè)參數(shù)1將第一個(gè)維度的大小設(shè)定成1,后一個(gè)-1就是說第二個(gè)維度的大小=元素總數(shù)目/第一個(gè)維度的大小,此例中為3*4*5*7/1=420.
>>> d = a.view(a.size(0),a.size(1),-1) >>> print(d.size()) torch.Size([3, 4, 35]) >>> e=a.view(4,-1,5) >>> print(e.size()) torch.Size([4, 21, 5])
以上這篇pytorch中torch.max和Tensor.view函數(shù)用法詳解就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
python控制臺(tái)中實(shí)現(xiàn)進(jìn)度條功能
這篇文章主要介紹了python控制臺(tái)中實(shí)現(xiàn)進(jìn)度條功能的方法,想要了解的朋友可以參考一下2015-11-11
基于Python實(shí)現(xiàn)的影視數(shù)據(jù)智能分析系統(tǒng)
數(shù)據(jù)分析與可視化是當(dāng)今數(shù)據(jù)分析的發(fā)展方向,大數(shù)據(jù)時(shí)代,數(shù)據(jù)資源具有海量特征,數(shù)據(jù)分析和可視化主要通過Python數(shù)據(jù)分析來實(shí)現(xiàn),本文給大家介紹了如何基于Python實(shí)現(xiàn)的影視數(shù)據(jù)智能分析系統(tǒng),文中給出了部分詳細(xì)代碼,感興趣的朋友跟著小編一起來看看吧2024-01-01
Python實(shí)現(xiàn)字典(dict)的迭代操作示例
這篇文章主要介紹了Python實(shí)現(xiàn)字典(dict)的迭代操作,結(jié)合實(shí)例形式分析了Python針對(duì)字典鍵、值以及鍵值對(duì)等迭代操作實(shí)現(xiàn)技巧,需要的朋友可以參考下2018-06-06
Python?class類@staticmethod及@classmethod區(qū)別淺析
這篇文章主要為大家介紹了Python?class類@staticmethod及@classmethod區(qū)別淺析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-07-07
虛擬機(jī)下載python是否需要聯(lián)網(wǎng)
在本篇文章里小編給大家分享的是一篇關(guān)于虛擬機(jī)下載python是否需要聯(lián)網(wǎng)的相關(guān)文章,有需要的朋友們可以參考下。2020-07-07
簡單掌握Python的Collections模塊中counter結(jié)構(gòu)的用法
counter數(shù)據(jù)結(jié)構(gòu)被用來提供技術(shù)功能,形式類似于Python中內(nèi)置的字典結(jié)構(gòu),這里通過幾個(gè)小例子來簡單掌握Python的Collections模塊中counter結(jié)構(gòu)的用法:2016-07-07

