pytorch学习(2)
创建tensor
- 从list中创建tensor
- 从numpy中创建tensor / 将numpy转换为tensor
- 有初始化值创建
- 无初始化值创建
- 从tensor创建tensor(torch.**__like)
从list中创建tensor
import torch
a = torch.tensor([2,3.4])
print(a)
print(a.dtype)
b = torch.FloatTensor([2,3.4])
print(b)
print(b.dtype)
c = torch.IntTensor([2,3.4])
print(c)
print(c.dtype)
d = torch.tensor([[1,2],[3,4]])
print(d)
print(d.dtype)
[2 3 3]
#### 将numpy转换为tensor类型
- 通过 torch.from_numpy() 将其转换为tensor类型
python
初始化方法
import numpy as np
import torch
将numpy转换为tensor类型
b = torch.from_numpy(a)
print(b)
print(type(b))
print(b.dim())
tensor([[1., 1., 1.],
[1., 1., 1.],
[1., 1., 1.]])
二、全0初始化
d = torch.zeros(4,4)
print(d)
print(d.size())
print(d.dim())
tensor([[1., 0., 0.],
[0., 1., 0.],
[0., 0., 1.]])
四、创建等差数组
f = torch.arange(1,10,2) # 默认等差为1,此处更改为2,且为左闭右开
print(f)
tensor([ 0.0000, 1.6667, 3.3333, 5.0000, 6.6667, 8.3333, 10.0000])
六、torch.randperm
a_randperm = torch.randperm(10)
print(a_randperm)
tensor([[-1785343488, 397, -595384939],
[ 297807692, 0, 0]], dtype=torch.int32)
二、torch.Tensor
#当传入数据时,torch.Tensor 使用全局默认 dtype(Float.Tensor)
I = torch.Tensor(2,3) #创建一个2行3列的张量,无初始化(随机值)
print(I)
print(type(I))
tensor([[0.3637, 0.7117, 0.1330],
[0.9735, 0.2333, 0.5156],
[0.1735, 0.6980, 0.2912]])
四、torch.randn
a_randn = torch.randn(2,3) #随机生成服从正态分布的数据,返回数据为张量
print((a_randn))
tensor([[8, 6, 6, 4, 8],
[5, 1, 0, 6, 9],
[1, 9, 9, 1, 4]])
</code></pre>
<h4>从tensor创建tensor(torch.**__like)</h4>
<blockquote>
<p>保留原始tensor形状,改变数据</p>
</blockquote>
<ul>
<li>torch.ones_like(x_data) 填充数据全为1</li>
<li>torch.zeros_like(x_data) 填充数据全为0</li>
<li>torch.empty_like(x_data) 填充未初始化数据</li>
<li>torch.rand_like(x_data) 0-1随机填充数据</li>
<li>torch.randn_like(x_data) 标准正态随机填充</li>
<li>torch.randint_like(x_data,low,high) 填充[low,high)范围整数</li>
<li>torch.rand_like(x_data,dtype=) 改变数据类型,添加参数dtype</li>
</ul>
<p>
import torch
一、torch.ones_like
a_like = torch.randn(3,5)
torch.ones_like(a_like)
tensor([[0., 0., 0., 0., 0.],
[0., 0., 0., 0., 0.],
[0., 0., 0., 0., 0.]])
三、torch.empty_like
a_like = torch.randn(3,5)
torch.empty_like(a_like)
tensor([[0.5981, 0.5812, 0.4548, 0.8211, 0.2102],
[0.6609, 0.6824, 0.5675, 0.9607, 0.3784],
[0.0857, 0.2712, 0.4093, 0.5663, 0.6313]])
五、torch.randn_like
a_like = torch.randn(3,5)
torch.randn_like(a_like)
tensor([[1., 1., 9., 8., 4.],
[7., 6., 7., 8., 9.],
[8., 1., 2., 6., 7.]])
七、torch.rand_like(a,dtype=)
a = torch.randn(3,5)
torch.rand_like(a,dtype=float)
Original: https://www.cnblogs.com/311dih/p/16583849.html
Author: 叁_311
Title: Five---pytorch学习---创建tensor/API/有初始化创建/无初始化创建/从tensor中创建tensor
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/642902/
转载文章受原作者版权保护。转载请注明原作者出处!