最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

PyTorch中Tensor的拼接與拆分的實(shí)現(xiàn)

 更新時(shí)間:2019年08月18日 16:43:36   作者:Steven·簡(jiǎn)談  
這篇文章主要介紹了PyTorch中Tensor的拼接與拆分的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

拼接張量:torch.cat() 、torch.stack()

  1. torch.cat(inputs, dimension=0) → Tensor

在給定維度上對(duì)輸入的張量序列 seq 進(jìn)行連接操作

舉個(gè)例子:

>>> import torch
>>> x = torch.randn(2, 3)
>>> x
tensor([[-0.1997, -0.6900, 0.7039],
    [ 0.0268, -1.0140, -2.9764]])
>>> torch.cat((x, x, x), 0) # 在 0 維(縱向)進(jìn)行拼接
tensor([[-0.1997, -0.6900, 0.7039],
    [ 0.0268, -1.0140, -2.9764],
    [-0.1997, -0.6900, 0.7039],
    [ 0.0268, -1.0140, -2.9764],
    [-0.1997, -0.6900, 0.7039],
    [ 0.0268, -1.0140, -2.9764]])
>>> torch.cat((x, x, x), 1) # 在 1 維(橫向)進(jìn)行拼接
tensor([[-0.1997, -0.6900, 0.7039, -0.1997, -0.6900, 0.7039, -0.1997, -0.6900,
     0.7039],
    [ 0.0268, -1.0140, -2.9764, 0.0268, -1.0140, -2.9764, 0.0268, -1.0140,
     -2.9764]])
>>> y1 = torch.randn(5, 3, 6)
>>> y2 = torch.randn(5, 3, 6)
>>> torch.cat([y1, y2], 2).size()
torch.Size([5, 3, 12])
>>> torch.cat([y1, y2], 1).size()
torch.Size([5, 6, 6])

對(duì)于需要拼接的張量,維度數(shù)量必須相同,進(jìn)行拼接的維度的尺寸可以不同,但是其它維度的尺寸必須相同。

  • torch.stack(sequence, dim=0)

沿著一個(gè)新維度對(duì)輸入張量序列進(jìn)行連接。 序列中所有的張量都應(yīng)該為相同形狀

舉個(gè)例子:

>>> x1 = torch.randn(2, 3)
>>> x2 = torch.randn(2, 3)
>>> torch.stack((x1, x2), 0).size() # 在 0 維插入一個(gè)維度,進(jìn)行區(qū)分拼接
torch.Size([2, 2, 3])
>>> torch.stack((x1, x2), 1).size() # 在 1 維插入一個(gè)維度,進(jìn)行組合拼接
torch.Size([2, 2, 3])
>>> torch.stack((x1, x2), 2).size()
torch.Size([2, 3, 2])
>>> torch.stack((x1, x2), 0)
tensor([[[-0.3499, -0.6124, 1.4332],
     [ 0.1516, -1.5439, -0.1758]],

    [[-0.4678, -1.1430, -0.5279],
     [-0.4917, -0.6504, 2.2512]]])
>>> torch.stack((x1, x2), 1)
tensor([[[-0.3499, -0.6124, 1.4332],
     [-0.4678, -1.1430, -0.5279]],

    [[ 0.1516, -1.5439, -0.1758],
     [-0.4917, -0.6504, 2.2512]]])
>>> torch.stack((x1, x2), 2)
tensor([[[-0.3499, -0.4678],
     [-0.6124, -1.1430],
     [ 1.4332, -0.5279]],

    [[ 0.1516, -0.4917],
     [-1.5439, -0.6504],
     [-0.1758, 2.2512]]])

把相同形狀的張量合并,并根據(jù)提供的維度序列在相應(yīng)位置插入維度,方法會(huì)根據(jù)位置來(lái)排列數(shù)據(jù)。代碼中,根據(jù)第 0 維和第 1 維來(lái)進(jìn)行合并時(shí),雖然合并后的張量維度和尺寸相等,但是數(shù)據(jù)的位置并不是相同的。

拆分張量:torch.split()、torch.chunk()

  • torch.split(tensor, split_size, dim=0)

將輸入張量分割成相等形狀的 chunks(如果可分)。 如果沿指定維的張量形狀大小不能被 split_size 整分, 則最后一個(gè)分塊會(huì)小于其它分塊。

舉個(gè)例子:

>>> x = torch.randn(3, 10, 6)
>>> a, b, c = x.split(1, 0) # 在 0 維進(jìn)行間隔維 1 的拆分
>>> a.size(), b.size(), c.size()
(torch.Size([1, 10, 6]), torch.Size([1, 10, 6]), torch.Size([1, 10, 6]))
>>> d, e = x.split(2, 0) # 在 0 維進(jìn)行間隔維 2 的拆分
>>> d.size(), e.size()
(torch.Size([2, 10, 6]), torch.Size([1, 10, 6]))

把張量在 0 維度上以間隔 1 來(lái)拆分時(shí),其中 x 在 0 維度上的尺寸為 3,就可以分成 3 份。

把張量在 0 維度上以間隔 2 來(lái)拆分時(shí),只能分成 2 份,且只能把前面部分先以間隔 2 來(lái)拆分,后面不足 2 的部分就直接作為一個(gè)分塊。

  • torch.chunk(tensor, chunks, dim=0)

在給定維度(軸)上將輸入張量進(jìn)行分塊兒

直接用上面的數(shù)據(jù)來(lái)舉個(gè)例子:

>>> l, m, n = x.chunk(3, 0) # 在 0 維上拆分成 3 份
>>> l.size(), m.size(), n.size()
(torch.Size([1, 10, 6]), torch.Size([1, 10, 6]), torch.Size([1, 10, 6]))
>>> u, v = x.chunk(2, 0) # 在 0 維上拆分成 2 份
>>> u.size(), v.size()
(torch.Size([2, 10, 6]), torch.Size([1, 10, 6]))

把張量在 0 維度上拆分成 3 部分時(shí),因?yàn)槌叽缯脼?3,所以每個(gè)分塊的間隔相等,都為 1。

把張量在 0 維度上拆分成 2 部分時(shí),無(wú)法平均分配,以上面的結(jié)果來(lái)看,可以看成是,用 0 維度的尺寸除以需要拆分的份數(shù),把余數(shù)作為最后一個(gè)分塊的間隔大小,再把前面的分塊以相同的間隔拆分。

在某一維度上拆分的份數(shù)不能比這一維度的尺寸大

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 基于Python實(shí)現(xiàn)評(píng)論區(qū)抽獎(jiǎng)功能詳解

    基于Python實(shí)現(xiàn)評(píng)論區(qū)抽獎(jiǎng)功能詳解

    這篇文章主要為大家介紹了基于Python如何實(shí)現(xiàn)評(píng)論區(qū)抽獎(jiǎng)的功能,文章的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)Python有一定幫助,需要的朋友可以學(xué)習(xí)一下
    2021-12-12
  • python實(shí)操案例練習(xí)(七)

    python實(shí)操案例練習(xí)(七)

    這篇文章主要介紹了python實(shí)操案例練習(xí),本文給大家分享的案例中主要任務(wù)有編寫(xiě)程序?qū)崿F(xiàn)樂(lè)手彈奏樂(lè)器、使用面向?qū)ο笤O(shè)計(jì)自定義類,描述出租車和家用轎車的信息,需要的小伙伴可以參考一下
    2022-02-02
  • Python實(shí)現(xiàn)孤立隨機(jī)森林算法的示例代碼

    Python實(shí)現(xiàn)孤立隨機(jī)森林算法的示例代碼

    孤立森林(isolation?Forest)是一種高效的異常檢測(cè)算法,它和隨機(jī)森林類似,但每次選擇劃分屬性和劃分點(diǎn)(值)時(shí)都是隨機(jī)的,而不是根據(jù)信息增益或基尼指數(shù)來(lái)選擇。本文將用Python實(shí)現(xiàn)這一算法,需要的可以參考一下
    2022-03-03
  • Python構(gòu)建XML樹(shù)結(jié)構(gòu)的方法示例

    Python構(gòu)建XML樹(shù)結(jié)構(gòu)的方法示例

    這篇文章主要介紹了Python構(gòu)建XML樹(shù)結(jié)構(gòu)的方法,結(jié)合實(shí)例形式分析了Python創(chuàng)建與打印xml數(shù)結(jié)構(gòu)的實(shí)現(xiàn)步驟與相關(guān)操作技巧,需要的朋友可以參考下
    2017-06-06
  • Python十類常見(jiàn)異常類型總結(jié)(附捕獲及異常處理方式)

    Python十類常見(jiàn)異常類型總結(jié)(附捕獲及異常處理方式)

    在編寫(xiě)程序時(shí)難免會(huì)遇到錯(cuò)誤,有的是編寫(xiě)人員疏忽造成的語(yǔ)法錯(cuò)誤,有的是程序內(nèi)部隱含邏輯問(wèn)題造成的數(shù)據(jù)錯(cuò)誤等等,這篇文章主要給大家介紹了關(guān)于Python十類常見(jiàn)異常類型總結(jié)的相關(guān)資料,文中還附捕獲及異常處理方式,需要的朋友可以參考下
    2023-06-06
  • python 定時(shí)修改數(shù)據(jù)庫(kù)的示例代碼

    python 定時(shí)修改數(shù)據(jù)庫(kù)的示例代碼

    這篇文章主要介紹了python 定時(shí)修改數(shù)據(jù)庫(kù)的示例代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-04-04
  • Python多線程中線程數(shù)量如何控制

    Python多線程中線程數(shù)量如何控制

    本文主要介紹了Python多線程中線程數(shù)量如何控制,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-01-01
  • 一篇文章搞懂python的轉(zhuǎn)義字符及用法

    一篇文章搞懂python的轉(zhuǎn)義字符及用法

    這篇文章主要介紹了一篇文章搞懂python的轉(zhuǎn)義字符及用法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • python用戶管理系統(tǒng)

    python用戶管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了Python用戶管理系統(tǒng)的相關(guān)代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-03-03
  • python生成多個(gè)只含0,1元素的隨機(jī)數(shù)組或列表的實(shí)例

    python生成多個(gè)只含0,1元素的隨機(jī)數(shù)組或列表的實(shí)例

    今天小編就為大家分享一篇python生成多個(gè)只含0,1元素的隨機(jī)數(shù)組或列表的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-11-11

最新評(píng)論

钦州市| 邹平县| 龙南县| 若羌县| 涟水县| 治多县| 沽源县| 高碑店市| 环江| 万全县| 华亭县| 米脂县| 延川县| 重庆市| 镇赉县| 突泉县| 体育| 顺平县| 收藏| 綦江县| 百色市| 怀远县| 承德县| 巴东县| 华池县| 锡林浩特市| 克拉玛依市| 咸阳市| 南澳县| 吉林省| 巨野县| 水城县| 福清市| 香格里拉县| 南汇区| 中方县| 泗洪县| 栾川县| 白银市| 上犹县| 池州市|