当前位置: 首页>PHP>正文

pytorch中的contiguous()函數的淺淺解釋

pytorch中的contiguous()函數的淺淺解釋

contiguous()

有些tensor并不是占用一整塊內存,而是由不同的數據塊組成。

contiguous()函數的作用:把tensor變成在內存中連續分布的形式

來自鏈接一

contiguous一般與transpose,permute,view搭配使用:使用transpose或permute進行維度變換后,調用contiguous,然后方可使用view對維度進行變形(如:tensor_var.contiguous().view() ),示例如下:

x = torch.Tensor(2,3)
y = x.permute(1,0)         # permute:二維tensor的維度變換,此處功能相當于轉置transpose
y.view(-1)                 # 報錯,view使用前需調用contiguous()函數
y = x.permute(1,0).contiguous()
y.view(-1)                 # OK

具體原因有兩種說法:

1 transpose、permute等維度變換操作后,tensor在內存中不再是連續存儲的,而view操作要求tensor的內存連續存儲,所以需要contiguous來返回一個contiguous copy;

2 維度變換后的變量是之前變量的淺拷貝,指向同一區域,即view操作會連帶原來的變量一同變形,這是不合法的,所以也會報錯;---- 這個解釋有部分道理,也即contiguous返回了tensor的深拷貝contiguous copy數據;

參考資料

permute函數_Pytorch之contiguous函數_weixin_39626369的博客-CSDN博客//講得賊拉好

pytorch中contiguous()_小妖精Fsky的博客-CSDN博客_pytorch中contiguous//講得賊拉好

Pytorch view() permute() contiguous() transpose()_我是天才很好的博客-CSDN博客

https://www.zydui.com/af611U28CDQ9VAF8H.html
>

相关文章:

  • pytorch中contiguous()
  • Solta沖刺美股:靠熱瑪吉9個月賺2億美元 林心如代言
  • pytorch中的contiguous()函數的淺淺解釋
  • 英雄聯盟數據分析專題(三)
  • 英雄聯盟無法啟動 因計算機中,發生了未知的dx錯誤,英雄聯盟無法啟動
  • for循環的3個表達式執行順序
  • D0712
  • C#中將字符轉換為鍵盤的鍵值keycode
  • 視頻去除原聲添加新的音樂時如何控制音量大小
  • 上古世紀服務器不穩定,《上古世紀》經典服火爆開服,玩家過多竟導致服務器崩潰!...
  • UK DN AS NN WG UX AA:這是一條加密推送!
  • 塔羅牌源碼|塔羅牌愛情占卜源碼
  • 深夜里,程序員最喜歡去的網站竟然是......
  • 2021/06/10| AMA:區塊鏈的內力與招式,RChain VS 其他鏈
  • 游戲自評——從電競化看LOL的設計/修改思路
  • lol最克制諾手的英雄_LOL最能克制諾手的5大英雄,誰敢來試試?
  • unity重定向_動畫重定向技術分析及其在Unity中的應用
  • 大數據之眼:無所不知的數字幽靈 - 電子書下載 -(百度網盤 高清版PDF格式)...
  • [App探索]JSBox中幽靈觸發器的實現原理探索
  • 通過labelme的json文件實現對圖片的批量裁剪
  • 同性社交軟件Blued整改:暫停注冊,對未成年人禁用
  • 數據安全建設中最難的是接口梳理,保護好接口就是保護好個人信息
  • 使用OpenCV進行實時車道檢測
  • OneAlert助力車行易提升事件響應效率,保障服務穩定性
  • 無人車行人識別---opencv
  • 車行無憂 v5.0.3 安卓版
  • 新人如何學配音?配音每日練習基本功學習?
  • winsock chapter6 - 地址家族和名字解析
  • 個人,傳承,家族?
  • VS的TFS(團隊資源管理器)