目录
- 参考:百度云盘的课程Pytorch的PDF课件~
- 一、学习路径
- 二、安装
- 三、张量的概念:多维数组
- 四、张量的创建
- 4.1 直接创建
- 4.2 依据数值创建
- 4.3 依概率分布创建张量
- 五、总结
参考:百度云盘的课程Pytorch的PDF课件~
一、学习路径
二、安装
1)验证成功
>>> import torch
>>> a=torch.ones(2,2)
>>> a
tensor([[1., 1.],
[1., 1.]])
>>>
- 查看pytorch版本
print ("hello pytorch {}".format(torch.__version__))
3)查看是否支持GPU
print (torch.cuda.is_available())
三、张量的概念:多维数组
Tensor与Variable
–Variable:主要用于封装Tensor,进行自动求导
–data:被封装的Tensor
–grad:data的梯度
–grad_fn:创建Tensor的Function,是自动求导的关键
–requires_grad:指示是否需要梯度
–is_leaf:指示是否是叶子
从Pytorch0.4.0版本开始,Variable并入Tensor
–dtype: 张量的数据类型,三大类,共9种。torch.FloatTensor, torch.cuda.FloatTensor
–shape: 张量的形状。如:(64,3,224,224)
–decive: 所在设备
四、张量的创建
4.1 直接创建
1)
torch.tensor(data, dtype=None, device=None, requires_grad=False, pin_memory=False)
2) 从numpy创建tensor : torch.from_numpy(ndarray)
注意:共享内容
import torch
import numpy as np
arr = np.array([[1, 2, 3], [4, 5, 6]])
t = torch.from_numpy(arr)
t[0, 0] = -1
print(arr)
print(t)
4.2 依据数值创建
1)torch.zeros():按照size创建全0张量
torch.zeros(*size, out=None, dtype=None, layout=torch.strided, device=None, requires_grad=False)
- torch.zeros_like()
torch.zeros_like(input, dtype=None, layout=None, device=None, requires_grad=False)
- torch.ones()
- torch.ones_like()
- torch.full()
- torch.full_like()
- torch.arange(),创建等差数列,区间:[start, end)
t = torch.arange(start=0, end=100, step=1, out=None, dtype=None, layout=torch.strided, device=None, requires_grad=False)
- torch.linspace(),创建均分数列,区间:[start, end]
注意:step是步长;steps是长度
t = torch.linspace(start=0, end=100, steps=5, out=None, dtype=None, layout=torch.strided, device=None, requires_grad=False)
9)torch.logspace(),创建对数均分的1维张量
注意:长度steps,底是base默认为10
t = torch.logspace(start=0, end=100, steps=5, base=10, out=None, dtype=None, layout=torch.strided, device=None,
requires_grad=False)
10) torch.eye(),创建单位对角矩阵(2维张量)
n: 矩阵行数; m:矩阵列
4.3 依概率分布创建张量
1)torch.normal():生成正太分布, 高斯分布
四种模式:mean和std各为标量和张量
torch.normal(mean, std, out=None)
torch.normal(mean, std, size, out=None)
2)torch.randn()
3) torch.randn_like(), 生成标准正态分布
注意:size指的是张量的形状
torch.randn(*size, out=None, dtype=None, layout=torch.strided, device=None, requires_grad=False)
4)torch.rand()
5) torch.rand_like() , 在区间[0, 1]上,生成均匀分布
6)torch.randint()
7) torch.randint_like(),在[low, high)生成整数均匀分布
8)torch.randperm(), 生成从0–n-1的随机排列
9)torch.bernoulli(),生成伯努利分布
五、总结
最后
以上就是单身小蝴蝶最近收集整理的关于【深度之眼】【Pytorch打卡第1天】:PyTorch简介及环境配置;PyTorch基础数据结构—张量的全部内容,更多相关【深度之眼】【Pytorch打卡第1天】:PyTorch简介及环境配置内容请搜索靠谱客的其他文章。
发表评论 取消回复