Pytorch学习
文章平均质量分 70
Pr4da
这个作者很懒,什么都没留下…
展开
-
pytorch调整模型学习率
pytorch中如何修改学习率原创 2022-08-09 15:59:07 · 1698 阅读 · 0 评论 -
[损失函数]——均方差
1. 均方差损失函数(Mean Squared Error, MSE)均方差损失函数是预测数据和原始数据对应点误差的平方和的均值,公式为:MSE=1N(y^−y)2MSE = \frac{1}{N}(\hat{y}-y)^{2}MSE=N1(y^−y)2N为样本个数。2. 均方差在pytorch中的用法均方差损失函数在pytorch中的函数为:torch.nn.MSELoss(size_average=None, reduce=None, reduction='mean')pytorch原创 2021-04-06 20:54:53 · 9332 阅读 · 0 评论 -
损失函数——负对数似然
阅读本文可以了解如下内容:似然似然估计对数似然负对数似然1. 似然在开始之前需要区分一个知识:似然(likelihood)和概率(probability)。概率是一个事件发生的可能性,而似然指的是影响概率的未知参数。也就是说,概率是在该未知参数已知的情况下所得到的结果;而似然是该参数未知,我们需要根据观察结果,来估计概率模型的参数。用数学方法可以描述为:假设XXX是离散随机变量,其概率质量函数ppp依赖于参数$\theta $,则:L(θ∣x)=pθ(x)=Pθ(X=x)L(\thet原创 2021-03-28 13:17:57 · 15711 阅读 · 3 评论 -
损失函数——交叉熵
在了解交叉熵之前我们需要关于熵的一些基本知识,可以参考我的上一篇博客1。1.信息熵信息熵的定义为离散随机事件的出现概率2。当一个事件出现的概率更高的时候,我们认为该事件会传播的更广,因此可以使用信息熵来衡量信息的价值。当一个信源具有多种不同的结果,记为:U1,U2,…,Un,每个事件相互独立,对应的概率记为:P1,P2,…,Pn。信息熵为各个事件方式概率的期望,公式为:H(U)=E[−logpi]=−∑i=1npilogpiH(U)=E[-\log p_{i}]=-\sum_{i=1}^{n}p_原创 2021-03-28 13:16:29 · 2106 阅读 · 0 评论 -
torch.cat()用法
torch.cat()可以对tensor进行上下或左右拼接,其传入的参数为:torch.cat(tensors, dim=0)dim控制拼接的维度,dim=0为上下拼接,dim=1为左右拼接1。下面是实例详解:>>> import torch>>> a = torch.rand((2,3))>>> atensor([[0.7515, 0.1021, 0.0726], [0.0575, 0.1666, 0.2763]])原创 2021-03-24 10:47:25 · 450 阅读 · 0 评论 -
numpy和tensor增加或删除一个维度
numpy1.增加维度import numpy as npa = np.ones((3,4))print(a.shape)输出a的形状:(3,4)现在变量a为二维数组,在图形计算中有时需要将图像处理成(length, width, channel)的形式,我们需要将a处理成三维,第三维的形状为1,方式如下:b = np.expand_dims(a, 2)print(b.shape)输出的形状为:(3,4,1)2.压缩维度如果我们想要将b再变回二维,需要用到如下方法:c = np.原创 2021-03-21 19:00:55 · 7802 阅读 · 0 评论 -
torch.cat()使用方法
torch.cat()可以对tensor进行上下或左右拼接,其传入的参数为:torch.cat(tensors, dim=0)dim控制拼接的维度,dim=0为上下拼接,dim=1为左右拼接1。下面是实例详解:>>> import torch>>> a = torch.rand((2,3))>>> atensor([[0.7515, 0.1021, 0.0726], [0.0575, 0.1666, 0.2763]])原创 2021-03-21 18:57:34 · 362 阅读 · 0 评论 -
Darknet53网络各层参数详解
Darkenet53是Yolov3网络中的一部分,为了更加了解网络的结构,将Darknet53各层输入与输出画出,便于分析理解,网络结构如图1所示,×8表示该模块重复8次,代码参考博客。Yolov3的网络结构如图2所示。本文原载于我的简书博客...原创 2020-05-15 16:08:11 · 5607 阅读 · 12 评论 -
pytorch如何冻结某层参数
在迁移学习finetune时我们通常需要冻结前几层的参数不参与训练,在Pytorch中的实现如下:class Model(nn.Module): def __init__(self): super(Transfer_model, self).__init__() self.linear1 = nn.Linear(20, 50) self.line...原创 2020-01-07 17:26:51 · 3076 阅读 · 1 评论 -
torch.max()使用讲解
目录1. torch.max(input, dim) 函数2.准确率的计算在分类问题中,通常需要使用max()函数对softmax函数的输出值进行操作,求出预测值索引。下面讲解一下torch.max()函数的输入及输出值都是什么。1. torch.max(input, dim) 函数output = torch.max(input, dim)输入input是softmax函数输出的一...原创 2020-01-07 14:34:31 · 22341 阅读 · 2 评论