![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
pytorch
文章平均质量分 66
gz7seven
研究生,主要研究计算机视觉,图像处理,深度学习,医疗图像(近红外与CT图像)处理,图像配准
展开
-
windows系统下各种LibTorch下载地址
windows系统下各种LibTorch下载地址1、libtorch 1.0.02、libtorch 1.0.13、libtorch 1.1.04、libtorch 1.2.05、libtorch 1.3.06、libtorch 1.4.07、libtorch 1.5.08、libtorch 1.5.19、libtorch 1.6.010、libtorch 1.7.011、libtorch 1.7.112、libtorch 1.8.013、libtorch 1.8.114、libtorch 1.8.2(LT原创 2022-05-30 18:24:47 · 3635 阅读 · 4 评论 -
高版本CUDA安装torch1.1.0和torchvision0.3.0
高版本CUDA安装torch1.1.0和torchvision0.3.0 在项目中遇到比较麻烦的事情,需要根据项目需要安装torch1.1.0和torchvision0.3.0,但是图像工作站是CUDA的版本分别是10.2和11.6,在官网的安装教程中并没有找到安装方法,并且分开安装会自动安装pytorch的1.11.0甚至更高版本,这个很烦人。 在网上找了相关教程,安装还是比较方便的,现在贴在下面: sudo pip3 install --upgrade pip sudo原创 2022-05-13 18:19:22 · 2201 阅读 · 3 评论 -
Pycharm运行YOLO V5遇到的问题或是BUG
再运行YOLO V5原程序过程中,晕倒几个需要解决的问题,具体如下:一、paycharm运行train.py需要添加参数,具体如下:python train.py --img 640 --batch 16 --epochs 5 --data ./data/BCC.yaml --cfg ./models/yolov5s.yaml --weights '' 如果对源码中的参数部分进行了相应的改进,或是默认设置,可以不用再次设置。二、yolov5报错:RuntimeError: a vie原创 2021-12-30 16:59:08 · 2283 阅读 · 0 评论 -
VGGNet------超经典神经网络结构与PyTorch实现
VGGNet------超经典神经网络结构1、VGGNet网络结构2、VGGNet网络结构的优缺点 在上文中详细介绍了经典神经网络AlexNet,它为神经网络的发展打开了一片天地。VGGNet可以说是经典中的经典,它是所有学习深度学习的同学们都必须熟知网络。VGGNet是AlexNet的升级版,本文将详细介绍VGGNet的网络结构与相应的优缺点。1、VGGNet网络结构 VGG有众多版本,主要包括VGG11、VGG11-LRN、VGG13、VGG16-1、VGG16-3和VGG19,首先我原创 2021-07-09 10:59:05 · 1168 阅读 · 1 评论 -
AlexNet网络结构详解(含各层维度大小计算过程)与PyTorch实现
AlexNet网络结构详解(含各层维度大小计算过程)1、AlexNet之前的思考2、AlexNet网络结构3、AlexNet网络结构的主要贡献 在上文中详细介绍了第一个神经网络LeNet,但是在其提出20年的时间里并没有引起学者和各研究机构的重视,随机机器学习的兴起,LeNet网络基本被遗忘了。而真正打破机器学习和传统特征提取方法限制的深度神经网络就是本文要讲述的AlexNet。1、AlexNet之前的思考 在AlexNet网络问世之前,大量的学者在进行图像分类、分割、识别等工作时,主要是原创 2021-07-08 10:18:31 · 83646 阅读 · 18 评论 -
LeNet------识别手写数字图像的经典卷积神经网络与PyTorch实现
LeNet------识别手写数字图像的经典卷积神经网络1、LeNet简介1.1 卷积模块1.2 全连接模块2、LeNet主要贡献3、LeNet网络结构PyTorch实现1、LeNet简介LeNet的网络结构如下图所示。 由上图可以看出,LeNet模型主要有两部分组成:卷积模块(红色区域)与全连接模块(绿色区域)。而在卷积模块中主要是由卷积操作与最大池化层。1.1 卷积模块 在卷积层块中,每个卷积层都使用5×55\times 55×5的窗口,并在输出上使用sigmoid激活函数。第一原创 2021-07-06 14:16:41 · 1341 阅读 · 0 评论 -
pytorch动态调整学习率之Multistep策略
在过去的文章中讲到学习率的动态调整问题,同时在《影响网络模型性能的主要因素》这篇文章中提到,根据经验学习率的调整最好的方法是Step和Multistep,已经讲过了epoch_step策略,下来讲一下Multistep策略。 首先讲一下Step和Multistep的区别。这两种方法都是step对学习率进行操作,但是二者还是有一定的区别的。最主要的区别就是:Step策略是根据固定的步长对学习率进行调整,而Multistep策略则是根据非均匀步长对学习率进行调整。一般情况下,这两种方法都是根据步原创 2021-05-07 11:32:07 · 2366 阅读 · 0 评论 -
pytorch动态调整学习率之epoch_step策略
上篇文章中讲到动态调整学习率之Poly策略,本次讲解另一个较为常用的策略,即训练过程中随着epoch的增加根据设定的epoch_stepepoch\_stepepoch_step对学习率进行衰减操作,具体公式如下所示:lr=base_lr×0.1epochint(num_epoch/epoch_step)lr = base\_lr \times {0.1^{\frac{{epoch}}{{{\mathop{\rm int}} (num\_epoch/epoch\_step)}}}}lr=base_lr×0原创 2021-03-05 10:44:05 · 2266 阅读 · 1 评论 -
pytorch动态调整学习率之Poly策略
在进行深度学习训练过程中学习率是优化时非常重要的一个因子,通常情况下,在训练过程中学习率都是要动态调整的,通常学习率会逐渐衰减。本文讲解其中一个策略------Poly策略。Poly是一种指数变换的策略,具体公式如下所示:lr=base_lr×(1−epochnum_epoch)powerlr = base\_lr \times {\left( {1 - \frac{{epoch}}{{num\_epoch}}} \right)^{power}}lr=base_lr×(1−num_epochepoch原创 2021-03-04 17:47:23 · 15449 阅读 · 2 评论 -
使用pytorch的Tensor类型转为opencv的Mat类型
本文介绍如何将pytorch的Tensor类型转为opencv的Mat类型,废话不多说,直接上代码。cv::Mat CvtTensor2CvImg(at::Tensor in_tensor){ //sequeeze trans tensor shape from 1*C*H*W to C*H*W //permute C*H*W to H*W*C //in_tensor = in_tensor.squeeze().detach().permute({ 1, 2, 0 }); in_tensor =原创 2021-02-05 17:12:33 · 1290 阅读 · 0 评论 -
使用opencv将图像Mat类型转为pytorch的Tensor类型
在进行pytorch模型的部署过程中,图像数据与tensor类型数据的转换极为重要,opencv是常用的机器视觉处理库,因此本文先介绍Mat转Tensor,下文在将Tensor转Mat。void CvtCvImg2Tensor(cv::Mat Img, at::Tensor &output){ cv::cvtColor(Img, Img, CV_BGR2GRAY); //normalization Img.convertTo(Img, CV_32FC1, 1.0f / 255.0f);原创 2021-02-05 17:09:30 · 1435 阅读 · 1 评论 -
多GPU训练模型的调用------pytorch
上一讲讲到用pytorch进行单机多GPU进行模型的训练,但是此时的模型调用也将与单GPU有较大的区别,因为DataParallel虽然也是一个Pytorch的nn.Module,但是实际上有一个module的变量用来保存传入的实际模型,因此模型中含有module。使用单GPU的方法调用会出现错误:RuntimeError: Error(s) in loading state_dict for MymModle:“module.outconv2.bias”,等。此时在调用模型进行转换时,即pth转pt时原创 2020-10-13 17:17:47 · 294 阅读 · 0 评论 -
运用pytorch轻松搞定模型单机多GPU并行训练
使用单GPU进行模型的训练时会出现CUDA RuntimeError:内存不足的错误,此时你可以降低batch_size或是图像的大小来进行重新的训练尝试,但是假如你有多块GPU则可以进行多GPU的训练。本人习惯使用pytorch这个框架,因此列出代码供参考。import torch.nn as nndevice = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")model = MyModel.Model()model原创 2020-10-13 16:58:13 · 675 阅读 · 0 评论 -
pytorch中的损失函数------BCELoss和BCEWithLogitsLoss
在进行pytorch编写程序过程中,会发现loss有两种相对较相似的或是看起来就是一类loss的函数,即BCELoss和BCEWithLogitsLoss,下面简单的描述一下。首先,BCELoss创建一个标准来度量目标和输出之间的二元交叉熵,即对一个batch里面的数据做二元交叉熵并且求平均。BCELoss函数的形式如下:CLASS torch.nn.BCELoss(weight=None, size_average=None, reduce=None, reduction='mean')其中,原创 2020-09-17 10:21:19 · 3255 阅读 · 0 评论 -
torch.nn.Conv2d详解
class torch.nn.Conv2d(in_channels, out_channels, kernel_size, stride=1, padding=0, dilation=1, groups=1, bias=True)in_channels —— 输入的channels数out_channels —— 输出的channels数kernel_size ——卷积核的尺寸,可以是方形卷积核、也可以不是,下边example可以看到stride —— 步长,用来控制卷积核移动间隔padding原创 2020-09-16 15:43:17 · 1427 阅读 · 0 评论