Pytorch框架
文章平均质量分 81
Pytorch框架
浩瀚之水_csdn
路漫漫其修远兮,吾将上下而求索,立刻行动,坚持,努立
展开
-
NMS的numpy写法
简单易懂的NMS的numpy写法目标检测中的NMS,输入:boxes形如N*5,N个(x1,y1,x2,y2,score), thresh阈值为float型。计算时,首先获取基于分数的降序排序order,计算全部box的面积area,对每个得分最高的boxes[i],计算与其余低分boxes[order[1:]]的交并比ious,去除ious高于阈值的box。def nms_plain(boxes, threshold): x1 = boxes[:,0] y1 = boxes[转载 2022-05-12 15:28:26 · 728 阅读 · 0 评论 -
libtorch (pytorch c++) 教程(八)
这是个教程总结,libtorch教程一共八章,主要是实现了c++版本的分类,分割和检测工具吧。这对一些需要C++/C#/Java做项目的同志来说,想必是大大的福音了。由于代码全程几乎手敲,不像现在许多python项目,可以直接从其他地方CV(ctr C + ctr V)过来,同时c++项目debug起来比python麻烦很多,光是项目大了以后编译一次都耗时很久....算不上诉苦,只能说干c++的都是脏活,让人头秃👨🦲。不过现在深度学习相关的岗位,尤其是CV岗,python的HC真的不多,大厂还好,转载 2022-05-12 15:27:17 · 676 阅读 · 0 评论 -
libtorch(pytorch c++)教程(七)
阅读本文需要有基础的pytorch编程经验,目标检测框架相关知识,不用很深入,大致了解概念即可。本章简要介绍如何如何用C++实现一个目标检测器模型,该模型具有训练和预测的功能。本文的分割模型架构使用yolov4-tiny结构,代码结构参考了bubbliiiing yolov4-tiny,本文分享的c++模型几乎完美复现了pytorch的版本,且具有速度优势,30-40%的速度提升。模型简介简单介绍一下yolov4-tiny模型。yolov4-tiny模型是YOLO(you only look o转载 2022-05-12 15:25:50 · 1220 阅读 · 0 评论 -
libtorch(pytorch c++)教程(六)
本章简要介绍如何如何用C++实现一个语义分割器模型,该模型具有训练和预测的功能。本文的分割模型架构使用简单的U-Net结构,代码结构参考了qubvel segmentation中的U-Net部分,该项目简称SMP,是基于pytorch实现的开源语义分割项目。本文分享的c++模型几乎完美复现了python的版本。模型简介简单介绍一下U-Net模型。U-Net模型的提出是在医学图像分割中,相比于当时的其他模型结构,U-Net的分割能力具有明显优势。一个经典的U-Net结构图如下:U-Net模型采用典型转载 2022-05-12 15:17:12 · 1189 阅读 · 0 评论 -
libtorch (pytorch c++) 教程(四)
title: libtorch教程(四)date: 2021-01-18 19:50:16tags: libtorch本章将详细介绍如何使用libtorch自带的数据加载模块,使用该模块是实现模型训练的重要条件。除非这个数据加载模块功能不够,不然继承libtorch的数据加载类还是很有必要的,简单高效。使用前置条件libtorch提供了丰富的基类供用户自定义派生类,torch::data::Dataset就是其中一个常用基类。使用该类需要明白基类和派生类,以及所谓的继承和多态。有c++编程经转载 2022-05-12 15:14:13 · 1046 阅读 · 1 评论 -
libtorch (pytorch c++) 教程(三)
基本模块搭建模块化编程的思想非常重要,通过模块化编程可以大幅减少重复的敲代码过程,同时代码可读性也会增加。本章将讲述如何使用libtorch搭建一些MLP和CNN的基本模块。MLP基本单元首先是线性层的声明和定义,包括初始化和前向传播函数。代码如下:class LinearBnReluImpl : public torch::nn::Module{public: LinearBnReluImpl(int intput_features, int output_features);转载 2022-05-12 15:13:10 · 698 阅读 · 0 评论 -
libtorch (pytorch c++) 教程(二)
本章讲述张量的常见操作,可以先初步了解,具体在设计损失函数等任务中可以用到。随时翻阅张量初始化libtorch(pytorch c++)的大多数api和pytorch保持一致,因此,libtorch中张量的初始化也和pytorch中的类似。本文介绍四种深度图像编程需要的初始化方法。第一种,固定尺寸和值的初始化。//常见固定值的初始化方式auto b = torch::zeros({3,4});b = torch::ones({3,4});b= torch::eye(4);b = to转载 2022-05-12 15:12:02 · 2091 阅读 · 0 评论 -
QT Creator + Opencv4.x + Libtorch1.7配置
前言纯c++用户而言如果要自研产品,会一个图形界面编程工具还是有必要的。大多数c++用户,如果在Windows平台开发则多使用微软全家桶,如果是Linux平台则可能是其他工具再cmake。这篇博客将记录Windows平台,QT Creator中Opencv和Libtorch的配置。网上有较多关于使用Mingw编译Opencv源码以供QT Creator使用的,事实上,只是基于Opencv和Libtorch的api做开发的话,无需编译。正确的流程为:安装QT Creator时,勾选MSVC编译器,下载op转载 2022-05-12 15:10:43 · 407 阅读 · 0 评论 -
pytorch部署torchscript篇
title: pytorch部署torchscript篇date: 2020-12-16 22:23:29tags: pytorchcategories: pytorchcomments: true本文图片打开失败,请参考链接修改。引言本文旨在介绍如何在Windows平台使用pytorch的c++ api部署pytorch的CNN模型,本文的部署的模型只有推理功能,这是由于torch::jit不支持部分层或者操作的反向传播。当然即使只是推理也足够许多项目运行了,部署使用的工具有visua转载 2022-05-12 14:59:17 · 1583 阅读 · 0 评论 -
libtorch (pytorch c++) 教程(一)
前言本教程旨在教读者如何用c++写模型,训练模型,根据模型预测对象。为便于教学和使用,本文的c++模型均使用libtorch(或者pytorch c++ api)完成搭建和训练等。目前,国内各大平台似乎没有pytorch在c++上api的完整教学,也没有基于c++开发的完整的深度学习开源模型。可能原因很多:c/c++的深度学习已经足够底层和落地,商用价值较高,开发难度偏大,一般不会开源; 基于python训练,libtorch预测的部署形式足够满足大多数项目的需求,如非产品级应用,不会有人愿意研究转载 2022-05-12 14:48:30 · 3197 阅读 · 2 评论 -
YOLOV3 --BUG---No labels in D:\yolov5\train_data\train.cache. Can not train without labels.
采坑:No labels in D:\yolov5\train_data\train.cache. Can not train without labels.参考:https://blog.csdn.net/qq_44787464/article/details/99736670解决办法:STEP1:一定要按照这个顺序:新建Annotations(存放voc格式的xml)新建JPEGImages(存放训练的图片)新建ImageSets ,labels (这两个文件为空)将JPEGIma转载 2022-02-25 18:25:41 · 3073 阅读 · 0 评论 -
利用Pytorch的C++前端(libtorch)读取预训练权重并进行预测
本篇使用的平台为Ubuntu,Windows平台的请看Pytorch的C++端(libtorch)在Windows中的使用前言距离发布Pytorch-1.0-Preview版的发布已经有两个多月,Pytorch-1.0最瞩目的功能就是生产的大力支持,推出了C++版本的生态端(FB之前已经在Detectron进行了实验),包括C++前端和C++模型编译工具。对于我们来说,之后如果想要部署深度学习应用的时候,只需要在Python端利用Pytorch进行训练,然后使用torch.jit导出我们训练好的转载 2022-01-13 18:21:34 · 1183 阅读 · 0 评论 -
关于windows10用c++部署libtorch过程中遇到的一些问题
libtorch1.0 vs2017 CMake3.14 windows10 无cuda用c++调用pytorch模型官网上面有详细教程,也有很多博客,可以参考以下链接:pytorch怎么使用c++调用部署模型?_豆芽菜-CSDN博客_pytorch用c++以及:Pytorch的C++前端(libtorch)在Windows下的预测 - 知乎在操作的过程中,主要遇到三个比较大的问题:问题一:cmake编译时以及找不到torch和opencv相关的cmake文件(以下代码是复制的stac转载 2021-12-29 18:31:55 · 4006 阅读 · 0 评论 -
PyTorch模型读写、参数初始化、Finetune
使用了一段时间PyTorch,感觉爱不释手(0-0),听说现在已经有C++接口。在应用过程中不可避免需要使用Finetune/参数初始化/模型加载等。模型保存/加载1.所有模型参数训练过程中,有时候会由于各种原因停止训练,这时候我们训练过程中就需要注意将每一轮epoch的模型保存(一般保存最好模型与当前轮模型)。一般使用pytorch里面推荐的保存方法。该方法保存的是模型的参数。#保存模型到checkpoint.pth.tartorch.save(model.module.state_d转载 2021-09-11 11:05:18 · 1224 阅读 · 0 评论 -
[Pytorch].pth转.pt文件
Pytorch的模型文件一般会保存为.pth文件,C++接口一般读取的是.pt文件,因此,C++在调用Pytorch训练好的模型文件的时候就需要进行一个转换,转换为.pt文件,才能够读取。所以在转换的时候,首先就需要先将模型文件读取进来,然后利用pytorch提供的函数torch.jit.trace进行转换,这个函数的声明为:def trace(func, example_inputs, optimize=True, check_trace...转载 2021-09-11 10:58:11 · 5849 阅读 · 0 评论 -
Pytorch模型(.pth)转onnx模型(.onnx)
简介Open Neural Network Exchange(ONNX,开放神经网络交换)格式,是一个用于表示深度学习模型的标准,可使模型在不同框架之间进行转移。ONNX是一种针对机器学习所设计的开放式的文件格式,用于存储训练好的模型。它使得不同的人工智能框架(如Pytorch, MXNet)可以采用相同格式存储模型数据并交互。 ONNX的规范及代码主要由微软,亚马逊 ,Facebook 和 IBM等公司共同开发,以开放源代码的方式托管在Github上。目前官方支持加载ONNX模型并进行推理的深度学习转载 2021-09-11 09:21:33 · 1845 阅读 · 0 评论 -
保存和加载模型
本文档提供了有关 PyTorch 模型保存和加载的各种用例的解决方案。随意阅读整个文档,或者直接跳到所需用例所需的代码。在保存和加载模型时,需要熟悉三个核心功能:torch.save:将序列化对象保存到磁盘。此函数使用 Python 的pickle实用程序进行序列化。使用此功能可以保存各种对象的模型、张量和字典。 torch.load:使用pickle的 unpickling 设施将pickle 的目标文件反序列化到内存中。此功能还有助于设备将数据加载到其中(请参阅跨设备保存和加载模型)。..翻译 2021-09-10 11:29:42 · 208 阅读 · 0 评论 -
UNET详解和UNET++介绍(零基础)
一·背景介绍 背景介绍: 自2015年以来,在生物医学图像分割领域,U-Net得到了广泛的应用,目前已达到四千多次引用。至今,U-Net已经有了很多变体。目前已有许多新的卷积神经网络设计方式,但很多仍延续了U-Net的核心思想,加入了新的模块或者融入其他设计理念。 编码和解码,早在2006年就发表在了nature上.当时这个结构提出的主要作用并不是分割,而是压缩图像和去噪声.后来把这个思路被用在了图像分割的问题上,也就是现在我们看到的FCN或者U-Net结构,在它被提出的三年中,有很多很多的论文转载 2020-11-12 15:46:47 · 40877 阅读 · 3 评论 -
深入理解深度学习分割网络Unet——U-Net: Convolutional Networks for Biomedical Image Segmentation
背景 Mask = Function(I)11. 什么是图像分割问题呢? 简单的来讲就是给一张图像,检测是用框出框出物体,而图像分割分出一个物体的准确轮廓。也这样考虑,给出一张图像 I,这个问题就是求一个函数,从I映射到Mask。至于怎么求这个函数有多种方法。我们可以看到这个图,左边是给出图像,可以看到人和摩托车,右边是分割结果。2. 求这个函数有很多方法,但是第一次将深度学习结合起来的是这篇文章全卷积网络(FCN),利用深度学习求这个函数。在此之前深度学习一般用在分类和检测问题上转载 2020-11-12 15:45:02 · 4396 阅读 · 0 评论 -
重磅资源|Pytorch1.0版本的Mask R-CNN的Facebook的官方实现
【导读】Facebook刚刚放出的基于Pytorch1.0版本的Faster R-CNN,Mask R-CNN的benchmark,比detectron更快,准确率更高。项目地址:https://github.com/facebookresearch/maskrcnn-benchmarkFaster R-CNN and Mask R-CNN in PyTorch 1.0这个项目目的是为使用Pytorch1.0的用户提供一个简单的搭建检测和分割模型的必要的底层模块。要点网络摄像头和转载 2020-11-12 15:21:28 · 374 阅读 · 0 评论 -
【pytorch】model.train和model.eval用法及区别详解
使用PyTorch进行训练和测试时一定注意要把实例化的model指定train/eval,eval()时,框架会自动把BN和DropOut固定住,不会取平均,而是用训练好的值,不然的话,一旦test的batch_size过小,很容易就会被BN层导致生成图片颜色失真极大!Class Inpaint_Network() ......Model = Inpaint_Nerwoek()#train:Model.train(mode=True).....#test:Model.eval()转载 2020-11-11 15:03:27 · 972 阅读 · 0 评论 -
pytorch之torch.backends.cudnn.benchmark=True——使用 GPU 来加速网络的训练
文章目录简介 适用场景简介import torchtorch.backends.cudnn.enabled = Truetorch.backend.cudnn.benchmark=True1 2 3cuDNN使用非确定性算法,并且可以使用torch.backends.cudnn.enabled = False来进行禁用如果设置为torch.backends.cudnn.enabled =True,说明设置为使用使用非确定性算法然后再设置:torch.backends.转载 2020-11-11 14:58:40 · 1089 阅读 · 0 评论 -
pytorch中torch.manual_seed()的理解
使用????:为CPU中设置种子,生成随机数 torch.manual_seed(number) 为特定GPU设置种子,生成随机数 torch.cuda.manual_seed(number) 为所有GPU设置种子,生成随机数 torch.cuda.manual_seed_all() 使用原因????:在需要生成随机数据的实验中,每次实验都需要生成数据。设置随机种子是为了确保每次生成固定的随机数,这就使得每次实验结果显示一致了,有利于实验的比较和改进。...转载 2020-11-11 14:56:36 · 1202 阅读 · 0 评论 -
pytorch系列 ---5以 linear_regression为例讲解神经网络实现基本步骤以及解读nn.Linear函数
本文主要讲述最简单的线性回归函数:y = w x + b y=wx+by=wx+b在pytorch的实现,主要包括神经网络实现的基本步骤和nn.Linear的源码解读。1. nn.Linear 源码解读先看一下Linear类的实现:源代码网址:https://pytorch.org/docs/stable/_modules/torch/nn/modules/linear.htmlLinear继承于nn.Module,内部函数主要有__init__,reset_parameters,forw.转载 2020-11-11 14:30:35 · 498 阅读 · 0 评论 -
Win10+libtorch1.1+opencv 笔记
这几天刚刚把libtorch加载模型弄明白,记录一下。1、正确安装VS2017+opencv+cmake +pytorch 1.12、官网下载libtorch cpu 1.1版本(注意pytorch与libtorch版本一致)3、pytorch 导出模型import torchfrom torchvision import modelsmodel = models.resnet18()#导入已经训练好的模型#state = torch.load('latest.pt')#mod.转载 2020-11-11 09:56:09 · 311 阅读 · 0 评论 -
PyTorch环境配置及安装
环境配置温馨提示:为了更好的教程体验,提供视频、阅读地址Youtube:https://www.youtube.com/playlist?list=PLgAyVnrNJ96CqYdjZ8v9YjQvCBcK5PZ-VBiliBili:https://www.bilibili.com/video/av74281036/Github:https://github.com/xiaotudui/PyTorch-Tutorial相关下载:https://pan.baidu.com/s/16k...转载 2020-10-30 10:01:41 · 6305 阅读 · 2 评论 -
Python的Tqdm模块——进度条配置
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本文链接:https://blog.csdn.net/qq_33472765/article/details/82940843tqdm官网地址:https://pypi.org/project/tqdm/Github地址:https://github.com/tqdm/tqdm简介...转载 2019-11-23 11:19:10 · 3432 阅读 · 1 评论 -
pytorch载入预训练模型后,训练指定层
1、有了已经训练好的模型参数,对这个模型的某些层做了改变,如何利用这些训练好的模型参数继续训练:pretrained_params = torch.load('Pretrained_Model')model = The_New_Model(xxx)model.load_state_dict(pretrained_params.state_dict(), strict=False)st...转载 2019-11-23 11:09:37 · 1265 阅读 · 0 评论 -
pytorch系列 ---5以 linear_regression为例讲解神经网络实现基本步骤以及解读nn.Linear函数
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本文链接:https://blog.csdn.net/dss_dssssd/article/details/83892824本文主要讲述最简单的线性回归函数:y=wx+b y=wx+by=wx+b在pytorch的实现,主要包括神经网络实现的基本步骤和nn.Linear的源码解读。...转载 2019-11-23 10:26:32 · 1104 阅读 · 0 评论 -
pytorch常用函数API简析与汇总——以备查询
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本文链接:https://blog.csdn.net/sherpahu/article/details/95935845文章目录Tensor运算变换torch.Tensor.transpose()&torch.Tensor.permute()torch.cat() &...转载 2019-11-23 10:16:49 · 859 阅读 · 0 评论 -
pytorch中的pre-train函数模型引用及修改(增减网络层,修改某层参数等)
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本文链接:https://blog.csdn.net/whut_ldz/article/details/78845947一、pytorch中的pre-train模型卷积神经网络的训练是耗时的,很多场合不可能每次都从随机初始化参数开始训练网络。pytorch中自带几种常用的深度学习网络预训...转载 2019-11-23 10:04:48 · 1935 阅读 · 0 评论 -
pytorch模型部署
1. C++调用python训练的pytorch模型(一)--makefile编写基础https://blog.csdn.net/xiake001/article/details/848382492.C++调用python训练的pytorch模型(二)-----C++调用python例子https://blog.csdn.net/xiake001/article/details/84...原创 2019-11-20 10:12:31 · 2250 阅读 · 0 评论 -
Pytorch学习笔记
1.nn.ReLU() 和 nn.ReLU(inplace=True)区别inplace=True计算结果不会有影响。利用in-place计算可以节省内(显)存,同时还可以省去反复申请和释放内存的时间。但是会对原变量覆盖,只要不带来错误就用。2.详解pytorch中nn模块的BatchNorm2d()函数https://blog.csdn.net/bigFatCat_Tom/ar...原创 2019-11-19 18:09:46 · 166 阅读 · 0 评论 -
pythorch学习笔记
Pytorch学习笔记(一)https://blog.csdn.net/kongshuchen/article/details/72190633原创 2019-10-12 09:22:20 · 530 阅读 · 0 评论 -
pytorch资料
1 . pytorch中文文档https://pytorch-cn.readthedocs.io/zh/latest/原创 2019-04-02 08:51:46 · 233 阅读 · 0 评论 -
PyTorch 实现 Mask-RCNN
文章目录 [隐藏]1 什么是 Mask-RCNN 2 PyTorch 实现 Mask-RCNN 2.1 文件描述 2.2 Mask-RCNN 模型 什么是 Mask-RCNNMask-RCNN 来自于 Kaiming He 的一篇论文,通过在 Faster-RCNN 的基础上添加一个分支网络,在实现目标检测的同时,把目标像素分割出来。论文地址。PyTorch 实现 Ma...转载 2019-04-02 13:35:34 · 9664 阅读 · 4 评论 -
pytorch学习
一、中文文档:https://pytorch-cn.readthedocs.io/zh/latest/notes/autograd/#_2二、官方网站https://pytorch.org/docs/stable/notes/cuda.html三、博客https://hellozhaozheng.github.io/z_post/PyTorch-%E5%AE%98%E6%9...原创 2019-06-18 11:59:45 · 382 阅读 · 0 评论 -
pythorch基本信息查询
1. 查看pytorch版本的方法import torchprint(torch.__version__) #注意是双下划线2.如何查看pytorch对应cuda的版本import torchprint(torch.version.cuda)原创 2019-09-19 10:25:35 · 599 阅读 · 0 评论 -
PyTorch 入门实战
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本文链接:https://blog.csdn.net/qq_36556893/article/details/86480120前言博主学习了PyTorch,发现这个深度学习框架适合研究和使用。当然,博主热衷于vs2017这款IDE。虽然博主同样安装了PyCharm和Eclipse,但是由...转载 2019-09-30 08:44:23 · 391 阅读 · 0 评论 -
pytorch教程
(1) Ubuntu16.04环境下PyTorch简易安装教程作者:红色石头Will 来源:CSDN 原文:https://blog.csdn.net/red_stone1/article/details/78727096 版权声明:本文为博主原创文章,转载请附上博文链接!(2) pytorch https://pytorch.org/...原创 2019-03-27 11:18:44 · 170 阅读 · 0 评论