pytorch 創建tensor的幾種方法


tensor默認是不求梯度的,對應的requires_grad是False。

1.指定數值初始化

import torch

#創建一個tensor,其中shape為[2]
tensor=torch.Tensor([2,3])
print(tensor)#tensor([2., 3.])

#創建一個shape為[2,3]的tensor
tensor=torch.Tensor(2,3)#會隨機數值,等價於這種方式 tensor=torch.Tensor(size=(2,3))
print(tensor)
'''tensor([[-3.6525e-01,  2.8671e-42,  0.0000e+00],
        [ 0.0000e+00,  0.0000e+00,  0.0000e+00]])'''

shape=(2,3)
zeros=torch.zeros(size=shape)#全部是0的tensor
print(zeros)
'''
tensor([[0., 0., 0.],
        [0., 0., 0.]])
'''
zeros_like=torch.zeros_like(zeros)#返回跟zeros的tensor一個size的全零tensor
ones=torch.ones(shape)#全部是1的tensor
ones_like=torch.ones_like(ones)#返回跟ones的tensor一個size的全一tensor

arange=torch.arange(start=0, end=5, step=1) #返回一個從start到end的序列,步進為1
print(arange) #tensor([0, 1, 2, 3, 4])

 

2.指定分布初始化

import torch
size=[2,3]
rand=torch.rand(size) #[0,1)內的均勻分布隨機數
rand_like=torch.rand_like(rand)#返回跟rand的tensor一樣size的0-1隨機數
randn=torch.randn(size)#返回標准正太分布N(0,1)的隨機數
print(randn)
'''
tensor([[-1.0543,  0.9566, -2.4818],
        [-0.8597, -0.7725, -1.6121]])
'''

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM