日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Pytorch 张量tensor

發布時間:2024/7/5 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Pytorch 张量tensor 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

    • 1. tensor 張量
    • 2. 運算
    • 3. 切片、形狀size()、改變形狀view()
    • 4. item() 只能讀取一個元素

參考 http://pytorch123.com/

1. tensor 張量

  • empty 不初始化
import torch x = torch.empty(5,3) # 不初始化 print(x)tensor([[1.0010e-38, 4.2246e-39, 1.0286e-38],[1.0653e-38, 1.0194e-38, 8.4490e-39],[1.0469e-38, 9.3674e-39, 9.9184e-39],[8.7245e-39, 9.2755e-39, 8.9082e-39],[9.9184e-39, 8.4490e-39, 9.6429e-39]])
  • rand 隨機初始化 0 - 1 之間
x = torch.rand(5,3) # 隨機初始化tensor([[0.5931, 0.2422, 0.2738],[0.0949, 0.4755, 0.7422],[0.7418, 0.5980, 0.4837],[0.4228, 0.4489, 0.2633],[0.7277, 0.7254, 0.8932]])
  • zeros 初始化為0,dtype指定數據類型
x = torch.zeros(5,3,dtype=torch.long)tensor([[0, 0, 0],[0, 0, 0],[0, 0, 0],[0, 0, 0],[0, 0, 0]])
  • 直接賦值
x = torch.tensor([[5.5, 3], [2,4]])tensor([[5.5000, 3.0000],[2.0000, 4.0000]])
  • new_* 方法,繼承之前張量的屬性,也可以覆蓋以前的屬性
x = x.new_ones(5,3,dtype=torch.double) tensor([[1., 1., 1.],[1., 1., 1.],[1., 1., 1.],[1., 1., 1.],[1., 1., 1.]], dtype=torch.float64)x = x.new_zeros(2,4) tensor([[0., 0., 0., 0.],[0., 0., 0., 0.]], dtype=torch.float64) # 可見屬性繼承了之前的
  • rand_like 形狀跟之前的一樣
x = torch.randn_like(x,dtype=torch.float) print(x) print(x.size())tensor([[ 0.2575, -0.3525, 1.2242, -0.0641],[ 0.0307, 0.0433, -0.3609, 2.0844]]) torch.Size([2, 4])

2. 運算

x = torch.eye(3) y = torch.zeros(3,3) print(x+y) # + print(torch.add(x,y)) # addres = torch.empty(2,2) print(res.size()) # torch.Size([2, 2]) torch.add(x,y,out=res) # out 為輸出變量 print(res) print(res.size()) # torch.Size([3, 3])# in-place 加法 y.add_(x) # y = y+x, y 會變, 注意是 add_ 有下劃線 print(y)

3. 切片、形狀size()、改變形狀view()

切片跟numpy一樣

print(x[:,:1].size()) # torch.Size([3, 1])x = torch.randn(4,4) y = x.view(16) z = x.view(-1,8) # -1 自動推斷 print(x.size(), y.size(), z.size())# torch.Size([4, 4]) torch.Size([16]) torch.Size([2, 8])

4. item() 只能讀取一個元素

x = torch.randn(1) print(x) print(x.item()) # tensor([-0.3280]) # -0.327981561422348x = torch.randn(2,3) print(x) print(x[0,1].item()) # 只能獲取一個元素# tensor([[-1.2239, 0.3518, 1.1019], # [-0.1341, 1.0625, 0.2442]]) # 0.3518247902393341

總結

以上是生活随笔為你收集整理的Pytorch 张量tensor的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。