欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

PyTorch中關(guān)于tensor.repeat()的使用

 更新時(shí)間:2022年11月09日 10:58:51   作者:tomeasure  
這篇文章主要介紹了PyTorch中關(guān)于tensor.repeat()的使用,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

關(guān)于tensor.repeat()的使用

考慮到很多人在學(xué)習(xí)這個(gè)函數(shù),我想在這里提 一個(gè)建議:

強(qiáng)烈推薦 使用 einops 模塊中的 repeat() 函數(shù) 替代 tensor.repeat()!

它可以擺脫 tensor.repeat() 參數(shù)的神秘主義。

einops 模塊文檔地址:https://nbviewer.jupyter.org/github/arogozhnikov/einops/blob/master/docs/1-einops-basics.ipynb

學(xué)習(xí) tensor.repeat() 這個(gè)函數(shù)的功能的時(shí)候,最好還是要觀察所得到的 結(jié)果的維度。

不多說(shuō),看代碼:

>>> import torch
>>> 
>>> # 定義一個(gè) 33x55 張量
>>> a = torch.randn(33, 55)
>>> a.size()
torch.Size([33, 55])
>>> 
>>> # 下面開(kāi)始嘗試 repeat 函數(shù)在不同參數(shù)情況下的效果
>>> a.repeat(1,1).size()     # 原始值:torch.Size([33, 55])
torch.Size([33, 55])
>>> 
>>> a.repeat(2,1).size()     # 原始值:torch.Size([33, 55])
torch.Size([66, 55])
>>> 
>>> a.repeat(1,2).size()     # 原始值:torch.Size([33, 55])
torch.Size([33, 110])
>>>
>>> a.repeat(1,1,1).size()   # 原始值:torch.Size([33, 55])
torch.Size([1, 33, 55])
>>>
>>> a.repeat(2,1,1).size()   # 原始值:torch.Size([33, 55])
torch.Size([2, 33, 55])
>>>
>>> a.repeat(1,2,1).size()   # 原始值:torch.Size([33, 55])
torch.Size([1, 66, 55])
>>>
>>> a.repeat(1,1,2).size()   # 原始值:torch.Size([33, 55])
torch.Size([1, 33, 110])
>>>
>>> a.repeat(1,1,1,1).size() # 原始值:torch.Size([33, 55])
torch.Size([1, 1, 33, 55])
>>> 
>>> # ------------------ 割割 ------------------
>>> # repeat()的參數(shù)的個(gè)數(shù),不能少于被操作的張量的維度的個(gè)數(shù),
>>> # 下面是一些錯(cuò)誤示例
>>> a.repeat(2).size()  # 1D < 2D, error
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
RuntimeError: Number of dimensions of repeat dims can not be smaller than number of dimensions of tensor
>>>
>>> # 定義一個(gè)3維的張量,然后展示前面提到的那個(gè)錯(cuò)誤
>>> b = torch.randn(5,6,7)
>>> b.size() # 3D
torch.Size([5, 6, 7])
>>> 
>>> b.repeat(2).size() # 1D < 3D, error
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
RuntimeError: Number of dimensions of repeat dims can not be smaller than number of dimensions of tensor
>>>
>>> b.repeat(2,1).size() # 2D < 3D, error
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
RuntimeError: Number of dimensions of repeat dims can not be smaller than number of dimensions of tensor
>>>
>>> b.repeat(2,1,1).size() # 3D = 3D, okay
torch.Size([10, 6, 7])
>>>

Tensor.repeat()的簡(jiǎn)單用法

相當(dāng)于手動(dòng)實(shí)現(xiàn)廣播機(jī)制,即沿著給定的維度對(duì)tensor進(jìn)行重復(fù):

比如說(shuō)對(duì)下面x的第1個(gè)通道復(fù)制三次,其余通道保持不變:

import torch

x = torch.randn(1, 3, 224, 224)
y = x.repeat(3, 1, 1, 1)
print(x.shape)
print(y.shape)

結(jié)果為:

torch.Size([1, 3, 224, 224])
torch.Size([3, 3, 224, 224])

這個(gè)在復(fù)制batch的時(shí)候用的比較多,上面的情況就相當(dāng)于batch為1的3×224×224特征圖復(fù)制成了batch為3

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Django實(shí)現(xiàn)圖片文字同時(shí)提交的方法

    Django實(shí)現(xiàn)圖片文字同時(shí)提交的方法

    這篇文章主要介紹了Django實(shí)現(xiàn)圖片文字同時(shí)提交的方法,較為詳細(xì)的分析了Django+jQuery實(shí)現(xiàn)圖片與文字同時(shí)提交的相關(guān)技巧,需要的朋友可以參考下
    2015-05-05
  • 關(guān)于如何把Python對(duì)象存儲(chǔ)為文件的方法詳解

    關(guān)于如何把Python對(duì)象存儲(chǔ)為文件的方法詳解

    本文將給大家介紹如何把Python對(duì)象存儲(chǔ)為文件的方法,pickle可以用二進(jìn)制表示并讀寫(xiě)python數(shù)據(jù),這個(gè)功能并不安全,如果把一個(gè)pickle暴露給別人,有被植入惡意程序的風(fēng)險(xiǎn),文中通過(guò)代碼給大家講解的非常詳細(xì),需要的朋友可以參考下
    2024-01-01
  • Python?ndarray?數(shù)組的變形詳情

    Python?ndarray?數(shù)組的變形詳情

    這篇文章主要介紹了Python?ndarray數(shù)組的變形詳情,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-09-09
  • 一文詳解Python中生成器的原理與使用

    一文詳解Python中生成器的原理與使用

    生成器表達(dá)式本質(zhì)上就是一個(gè)迭代器,是定義迭代器的一種方式,是允許自定義邏輯的迭代器。本文將詳細(xì)講解一下Python中生成器的原理與使用,需要的可以參考一下
    2022-05-05
  • 基于Google的Python編碼規(guī)范標(biāo)準(zhǔn)

    基于Google的Python編碼規(guī)范標(biāo)準(zhǔn)

    這篇文章主要介紹了基于Google的Python編碼規(guī)范標(biāo)準(zhǔn),其中包含了分號(hào),行長(zhǎng)度,括號(hào),縮進(jìn),空行,空格等基本符號(hào)的使用規(guī)則,有需要的朋友可以參考下
    2021-08-08
  • 如何用PyPy讓你的Python代碼運(yùn)行得更快

    如何用PyPy讓你的Python代碼運(yùn)行得更快

    這篇文章主要介紹了如何用PyPy讓你的Python代碼運(yùn)行得更快,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • Python3 實(shí)現(xiàn)隨機(jī)生成一組不重復(fù)數(shù)并按行寫(xiě)入文件

    Python3 實(shí)現(xiàn)隨機(jī)生成一組不重復(fù)數(shù)并按行寫(xiě)入文件

    下面小編就為大家分享一篇Python3 實(shí)現(xiàn)隨機(jī)生成一組不重復(fù)數(shù)并按行寫(xiě)入文件的示例。具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-04-04
  • Pandas數(shù)值排序 sort_values()的使用

    Pandas數(shù)值排序 sort_values()的使用

    本文主要介紹了Pandas數(shù)值排序 sort_values()的使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07
  • Python生成截圖選餐GIF動(dòng)畫(huà)

    Python生成截圖選餐GIF動(dòng)畫(huà)

    本篇文章主要介紹了Python生成截圖選餐GIF動(dòng)畫(huà),文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-07-07
  • python使用PyFetion來(lái)發(fā)送短信的例子

    python使用PyFetion來(lái)發(fā)送短信的例子

    這篇文章主要介紹了python使用PyFetion來(lái)發(fā)送短信的例子,需要的朋友可以參考下
    2014-04-04

最新評(píng)論