一个月Pytorch从入门到实践
学习时间:
1、 周六上午 9 点-上午 12 点2、
学习内容:
3-2 张量,标量,向量,矩阵
3-3 tensor创建理论
tensor 类型 torch.float ; torch.bool ; torch.inttensor创建
3-4 tensor创建代码
见3-4文件3-5 tensor属性
tensor 属性类别
例子
设备属性
设备即cpu/gpu : gpu用CUDA表示,0,1,2,分别表示第几块gpu
内存布局: 稠密/稀疏(存非零索引)
稀疏属性
下图为稀疏tensor创建, 有坐标值,具体值,shape
3-6 稀疏张量编程实践
import torch
#改设备和类型
dev=torch.device('cpu')
#dev=torch.device('cuda:0') #或('cuda')
#本博主无gpu
a=torch.tensor([2,2],
dtype=torch.float32,
device=dev)
print(a)
print(a.device)
print(a.dtype)
tensor([2., 2.])
cpu
torch.float32
#定义稀疏张量,三要素:值,下标,size
i=torch.tensor([[0,1,2],[0,1,2]])
v=torch.tensor([1,2,3])
b=torch.sparse_coo_tensor(i,v,(4,4),
dtype=torch.float32,
device="cpu").to_dense()
#此时稀疏张量 转稠密张量
print(b)
tensor([[1., 0., 0., 0.],
[0., 2., 0., 0.],
[0., 0., 3., 0.],
[0., 0., 0., 0.]])
3-7 tensor算术运算
加法运算add
第四种区别于前三种,第四种a的值会被修改为a+b
减法运算sub
乘法mul(区别矩阵乘)
除法div
矩阵乘法(5种)
mm matmul不存在_方式,因为乘后维度不一定一样
幂运算
3-8 tensor算术运算编程实现
见3-83-9 in-place操作和广播机制
广播机制:右对齐:## 总
图像特征:
随机种子作用:定义了随即种子,相同随机种子产生的随机数是相同的。
核范数:针对低秩问题的求解,表示为||A||*右下角=A的奇异值;
图像相邻空间有相似性,低秩的。
norm针对向量矩阵计算范数,distence衡量矩阵的相似性或距离
norm语法(矩阵/向量,p=123…)
!!!EVD要求矩阵满秩^且方针;PCA中用到高维!特征!->低维特征(非样本)
!!!SVD矩阵未必满秩,也不要求方阵
奇异值分解(SVD分解)
!!!只能计算叶子节点的梯度!
backward累加;grad不累加
阶跃函数:x>0取1;否则取-1
在pytorch中channel优先排列
** inception写错了哦**
下采样:递减;上采样:递增
32*32维向量,不能64维向量,最多32维向量
实例分割不考虑背景(只考虑感兴趣实体),语义分割要考虑背景