婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Pytorch實現張量的創建與使用方法

Pytorch實現張量的創建與使用方法

熱門標簽:百度地圖標注沒有了 外呼并發線路 ai電銷機器人源碼 地圖標注審核表 ai電話機器人哪里好 西藏房產智能外呼系統要多少錢 長沙高頻外呼系統原理是什么 湛江智能外呼系統廠家 宿遷星美防封電銷卡

張量的創建及其基本類型

1.張量(Tensor)函數創建方法

張量最基本的創建方法和Numpy中創建Array的格式一樣,都是創建函數(序列)的格式:張量創建函數: torch.tensor()

import torch 

# 通過列表創建張量
t = torch.tensor([1,2])

# 通過元組創建張量
t = torch.tensor((1,2))

import numpy as np

a = np.array((1,2))
# 通過數組創建張量
t1 = torch.tensor(a)
"""
輸出結果為 tensor([1,2],dtype=torch.int32)
Point: 通過上述返回結果,我們發現張量也有dtype類型
"""

2.張量的類型

張量和數組類似,都有dtype方法,可返回張量類型.我們發現,整數型的數組默認創建int32(整型)類型,而張量默認創建int64(長整型)類型。相對的,創建浮點型數組時,張量默認是float32(單精度浮點型),而Array則是默認float64(雙精度浮點型)。除了數值型張量,常用的常量類型還有布爾型張量,也就是構成張量的各個元素都是布爾類型的張量。

3.張量類型的轉化

張量類型的隱式轉化
和NumPy中的Array相同,當張量各元素屬于不同類型時,系統會自動進行隱式轉化。

# 為了保證數據精度,傾向于統一轉化成數據精度比較高的
# 浮點型和整數型的隱式轉化
torch.tensor([1.1,2])

# 布爾型和數值型的隱式轉化
torch.tensor([True,2.0])

張量類型的轉化方法

當然,我們還可以使用.float(),.int()等方法對張量類型進行轉化。

t = torch.tensor([1,2])

# 轉化為默認浮點型(32位)
t.float()

# 轉化為雙精度浮點型
t.double()

# 轉化為16位整數
t.short()

張量的維度及形變

張量作為一組數的結構化表示,也同樣有維度的概念,簡單理解,向量就是一維的數組,而矩陣則是二維的數組,以此類推,在張量中,我們還可以定義更高維度的數組。當然,張量的高維數組和Numpy中的高維Array概念類似。

1.創建高維張量

用簡單序列創建一維數組
包含"簡單"元素的序列可創建一維數組。

t1 = torch([1,2])
t1 

# 使用ndim屬性查看張量的維度
t1.ndim

# 使用shape查看形狀
t1.shape

# 和size函數相同
t1.size()

注:和Numpy不同,PyTorch中的size方法返回結果和shape屬性返回結果一致。

此外,還需要注意有兩個常用的函數/方法,用來查看張量的形狀。

# 返回有幾個(N-1)維元素
len(t1)

# 返回總共有幾個數
t1.numel()

用"序列"的"序列"創建二維數組
以此類推,我們還可以用形狀相同的序列組成一個新的序列,進而將其轉化為二維張量

# 用list的list創建二維數組
t2 = torch([[1,2],[3,4]])

零維張量
在PyTorch中,還有一類特殊的張量,被稱為零維張量。該類型只包含一個元素,但又不是單獨一個數。

t0 = torch.tensor([1])  # 這個仍然是一維張量
t0 = torch.tensor(1)    # 這個是零維張量

理解零維張量:
目前我們可以將零維張量視為擁有張量屬性的單獨的一個數。(例如: 張量可以存在GPU上,但Python的原生數值對象不行,但零維張量就可以,盡管是零維。)從學術名稱來說,Python中單獨的一個數是scalars(標量),而零維的張量則是tensor。

高維張量
一般來說,三維及三維以上的張量,我們就將其稱為高維張量。當然,在高維張量中,最常見的還是三維張量,我們可以將其理解為二維數組或矩陣的集合。

a1 = np.array([[1,2,2],[3,4,4]])
a2 = np.array([[5,6,6],[7,8,8]])
t3 = torch.tensor([a1,a2])
t3.shape   # 結果為torch.Size([2,2,3])   包含兩個兩行三列的矩陣

當然,N維張量的創建方法,我們可以先創建M個N-1維的數組,然后將其拼成一個N維的張量。關于更高維度的張量,我們將在后續遇到時再進行講解。在張量的學習過程中,三維張量就已經足夠。

2.張量的形變

張量作為數字的結構化集合,其結構也是根據需求靈活調整的。

2.1 flatten拉平: 將任意維度張量轉化為一維張量

t2 = torch.tensor([[1,2]
                  ,[3,4]])
t2.flatten()   # 把張量按行排列拉平

2.2 reshape方法: 任意變形

t1 = tensor([1.2])
# 轉化為兩行一列的張量
t1.reshape(2,1)
"""
結果為: tensor([[1],[2]])
注意: reshape過程中維度的變化: reshape轉化后的維度由該方法輸入的參數"個數"決定
"""

特殊張量的創建方法

在很多數值科學計算的過程中,都會創建一些特殊取值的張量,用于模擬特殊取值的矩陣,如全0矩陣,對角矩陣等.因此,PyTorch中也存在很多創建特殊張量的函數。

1.特殊取值的張量的創建方法

全0張量

torch.tensor([2,3])  # 創建全是0的兩行三列的矩陣

注: 由于zeros就已經確定的張量元素的取值,因此該函數傳入的參數實際上是決定了張量的形狀

全1張量

torch.ones([2,3])

單位矩陣

# 返回五行五列的單位矩陣,對角線元素全為1
torch.eyes(5)

對角矩陣
略有特殊的是,在PyTorch中,需要利用一維張量取創建對焦矩陣。

t1 = torch.tensor([1,2])
torch.dialog(t1)
"""
輸出結果為: tensor([[1,0],
                   [0,2]])
"""

rand: 服從0-1均勻分布的張量

torch.rand(2,3)

randn: 服從標準正態分布的張量

torch.randn(2,3)

normal: 服從指定正態分布的張量

torch.normal(2,3,size=(2,2))  # 均值為2,標準差為3的張量

randint: 整數隨機采樣結果

torch.randint(1,10,[2,4]) # 在1-10之間隨機抽取整數,組成兩行四列的矩陣

arrange/linsapce: 生成數列

torch.arrange(5)     # 和range相同
"""
結果為:
     tensor([0,1,2,3,4])
"""
torch.arraneg(1,5,0.5)    # 從1到5(左閉右開),每隔0.5取值一次
torch.linspace(1,5,3)     # 從1到5(左右都包含),等距取3個數

empty: 生成位初始化的指定形狀矩陣

torch。empty(2,3)

full: 根據指定形狀,填充指定數值

torch.full([2,4],2)

2.創建指定形狀的數組

當然我們還能根據指定對象的形狀進行數值填充,只需要在上述函數后面加上_like即可。

t1 = torch.tensor([1,2])
t2 = torch.tensor([[1,2],[3,4]])
torch.full_like(t1,2)    # 根據t1形狀,填充數值2
torch.randint_like(t2,1,10)
torch.zeros_like(t1)

Ponint: (1)更多_like函數,可查閱幫助文檔

(2)需要注意一點的是,_like類型轉化需要注意轉化前后數據類型一致的問題;

torch.rand_like(t1)     # t1是整數,而轉化后將變成浮點數,此時代碼將報錯 

張量和其他類型的轉化方法

張量,數組和列表是較為相似的三種類型對象,在實際操作過程中,經常會涉及三種對象的相互轉化,在此之前張量的創建過程中,我們看到torch.tensor函數可以直接將數組或者列表轉化為張量,而我們也可以將張量轉化為數組或者列表。另外,前文介紹了0維張量的概念,此處也將進一步給出零維張量和數值對象的轉化方法。

numpy方法: 張量轉化為數組

t1.numpy()
# 當然也可以通過np.array函數直接轉化為array
np.array(t1)

tolist方法: 張量轉化為列表

t1.tolist()

list函數: 張量轉化為列表

list(t1)

需要注意的是,此時轉化的列表是由一個個零維張量構成的列表,而非張量的數值轉化成的列表。

.item()方法: 轉化為數值

在很多情況下,我們需要將最終計算的結果張量轉化為單獨的數值進行輸出,此時需要使用.item方法來執行。

n = torch.tensor(1)
n.item()

張量的深拷貝

Python中其他對象類型一樣,等號賦值操作實際上是淺拷貝,需要進行深拷貝,則需要使用clone方法。

s = torch.tensor([1,2])
t = s.clone()

到此這篇關于Pytorch實現張量的創建與使用方法的文章就介紹到這了,更多相關Pytorch實現張量創建使用內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • Pytorch使用PIL和Numpy將單張圖片轉為Pytorch張量方式
  • pytorch 實現張量tensor,圖片,CPU,GPU,數組等的轉換
  • pytorch中tensor張量數據類型的轉化方式

標簽:大同 寧夏 漯河 盤錦 林芝 海南 普洱 南平

巨人網絡通訊聲明:本文標題《Pytorch實現張量的創建與使用方法》,本文關鍵詞  Pytorch,實現,張量,的,創建,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Pytorch實現張量的創建與使用方法》相關的同類信息!
  • 本頁收集關于Pytorch實現張量的創建與使用方法的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    精品一区二区综合| 色婷婷狠狠综合| 一级女性全黄久久生活片免费| 成人蜜臀av电影| 一区二区三区欧美视频| 亚洲精品乱码久久久久久久久| 欧美婷婷六月丁香综合色| 欧美亚洲愉拍一区二区| 欧美日韩在线播放三区| 欧美日韩成人综合天天影院| 欧美日韩国产三级| 91精品国产手机| 日韩一区二区三区电影在线观看| 91精品国产黑色紧身裤美女| 国产精品综合一区二区三区| 国产精品黄色在线观看| 亚洲精品日产精品乱码不卡| 蜜桃一区二区三区在线观看| av亚洲精华国产精华精华| 欧美在线视频日韩| 国产婷婷色一区二区三区| 亚洲一区二区欧美日韩| 国产高清不卡一区二区| 欧美三级视频在线| 欧美国产乱子伦| 奇米在线7777在线精品| 91视频免费看| 欧美国产精品一区| 久久福利资源站| 欧美视频一二三区| 亚洲欧美综合在线精品| 国产馆精品极品| 欧美精品一区二区精品网| 视频一区视频二区中文字幕| 在线中文字幕一区二区| 综合久久久久综合| 粉嫩aⅴ一区二区三区四区| 日韩视频中午一区| 日韩av电影免费观看高清完整版在线观看 | 欧美极品xxx| 精品一区免费av| 在线成人小视频| 亚洲一区二区三区在线播放| 欧美日韩二区三区| 91精品国产综合久久国产大片| 欧美videossexotv100| 中日韩免费视频中文字幕| 亚洲欧美日韩系列| 成人国产电影网| 欧美mv日韩mv亚洲| 美国毛片一区二区三区| 欧美一区日本一区韩国一区| 日本欧美一区二区三区乱码| 制服视频三区第一页精品| 日本免费在线视频不卡一不卡二| 欧美精品在线一区二区三区| 日韩av中文字幕一区二区| 日韩欧美综合一区| 精品一区二区在线观看| 久久久三级国产网站| 国产精品一区二区三区四区| 国产亚洲欧美日韩俺去了| 成人免费高清在线观看| 国产精品高清亚洲| 欧美亚洲免费在线一区| 亚洲成人福利片| 日韩一区二区精品葵司在线| 久久精品久久综合| 久久你懂得1024| 成人妖精视频yjsp地址| 最新欧美精品一区二区三区| 在线看日韩精品电影| 香蕉成人啪国产精品视频综合网| 91麻豆精品国产91久久久久| 黄网站免费久久| 久久久电影一区二区三区| 99国产精品久久久| 亚洲va欧美va人人爽午夜| 日韩欧美国产综合在线一区二区三区| 久久精品av麻豆的观看方式| 国产精品天天看| 欧美制服丝袜第一页| 精品一区二区三区免费毛片爱| 国产欧美1区2区3区| 在线看国产一区| 激情图片小说一区| 亚洲美女少妇撒尿| 欧美一区二区三区视频免费| 国产精品亚洲综合一区在线观看| 亚洲欧洲色图综合| 欧美精品1区2区3区| 大桥未久av一区二区三区中文| 亚洲一区二区三区自拍| 欧美aaaaaa午夜精品| 97精品视频在线观看自产线路二| 中文一区二区在线观看| 懂色av中文字幕一区二区三区| 国产欧美一区二区三区网站| 国产大陆精品国产| 精品视频1区2区3区| 免费在线看成人av| 中文字幕色av一区二区三区| 日韩精品一区在线| 97国产一区二区| 狠狠色丁香九九婷婷综合五月| 一区二区三区成人| 国产精品麻豆99久久久久久| 日韩一区二区三| 在线观看日韩国产| 成人黄色网址在线观看| 蜜桃久久久久久| 亚洲成人av在线电影| 国产精品国产三级国产有无不卡| 91精品国产品国语在线不卡| 色中色一区二区| 成人激情免费电影网址| 国产揄拍国内精品对白| 日韩和欧美一区二区三区| 亚洲天堂久久久久久久| 久久精品亚洲麻豆av一区二区| 正在播放亚洲一区| 欧美三级资源在线| 在线亚洲欧美专区二区| 99久久精品免费看| 成人妖精视频yjsp地址| 国产麻豆精品视频| 看国产成人h片视频| 首页亚洲欧美制服丝腿| 亚洲一区二区三区不卡国产欧美| 亚洲欧洲另类国产综合| 一区在线播放视频| 久久久高清一区二区三区| 久久人人超碰精品| 久久久久久久一区| 久久亚洲综合色一区二区三区 | 欧美高清在线一区二区| 亚洲精品在线电影| 日韩欧美一区电影| 日韩美女在线视频| 日韩欧美黄色影院| 欧美成人高清电影在线| 5858s免费视频成人| 91精品欧美福利在线观看| 欧美日韩在线不卡| 7777女厕盗摄久久久| 欧美精品三级在线观看| 亚洲成人福利片| 欧美一区二区三区四区在线观看| av在线不卡观看免费观看| 日本aⅴ免费视频一区二区三区| 国产精品污网站| 精品国产乱码久久久久久1区2区 | 亚洲欧洲国产日韩| 亚洲欧美国产毛片在线| 亚洲图片欧美色图| 日韩高清电影一区| 国内精品久久久久影院色| 国产精品99久久久久久有的能看 | 国产精品嫩草影院av蜜臀| 国产精品人成在线观看免费| 亚洲视频在线一区观看| 天堂成人国产精品一区| 久久国产成人午夜av影院| 成人免费视频一区| 日本道在线观看一区二区| 在线电影国产精品| 国产亚洲欧美日韩俺去了| 亚洲久草在线视频| 麻豆一区二区三| 成人黄色综合网站| 欧美人狂配大交3d怪物一区| 久久综合久久综合久久| 综合久久久久综合| 日本欧美一区二区| 99精品在线免费| 日韩一级黄色大片| 国产精品午夜久久| 午夜久久久久久久久久一区二区| 精品在线免费观看| 色综合中文字幕国产 | 91精品婷婷国产综合久久竹菊| 欧美一区二区三区思思人| 欧美韩日一区二区三区四区| 亚洲一二三四在线| 国产一区不卡在线| 欧美性欧美巨大黑白大战| 久久久精品日韩欧美| 亚洲一区二区三区精品在线| 国产传媒久久文化传媒| 欧美剧在线免费观看网站| 国产日产亚洲精品系列| 婷婷开心激情综合| 91免费小视频| 国产欧美日韩三级| 麻豆国产精品一区二区三区| 在线国产电影不卡| 国产精品伦一区| 狠狠网亚洲精品| 亚洲素人一区二区| 亚洲主播在线播放|