天天看點

<pytorch學習> 初識張量(Tensor)

工作需要,現在需要學習pytorch這個架構,從今天開始,不定期更新該系列的學習文章。

pytorch安裝網上很多教程,這裡不再贅述,這裡隻列出我們的環境。

子產品說明:

numpy 1.17.4

torch 1.4.0

torchvision 0.5.0

PyTorch 是一個基于 Python 的科學計算包,主要定位兩類人群:

  1. NumPy 的替代品,可以利用 GPU 的性能進行計算。
  2. 深度學習研究平台擁有足夠的靈活性和速度。

PyTorch最核心的便是Tensors(張量),Tensors類似于Numpy的ndarrays, 同時Tensors可以使用GPU進行計算。

下面通過構造空矩陣、随機矩陣、零矩陣、直接使用資料構造矩陣、基于存在的矩陣來建構矩陣。

空矩陣(未初始化)

# -*- coding=utf-8 -*-
import torch

x = torch.empty(2,3)
print("建立矩陣\n", x)

# ------------------------------------------------------- #
建立矩陣:
 tensor([[1.7753e+28, 2.0535e-19, 4.4647e+30],
        [5.0849e+31, 1.2708e+31, 1.9433e-19]])
# ------------------------------------------------------- #
           

 随機矩陣

# -*- coding=utf-8 -*-
import torch

x = torch.rand(2,3)
print("建立矩陣:\n", x)

# ------------------------------------------------------- #
建立矩陣:
 tensor([[0.9254, 0.9848, 0.6926],
        [0.6959, 0.4285, 0.2847]])
# ------------------------------------------------------- #
           

 零矩陣

# -*- coding=utf-8 -*-
import torch

x = torch.zeros(2,3)
print("建立矩陣:\n", x)

# ------------------------------------------------------- #
建立矩陣:
 tensor([[0., 0., 0.],
        [0., 0., 0.]])
# ------------------------------------------------------- #
           

直接使用資料構造矩陣

# -*- coding=utf-8 -*-
import torch

x = torch.Tensor([[1,2,3],[4,5,6]])
print("建立矩陣:\n", x)

# ------------------------------------------------------- #
建立矩陣:
 tensor([[1., 2., 3.],
        [4., 5., 6.]])
# ------------------------------------------------------- #
           

總結

  • 空矩陣:torch.empty()

  • 随機矩陣:torch.rand()

  • 零矩陣:torch.zeros()

  • 直接資料構造矩陣:torch.Tensor()

如果需要詳細用法可以檢視函數原型。

繼續閱讀