pytorch学习笔记

1.张量

a=torch.randn(2,3)
a=torch.rand(2,3,28,28)
torch.rand_like(a)
torch.randint(1,10,[3,3])
torch.normal(mean=torch.full([10],0),std=torch.arange(1,0,-0.1))
torch.randperm(2)

(1)randn 生成标准正态分布的伪随机数(均值为0,方差为1)
(2)rand 生成均匀分布的伪随机数。分布在(0~1)之间

(3)三维常用于RNN,四维常用于CNN[b,c,h,w] =[图片数,通道,宽,高]
(4)normal可以指定平均数和方差
(5)randperm随机打散

a.torch.tensor(1)
a.dim()
0

(1)维度是1

torch.tensor([1.1,2.2])
tersor([1.1000,2.2000])
torch.FloatTensor(2)
tensor([3.2239e-25,4.5915e-41])
torch.FloatTensor([2.,3.2])
tensor([2.0000,3.2000])

(1)tensor里边加内容
(2)FloatTensor/Tensor里边可以加现有内容也可以加维度,再随机生成

a.dim()
a.shape
a.size()

(1)shape后无括号

#维度
view/reshape
squeeze/unsqueeze
transpose/t/permute
expand/repeat

(1)unsqueeze可以增加维度,squeeze减少维度
(2)expand扩张 1->N(推荐)
(3)transpose一次只能交换两个维度
(4)t只能转置2维的
(5)permute直接写新的维度顺序

cat/stack
split:by length
chunk:by num

(1)cat/stack用于合并;cat原有维度合并;stack会合并出一个新维度
(2)split/chunk用于拆分

add/sub/mul/div
mm/matmul/@ #矩阵相乘
pow
sqrt/rsqrt
exp#自然数e指数
round*四舍五入
#近似值计算
a=torch.tensor(3.14)
a.floor(),a.ceil(0,a.trunc(),a.frac()
(tensor(3.),tensor(4.),tensor(3.),tensor(0.1400))

(1)mm只能计算两维
(2)pow(2)=**2
(3)sqrt指开方;rsqrt指 平方根的倒数

#statistics
norm
mean  sum
max,min,argmin,argmax
kthvalue,topk

(1)norm(1/2,dim)找范数
(2)max,min返回内容,argmin,argmax(keepdim=true可以保持返回的维度不变)返回索引
(3)topk(largest=False找到后面k个)返回某一维度前k个内容和索引

#高级用法
where/gather

用法示意图:
在这里插入图片描述

2.损失函数

(1)均方误差

M S E = 1 n ∑ i = 1 n ( Y i − Y i ^ ) 2 MSE=\frac{1}{n}\sum_{i=1}^n(Y_i-\hat{Y_i})^2 MSE=n1i=1n(YiYi^)2

(2)交叉熵损失函数

(不确定性,惊喜程度程度):如果一个事件发生的概率越小,那么这个事件的不确定性就越大,消除这个不确定性所需要获取的信息就越多。
H ( p ) = − ∑ p i l o g 2 ( p i ) H(p)=-\sum{p_ilog_2(p_i)} H(p)=pilog2(pi)
交叉熵 p代表事件真实的概率分布,q代表我们预测的概率分布
H ( p , q ) = − ∑ p i l o g 2 ( q i ) H(p,q)=-\sum{p_ilog_2(q_i)} H(p,q)=pilog2(qi)
交叉熵=熵+KL散度
H ( p , q ) = H ( p ) + D K L ( p ∣ ∣ q ) H(p,q)=H(p)+D_{KL}(p||q) H(p,q)=H(p)+DKL(p∣∣q)
pytorch编码时注意: cross_entropy=softmax+log+nll_loss

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值