草庐IT

torch.randn的用法

torch.randn是一个PyTorch中的函数,用于生成指定大小的张量,其中每个元素都是从标准正态分布(均值为0,标准差为1)中随机抽取的。torch.randn的语法如下:torch.randn(*size,out=None,dtype=None,layout=torch.strided,device=None,requires_grad=False)->Tensor其中*size表示张量的大小,可以是一个整数,一个元组或多个整数。例如,要创建一个大小为3x2的张量,可以使用以下代码:importtorchx=torch.randn(3,2)print(x)输出结果:tensor([[0

torch.randn的用法

torch.randn是一个PyTorch中的函数,用于生成指定大小的张量,其中每个元素都是从标准正态分布(均值为0,标准差为1)中随机抽取的。torch.randn的语法如下:torch.randn(*size,out=None,dtype=None,layout=torch.strided,device=None,requires_grad=False)->Tensor其中*size表示张量的大小,可以是一个整数,一个元组或多个整数。例如,要创建一个大小为3x2的张量,可以使用以下代码:importtorchx=torch.randn(3,2)print(x)输出结果:tensor([[0

yolov5增加iou loss(SIoU,EIoU,WIoU),无痛涨点trick

        yolo无痛涨点trick,简单实用        先贴一张最近一篇论文的结果后来的几种iou的消融实验结果在一定程度上要优于CIoU。        本文将在yolov5的基础上增加SIoU,EIoU,Focal-XIoU(X为C,D,G,E,S等)以及AlphaXIoU。        在yolov5的utils文件夹下新增iou.py文件importmathimporttorchdefbbox_iou(box1,box2,xywh=True,GIoU=False,DIoU=False,CIoU=False,SIoU=False,EIoU=False,WIoU=False,

yolov5增加iou loss(SIoU,EIoU,WIoU),无痛涨点trick

        yolo无痛涨点trick,简单实用        先贴一张最近一篇论文的结果后来的几种iou的消融实验结果在一定程度上要优于CIoU。        本文将在yolov5的基础上增加SIoU,EIoU,Focal-XIoU(X为C,D,G,E,S等)以及AlphaXIoU。        在yolov5的utils文件夹下新增iou.py文件importmathimporttorchdefbbox_iou(box1,box2,xywh=True,GIoU=False,DIoU=False,CIoU=False,SIoU=False,EIoU=False,WIoU=False,

ModuleNotFoundError: No module named ‘torch‘ 解决方案

在运行python程序时遇到下面的问题:ModuleNotFoundError:Nomodulenamed‘torch’这是由于没有安装torch包导致的,我们可以很简单的在pycharm安装或者在cmd命令行安装,但是由于torch安装包过大,比如torch-1.9.1就要大约200M,上述两种方法是从GitHub直接下载,没有适合的工具需要花费相当长的时间,甚至一两个小时。本文主要讲述从清华镜像官网下载torch的whl文件进行安装的一种在pycharm中安装大软件包的方法。(torchvision同样适用)1.从清华镜像官网下载torch清华镜像torch下载清华镜像torchvisio

ModuleNotFoundError: No module named ‘torch‘ 解决方案

在运行python程序时遇到下面的问题:ModuleNotFoundError:Nomodulenamed‘torch’这是由于没有安装torch包导致的,我们可以很简单的在pycharm安装或者在cmd命令行安装,但是由于torch安装包过大,比如torch-1.9.1就要大约200M,上述两种方法是从GitHub直接下载,没有适合的工具需要花费相当长的时间,甚至一两个小时。本文主要讲述从清华镜像官网下载torch的whl文件进行安装的一种在pycharm中安装大软件包的方法。(torchvision同样适用)1.从清华镜像官网下载torch清华镜像torch下载清华镜像torchvisio

关于torch.cat()与torch.stack()

关于torch.cat()与torch.stack()整理代码中一直使用torch.cat()和torch.stack()进行tensor维度拼接,花点时间整理下。方便使用🤷‍♂️:1.用法torch.cat():用于连接两个相同大小的张量torch.stack():用于连接两个相同大小的张量,并扩展维度见代码示例更清晰:importtorcha=torch.tensor(torch.arange(10)).reshape(3,3)b=torch.tensor(torch.arange(10,100,10)).reshape(3,3)print(a)Out[7]:tensor([[1,2,3]

关于torch.cat()与torch.stack()

关于torch.cat()与torch.stack()整理代码中一直使用torch.cat()和torch.stack()进行tensor维度拼接,花点时间整理下。方便使用🤷‍♂️:1.用法torch.cat():用于连接两个相同大小的张量torch.stack():用于连接两个相同大小的张量,并扩展维度见代码示例更清晰:importtorcha=torch.tensor(torch.arange(10)).reshape(3,3)b=torch.tensor(torch.arange(10,100,10)).reshape(3,3)print(a)Out[7]:tensor([[1,2,3]

标签平滑(label smoothing) torch和tensorflow的实现

在常见的多分类问题中,先经过softmax处理后进行交叉熵计算,原理很简单可以将计算loss理解为,为了使得网络对测试集预测的概率分布和其真实分布接近,常用的做法是使用one-hot对真实标签进行编码,然后用预测概率去拟合one-hot的真实概率。但是这样会带来两个问题:无法保证模型的泛化能力,使网络过于自信会导致过拟合;全概率和0概率鼓励所属类别和其他类别之间的差距尽可能加大,而由梯度有界可知,这种情况很难adapt。会造成模型过于相信预测的类别。标签平滑可以缓解这个问题,可以有两个角度理解这件事。角度一软化这种one-hot编码方式。 等号左侧:是一种新的预测的分布等号右侧:前半部分是对原

标签平滑(label smoothing) torch和tensorflow的实现

在常见的多分类问题中,先经过softmax处理后进行交叉熵计算,原理很简单可以将计算loss理解为,为了使得网络对测试集预测的概率分布和其真实分布接近,常用的做法是使用one-hot对真实标签进行编码,然后用预测概率去拟合one-hot的真实概率。但是这样会带来两个问题:无法保证模型的泛化能力,使网络过于自信会导致过拟合;全概率和0概率鼓励所属类别和其他类别之间的差距尽可能加大,而由梯度有界可知,这种情况很难adapt。会造成模型过于相信预测的类别。标签平滑可以缓解这个问题,可以有两个角度理解这件事。角度一软化这种one-hot编码方式。 等号左侧:是一种新的预测的分布等号右侧:前半部分是对原