国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

關(guān)于pytorch張量維度轉(zhuǎn)換大全

這篇具有很好參考價(jià)值的文章主要介紹了關(guān)于pytorch張量維度轉(zhuǎn)換大全。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

# view()    轉(zhuǎn)換維度
# reshape() 轉(zhuǎn)換維度
# permute() 坐標(biāo)系變換
# squeeze()/unsqueeze() 降維/升維
# expand()   擴(kuò)張張量
# narraw()   縮小張量
# resize_()  重設(shè)尺寸
# repeat(), unfold() 重復(fù)張量
# cat(), stack()     拼接張量

1 tensor.view()

view() 用于改變張量的形狀,但不會(huì)改變張量中的元素值
用法1:
例如,你可以使用view 將一個(gè)形狀是(2,3)的張量變換成(3,2)的張量;

import torch
x = torch.tensor([[1, 2, 3], [4, 5, 6]])
y = x.view(3, 2)    

上面的操作相當(dāng)于,先把形狀為**(2,3)的tensor展平,變成(1,6),然后再變成(3,2).**

用法2:
轉(zhuǎn)換前后張量中的元素個(gè)數(shù)不變。view()中若存在某一維的維度是-1,則表示該維的維度根據(jù)總元素個(gè)數(shù)和其他維度尺寸自適應(yīng)調(diào)整。注意,view()中最多只能有一個(gè)維度的維數(shù)設(shè)置成-1。

z = x.view(-1,2)

關(guān)于pytorch張量維度轉(zhuǎn)換大全,pytorch深度學(xué)習(xí),pytorch,人工智能,python

舉例子:
在卷積神經(jīng)網(wǎng)絡(luò)中,經(jīng)常會(huì)在全連接層用到view進(jìn)行張量的維度拉伸:
假設(shè)輸入特征是BCH*W的4維張量,其中B表示batchsize,C表示特征通道數(shù),H和W表示特征的高和寬,在將特征送入全連接層之前,會(huì)用.view將轉(zhuǎn)換為B*(CHW)的2維張量,即保持batch不變,但將每個(gè)特征轉(zhuǎn)換為一維向量。

2 tensor.reshape()

reshape()與view()使用方法相同。
關(guān)于pytorch張量維度轉(zhuǎn)換大全,pytorch深度學(xué)習(xí),pytorch,人工智能,python

3 tensor.squeeze()和tensor.unsqueeze()

3.1 tensor.squeeze() 降維

(1)若squeeze()括號(hào)內(nèi)為空,則將張量中所有維度為1的維數(shù)進(jìn)行壓縮,如將1,2,1,9的張量降維到2,9維;若維度中無(wú)1維的維數(shù),則保持源維度不變,如將234維的張量進(jìn)行squeeze,則轉(zhuǎn)換后維度不會(huì)變。
(2)若squeeze(idx),則將張量中對(duì)應(yīng)的第idx維的維度進(jìn)行壓縮,如1,2,1,9的張量做squeeze(2),則會(huì)降維到1,2,9維的張量;若第idx維度的維數(shù)不為1,則squeeze后維度不會(huì)變化。
例如:
關(guān)于pytorch張量維度轉(zhuǎn)換大全,pytorch深度學(xué)習(xí),pytorch,人工智能,python

3.2 tensor.unsqueeze(idx)升維

在第idx維進(jìn)行升維,將tensor由原本的維度n,升維至n+1維。如張量的維度維2*3,經(jīng)unsqueeze(0)后,變?yōu)?,2,3維度的張量。
關(guān)于pytorch張量維度轉(zhuǎn)換大全,pytorch深度學(xué)習(xí),pytorch,人工智能,python

4 tensor.permute()

坐標(biāo)系轉(zhuǎn)換,即矩陣轉(zhuǎn)置,使用方法與numpy array的transpose相同。permute()括號(hào)內(nèi)的參數(shù)數(shù)字指的是各維度的索引值。permute是深度學(xué)習(xí)中經(jīng)常需要使用的技巧,一般的會(huì)將BCHW的特征張量,通過(guò)轉(zhuǎn)置轉(zhuǎn)化為BHWC的特征張量,即將特征深度轉(zhuǎn)換到最后一個(gè)維度,通過(guò)調(diào)用**tensor.permute(0, 2, 3, 1)**實(shí)現(xiàn)。
torch.transpose只能操作2D矩陣的轉(zhuǎn)置,而permute()函數(shù)可以對(duì)任意高維矩陣進(jìn)行轉(zhuǎn)置;
簡(jiǎn)單理解:permute()相當(dāng)于可以同時(shí)操作tensor的若干維度,transpose只能同時(shí)作用于tensor的兩個(gè)維度。

關(guān)于pytorch張量維度轉(zhuǎn)換大全,pytorch深度學(xué)習(xí),pytorch,人工智能,python

permute和view/reshape雖然都能將張量轉(zhuǎn)化為特定的維度,但原理完全不同,注意區(qū)分。view和reshape處理后,張量中元素順序都不會(huì)有變化,而permute轉(zhuǎn)置后元素的排列會(huì)發(fā)生變化,因?yàn)樽鴺?biāo)系變化了。

5 torch.cat([a,b],dim)

在第dim維度進(jìn)行張量拼接,要注意維度保持一致。
假設(shè)a為h1w1的二維張量,b為h2w2的二維張量,torch.cat(a,b,0)表示在第一維進(jìn)行拼接,即在列方向拼接,所以w1和w2必須相等。torch.cat(a,b,1)表示在第二維進(jìn)行拼接,即在行方向拼接,所以h1和h2必須相等。
假設(shè)a為c1h1w1的二維張量,b為c2h2w2的二維張量,torch.cat(a,b,0)表示在第一維進(jìn)行拼接,即在特征的通道維度進(jìn)行拼接,其他維度必須保持一致,即w1=w2,h1=h2。torch.cat(a,b,1)表示在第二維進(jìn)行拼接,即在列方向拼接,必須保證w1=w2,c1=c2;torch.cat(a,b,2)表示在第三維進(jìn)行拼接,即在行方向拼接,必須保證h1=h2,c1=c2;
關(guān)于pytorch張量維度轉(zhuǎn)換大全,pytorch深度學(xué)習(xí),pytorch,人工智能,python

6 tensor.expand()

擴(kuò)展張量,通過(guò)值復(fù)制的方式,將單個(gè)維度擴(kuò)大為更大的尺寸。使用expand()函數(shù)不會(huì)使原tensor改變,需要將結(jié)果重新賦值。下面是具體的實(shí)例:
以二維張量為例:tensor是1n或n1維的張量,分別調(diào)用tensor.expand(s, n)或tensor.expand(n, s)在行方向和列方向進(jìn)行擴(kuò)展。
expand()的填入?yún)?shù)是size

關(guān)于pytorch張量維度轉(zhuǎn)換大全,pytorch深度學(xué)習(xí),pytorch,人工智能,python

7 tensor.narrow(dim, start, len)

narrow()函數(shù)起到了篩選一定維度上的數(shù)據(jù)作用.

torch.narrow(input, dim, start, length)->Tensor

input是需要切片的張量,dim是切片維度,start是開(kāi)始的索引,length是切片長(zhǎng)度,實(shí)際應(yīng)用如下:

關(guān)于pytorch張量維度轉(zhuǎn)換大全,pytorch深度學(xué)習(xí),pytorch,人工智能,python

8 tensor.resize_()

尺寸變化,將tensor截?cái)酁閞esize_后的維度.
關(guān)于pytorch張量維度轉(zhuǎn)換大全,pytorch深度學(xué)習(xí),pytorch,人工智能,python

9 tensor.repeat()

tensor.repeat(a,b)將tensor整體在行方向復(fù)制a份,在列方向上復(fù)制b份

關(guān)于pytorch張量維度轉(zhuǎn)換大全,pytorch深度學(xué)習(xí),pytorch,人工智能,python

參考:

pytorch中與tensor維度變化相關(guān)的函數(shù)(持續(xù)更新) - weili21的文章 - 知乎
https://zhuanlan.zhihu.com/p/438099006

【pytorch tensor張量維度轉(zhuǎn)換(tensor維度轉(zhuǎn)換)】
https://blog.csdn.net/x_yan033/article/details/104965077文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-738282.html

到了這里,關(guān)于關(guān)于pytorch張量維度轉(zhuǎn)換大全的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【PyTorch與深度學(xué)習(xí)】2、PyTorch張量的運(yùn)算API(上)

    【PyTorch與深度學(xué)習(xí)】2、PyTorch張量的運(yùn)算API(上)

    課程地址 最近做實(shí)驗(yàn)發(fā)現(xiàn)自己還是基礎(chǔ)框架上掌握得不好,于是開(kāi)始重學(xué)一遍PyTorch框架,這個(gè)是課程筆記,這個(gè)課還是講的簡(jiǎn)略,我半小時(shí)的課聽(tīng)了一個(gè)半小時(shí)。 (1) chunk :將一個(gè)張量分割為特定數(shù)目的張量,每個(gè)塊都是輸入張量的視圖。 按維度0分割: 運(yùn)行結(jié)果: b=

    2024年04月29日
    瀏覽(18)
  • (六)人工智能應(yīng)用--深度學(xué)習(xí)原理與實(shí)戰(zhàn)--理解張量與運(yùn)算圖

    (六)人工智能應(yīng)用--深度學(xué)習(xí)原理與實(shí)戰(zhàn)--理解張量與運(yùn)算圖

    Tensorflow名稱中的Tensor即張量,不僅僅是Tensorflow,幾乎所有的深度學(xué)習(xí)平臺(tái)都以張量為基本的數(shù)據(jù)結(jié)構(gòu)。簡(jiǎn)單來(lái)說(shuō),張量就是多維數(shù)組,本質(zhì)上是一種數(shù)據(jù)容器,它可以有任意維度,比如矩陣就是二維張量(二維數(shù)組)。 深度學(xué)習(xí)中使用張量來(lái)表示數(shù)據(jù),計(jì)算圖是由張量和張量

    2024年02月15日
    瀏覽(28)
  • 【youcans的深度學(xué)習(xí) 10】PyTorch入門教程:張量的統(tǒng)計(jì)運(yùn)算與比較運(yùn)算

    歡迎關(guān)注『youcans的深度學(xué)習(xí)』系列,持續(xù)更新中… 【youcans的深度學(xué)習(xí) 01】安裝環(huán)境之 miniconda 【youcans的深度學(xué)習(xí) 02】PyTorch CPU版本安裝與環(huán)境配置 【youcans的深度學(xué)習(xí) 03】PyTorch CPU版本安裝與環(huán)境配置 【youcans的深度學(xué)習(xí) 04】PyTorch入門教程:基礎(chǔ)知識(shí) 【youcans的深度學(xué)習(xí) 05】

    2024年02月08日
    瀏覽(16)
  • 【人工智能與深度學(xué)習(xí)】當(dāng)輸入層維度為1024,輸出層維度為100時(shí),為什么全連接層參數(shù)量為1024*100+100

    在神經(jīng)網(wǎng)絡(luò)中,全連接層(也稱為稠密層或線性層)的參數(shù)量計(jì)算通常包括權(quán)重(weights)和偏置(biases)。對(duì)于一個(gè)全連接層,如果輸入層維度(即輸入特征的數(shù)量)為1024,輸出層維度(即輸出特征的數(shù)量)為100,那么參數(shù)的計(jì)算方式如下: 權(quán)重 :每個(gè)輸入特征都與每個(gè)輸

    2024年01月17日
    瀏覽(41)
  • 【PyTorch】關(guān)于張量的連續(xù)性(contiguous)

    view 返回的是視圖,而 reshape 一般 返回拷貝(取決于原始張量的存儲(chǔ)方式) 視圖:共享底層數(shù)據(jù) view 只能用于滿足 連續(xù)性 張量的視圖 連續(xù)性條件的含義是,張量底層一維數(shù)組元素的存儲(chǔ)順序與張量按行優(yōu)先一維展開(kāi)的元素順序是否一致。 這個(gè)張量是連續(xù)的,因?yàn)樗牡讓?/p>

    2024年02月09日
    瀏覽(15)
  • 人工智能概論報(bào)告-基于PyTorch的深度學(xué)習(xí)手寫(xiě)數(shù)字識(shí)別模型研究與實(shí)踐

    人工智能概論報(bào)告-基于PyTorch的深度學(xué)習(xí)手寫(xiě)數(shù)字識(shí)別模型研究與實(shí)踐

    本文是我人工智能概論的課程大作業(yè)實(shí)踐應(yīng)用報(bào)告,可供各位同學(xué)參考,內(nèi)容寫(xiě)的及其水,部分也借助了gpt自動(dòng)生成,排版等也基本做好,大家可以參照。如果有需要word版的可以私信我,或者在評(píng)論區(qū)留下郵箱,我會(huì)逐個(gè)發(fā)給。word版是我最后提交的,已經(jīng)調(diào)整統(tǒng)一了全文格

    2024年02月05日
    瀏覽(110)
  • 人工智能深度學(xué)習(xí)100種網(wǎng)絡(luò)模型,精心整理,全網(wǎng)最全,PyTorch框架逐一搭建

    人工智能深度學(xué)習(xí)100種網(wǎng)絡(luò)模型,精心整理,全網(wǎng)最全,PyTorch框架逐一搭建

    大家好,我是微學(xué)AI,今天給大家介紹一下人工智能深度學(xué)習(xí)100種網(wǎng)絡(luò)模型,這些模型可以用PyTorch深度學(xué)習(xí)框架搭建。模型按照個(gè)人學(xué)習(xí)順序進(jìn)行排序: 深度學(xué)習(xí)模型 ANN (Artificial Neural Network) - 人工神經(jīng)網(wǎng)絡(luò):基本的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),包括輸入層、隱藏層和輸出層。 學(xué)習(xí)點(diǎn)擊地

    2024年02月14日
    瀏覽(257)
  • 深度學(xué)習(xí)中實(shí)現(xiàn)PyTorch和NumPy之間的數(shù)據(jù)轉(zhuǎn)換知多少?

    在深度學(xué)習(xí)中,PyTorch和NumPy是兩個(gè)常用的工具,用于處理和轉(zhuǎn)換數(shù)據(jù)。PyTorch是一個(gè)基于Python的科學(xué)計(jì)算庫(kù),用于構(gòu)建神經(jīng)網(wǎng)絡(luò)和深度學(xué)習(xí)模型。NumPy是一個(gè)用于科學(xué)計(jì)算的Python庫(kù),提供了一個(gè)強(qiáng)大的多維數(shù)組對(duì)象和用于處理這些數(shù)組的函數(shù)。 在深度學(xué)習(xí)中,通常需要將數(shù)據(jù)從

    2024年02月05日
    瀏覽(28)
  • 【1】深度學(xué)習(xí)之Pytorch——張量(tensor)的尺寸、儲(chǔ)存偏移及步長(zhǎng)等基本概念

    【1】深度學(xué)習(xí)之Pytorch——張量(tensor)的尺寸、儲(chǔ)存偏移及步長(zhǎng)等基本概念

    深度學(xué)習(xí)的基本概念 深度學(xué)習(xí)是一種人工神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)方法。它通過(guò)模仿人腦的學(xué)習(xí)方式來(lái)處理信息。深度學(xué)習(xí)的網(wǎng)絡(luò)有很多層,每層都能學(xué)習(xí)到更抽象的概念。這種方法在語(yǔ)音識(shí)別、計(jì)算機(jī)視覺(jué)、自然語(yǔ)言處理等領(lǐng)域有很好的應(yīng)用。 深度學(xué)習(xí)也有許多應(yīng)用,這些應(yīng)用往

    2024年02月02日
    瀏覽(43)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包