pytorch创建
2019獨角獸企業重金招聘Python工程師標準>>>
import torch
import numpy as np
#從numpy導入
a = np.ones([2,1])
a = torch.from_numpy(a)
print(a)
?
#從list導入,注意在python中,()默認表示size;
a = torch.tensor([1,2,3])
print(a)
?
#生成未初始化數據
a = torch.empty(5,3)
b = torch.FloatTensor(5,3)
c = torch.IntTensor(5,3)
print(a,b,c)#pytorch默認類型是FloatTensor
?
#隨機初始化:
#rand函數使用0-1隨機均勻分布,包含0和0;
#rand_like [min,max)
?
a = torch.rand(3,3)
b = torch.rand_like(a)
c = torch.randint(1,10,[3,3])#生產3*3的tensor,范圍是[1,10)
print(a,b,c)
?
a = torch.randn(3,3)#正態分布,常用于bias;均值為0,方差為1;
print(a)
?
"""
如果想自定義均值和方差則使用normal函數:
生成10個均值為0;方差慢慢變小;后期我們可以改成我們想要的形狀,如下面的可以resize為(2,5),(5,2)等;
"""
a = torch.normal(mean=torch.full([10],0),std=torch.arange(1,0,-0.1))
print(a)
a = torch.normal(mean=torch.full([10],0),std=torch.arange(1,0,-0.1))
print(a)
?
print(torch.full([2,3],1024))#生成2*3矩陣,元素值均為1024
print(torch.full([],1024))#tensor(1024.) 生成一個標量
print(torch.full([1],1024))#tensor([1024.])長度為1的tensor
?
#生成等差數列
a = torch.arange(1,10,0.5)#0.5等差,不包含10
print(a)
a = torch.linspace(1,10,100)#在1-10之間生成100個等分數列
print(a)
a = torch.logspace(1,-1,10)#1至-1之間生成10個等差數列,再求log
print(a)
?
#生成全0全1以及對角矩陣,注意eye只支持1,2維度,高維度不支持
print(torch.ones(3,3),torch.zeros(3,3),torch.eye(3,3))
?
#生成隨機索引,類似shuffle,用于打亂順序
print(torch.randperm(10))
轉載于:https://my.oschina.net/u/4131400/blog/3048440
總結
- 上一篇: Android 动画 介绍与使用
- 下一篇: 搬了十次家,总算搬进了自己的家