自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 资源 (3)
  • 收藏
  • 关注

原创 Pytorch中DistributedDataParallel基本使用

使用DistributedDataParallel进行并行训练

2023-01-03 16:17:38 1737 1

原创 timm库使用

一、timm库简介PyTorch Image Models,简称timm,是一个巨大的PyTorch代码集合,整合了常用的models、layers、utilities、optimizers、schedulers、data-loaders/augmentations和reference training/validation scripts。二、安装pip install timm三、使用...

2022-04-08 19:50:59 13703 4

原创 《Real-Time High-Resolution Background Matting》论文笔记

论文:Real-Time High-Resolution Background Matting(CVPR 2021)Real-Time High-Resolution Background Matting非常优秀的背景分割工作,推理速度高,4K分辨率30FPS、1080P分辨率60FPS,且分割图像的细节很好,其Refinement网络的设计至关重要,做此笔记简要分析其实现方法。一、网络结构与损失函数整个网络分为基本网络和Refinement网络两部分,基本网络包括backbone、ASPP和D

2022-03-26 22:01:24 958

原创 pytorch特征可视化——特征图

2022-03-25 15:15:46 4843 7

原创 RAFT上采样方法笔记

光流估计模型RAFT是在1/8分辨率的图片上以迭代的方式估计光流,根据论文中消融实验的结果,其上采样方法Convex比双线性上采样有一定的提升,因此作此笔记。raft的上采样方法其实是一种加权相加的方法,代码中的mask其实就是权重,它是使用GRU模块的输出,再通过两层卷积得到的;另外一个很重要的函数就是F.unfold,这个其实就是使用滑动窗口提取特征然后展平的过程,具体地说比如一个张量为[N,C,H,W],窗口大小设置为KK,忽略步长等细节,其输出就是[N,CKK,HW],更具体的解释见https:/

2022-02-22 20:19:38 758 2

原创 深度可分离卷积vs标准卷积

本文只比较深度可分离卷积与标准卷积的参数量、运算量、时间,模型性能请看Mobilenet系列论文。1. Model深度可分离卷积import torchimport torch.nn as nnimport torch.nn.functional as Fimport timefrom torchstat import statclass Depthpoint_conv(nn.Module): def __init__(self, C_in, C_out, kernel_si

2021-12-20 10:27:29 1419

原创 Pytorch查看模型的参数量和计算量

1. stat缺点:仅支持单输入模型Exampleimport torch.nn as nnimport torch.nn.functional as Ffrom torchstat import statclass Net(nn.Module): def __init__(self): super(Net, self).__init__() self.conv1 = nn.Conv2d(1, 10, kernel_size=5)

2021-12-19 22:06:29 2307 2

原创 基于Patachmatch的stereo matching笔记(三):《PatchmatchNet》

PatchmatchNet论文:PatchmatchNet: Learned Multi-View Patchmatch Stereo(2020)1.Introduction出发点: 由于 3D CNN 通常耗费时间和内存,因此一些方法在特征提取期间对输入进行下采样,并以低分辨率计算成本量和深度图。然而,以低分辨率提供深度图会损害准确性。主要工作: 提出了 PatchmatchNet,将patchmatch的算法思想结合到cascade当中,旨在减少高分辨率多视图立体的内存消耗和运行时间casc

2021-08-28 17:06:14 914

原创 基于Patachmatch的stereo matching笔记(二):《DeepPruner》

DeepPruner论文:DeepPruner: Learning Efficient Stereo Matching via Differentiable PatchMatch(2019)1. Introduction目标是显着加快当前最先进的深度立体算法的运行时间,以实现实时推理。首先利用一种新颖的可微 PatchMatch 算法来获得成本量的稀疏表示。 然后利用这种表示来学习每个像素要修剪的范围。 最后,利用图像引导细化模块进一步提高性能。 由于所有组件都是可微的,因此可以以端到端的方式训练整个

2021-08-22 10:15:19 465

原创 基于Patachmatch的stereo matching笔记(一):《PatchMatch Stereo》

Patchmatch Stereo论文:PatchMatch Stereo - Stereo Matching with Slanted Support Windows(2011)Patchmatch Stereo属于传统方法1. Introduction传统的局部匹配某个像素在假设视差d上的局部匹配代价计算步骤:以该像素为中心,取一个窗口,窗口内所有像素视差都是d,在右图中找到移位后的窗口,计算匹配代价。一般假设视差都是整数值,范围为0-192。存在的问题在这个过程中有一个隐含的假设,即支

2021-08-21 08:15:58 546

原创 pytorch_FashionMnist

Pytorch based network for FashionMnist本项目为基于Pytorch的对于FashionMnist数据集的基本代码框架,包括数据加载、显示数据、模型定义、训练、测试、保存模型、加载模型等基本示例。Github地址见文末。文件夹结构说明+---checkpoints| \---Mfnet| +---pretrain_model.pth| \---Mfnet_pyramid| +---pretrain_model.pth+---

2021-08-13 08:15:45 192

原创 Patchmatch-笔记

Patchmatch提出论文: PatchMatch: A Randomized Correspondence Algorithm for Structural Image Editing(2009)目的: 最初是作为一种在图像之间找到密集对应关系以进行结构编辑的有效方法而引入的,简单的说就是寻找两张图像像素间的对应关系本文只叙述核心思想及算法1. 依据的思想大数定律: 随机初始化时,样本足够多的时候,部分样本会得到一个很好的初始化值图像的连续性: 图像的某个区域与其邻域一般有很强的相关性,因

2021-08-11 16:28:44 842 4

原创 GWC-Net代码阅读

待续

2021-07-14 21:21:55 1573 1

原创 conda常用命令

conda常用命令

2021-07-09 19:28:05 261

原创 Transformer详解

Transformer详解1. 简介Transformer是一个面向sequence to sequence任务的模型,在17年的论文《Attention is all you need》中首次提出。Transformer 是第一个完全依赖自注意力(self-attention)来计算输入和输出的表示,而不使用序列对齐的递归神经网络或卷积神经网络的转换模型。

2021-07-05 17:17:35 14438

原创 opencv训练分类器

一、训练步骤1.正负样本准备创建两个文件夹,分别命名为posdata和negdata,posdata保存正样本,negdata保存负样本。再创建一个xml文件夹,用于存放生成的分类器。正样本:包含待识别检测的物体,且大小必须一样(下面示例选用60*60)负样本:大小随意,不包含待检测的物体2.准备训练工具将下图opencv安装路径的所有文件复制到正负样本文件夹的同级目录3.生成...

2020-03-15 16:10:43 1181 2

原创 STM32正交编码器测速

一、正交编码解码原理参考链接:https://blog.csdn.net/as480133937/article/details/98750922二、解码思路(1)方法一:使用定时器的输入捕获功能,配置好TIM_ICInitTypeDef即可获取一定时间内的脉冲个数,并可根据B相上升沿时A相所处的电平判断电机正转还是反转。中断类型配置为更新事件和上升沿触发,更新事件的时间由定时器配置的参数计...

2020-01-11 21:24:43 4979 2

原创 红外遥控

一、红外遥控器介绍红外遥控是一种无线、非接触控制技术,具有抗干扰能力强,信息传输可靠,功耗低,成本低,易实现等显著优点,被诸多电子设备特别是家用电器广泛采用,并越来越多的应用到计算机系统中。同类产品的红外线遥控器,可以有相同的遥控频率或编码,而不会出现遥控信号“串门”的情况。红外遥控的编码目前广泛使用的是:NEC Protocol 的PWM(脉冲宽度调制)和Philips RC-5 Protoc...

2020-01-08 21:41:21 2322

原创 通用定时器产生PWM

一、STM32F103 PWM介绍STM32F1除了基本定时器TIM6和TIM7,其他定时器都可以产生PWM输出:其中高级定时器 TIM1 和 TIM8 可以同时产生多达 7 路的 PWM 输出,而通用定时器也能同时产生多达 4路的 PWM 输出。PWM的输出其实就是对外输出脉宽可调(即占空比调节)的方波信号,信号频率是由自动重装寄存器ARR的值决定,占空比由比较寄存器CCR的值决定。PWM...

2020-01-07 23:16:30 1818

原创 通用定时器中断

一.定时器介绍STM32F1的定时器非常多,由2个基本定时器(TIM6、TIM7)、4个通用定时器(TIM2-TIM5)和2个高级定时器(TIM1、TIM8)组成。基本定时器的功能最为简单,类似于51单片机内定时器。通用定时器是在基本定时器的基础上扩展而来,增加了输入捕获与输出比较等功能。高级定时器又是在通用定时器基础上扩展而来,增加了可编程死区互补输出、重复计数器、带刹车(断路)功能,这些功能...

2020-01-06 16:36:24 741

原创 STM32F103中断系统

一、中断介绍1.1 中断概念CPU执行程序时,由于发生了某种随机的事件(外部或内部),引起CPU暂时中断正在运行的程序,转去执行一段特殊的服务程序(中断服务子程序或中断处理程序),以处理该事件,该事件处理完后又返回被中断的程序继续执行,这一过程称为中断。引发中断的称为中断源。比如:看电视时突然门铃响,那么门铃响就相当于中断源。有些中断还能够被其他高优先级的中断所中断,那么这种情况又叫做中断的嵌...

2020-01-06 14:28:36 2375

原创 GPIO的初始化和使用

一、STM32总线构架图二、GPIO初始化使能对应的端口时钟RCC_APB2PeriphClockCmd(GPIOC,ENABLE);使用GPIO_InitTypeDef声明一个结构体并对成员进行配置GPIO_InitTypeDef GPIO_initStructure;GPIO_initStructure.GPIO_Pin = GPIO_Pin_0|GPIO_Pin_1...

2020-01-06 13:43:05 6383

原创 Android LitePal的配置

1.首先我们需要将LitePal的jar包引入到项目当中,可以点击这里查看LitePal的最新版本。下载并将src.jar文件引入。引入第三方库流程:https://www.cnblogs.com/landiljy/p/6881851.html(引入成功后会自动在dependencies闭包中添加依赖,所以不需要操作,多些的complie反而会导致apk生成错误)2.然后在项目的assets...

2019-08-05 11:26:00 277

原创 Android Listview中使用checkbox

一、基本使用方法:1.在子项布局中添加CheckBox若要为Listview添加点击监听事件,需要在CheckBox属性中添加以下两个属性android:clickable="false"android:focusable="false2.在Adapter中传入子项布局即可显示3.为CheckBox添加选中监听事件checkbox.setOnCheckedChangeListene...

2019-08-04 16:39:52 996

原创 Android递归获取本地文件

private List<String> name = new ArrayList<>(); private void readFile(final File[] fi){ for(int i=0;i<fi.length;i++){ final File f = fi[i]; if (f.isFile...

2019-08-03 10:25:14 325

原创 Android 动态申请存储权限

Android Studio动态申请存储权限listfiles()出错,查看后发现返回值为null,查阅资料后发现读写存储权限其实未授予,如下解决问题。1.存储读写权限 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission andr...

2019-08-02 21:30:55 9270 2

opencv_train.zip

OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows、Android和Mac OS操作系统上。它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,实现了图像处理和计算机视觉方面的很多通用算法。本文件是训练分类器所用的工具,训练方法见博客https://blog.csdn.net/weixin_44762713/article/details/104875223。

2020-03-15

MIPS汇编指令.pdf

MIPS是世界上很流行的一种RISC处理器。MIPS的意思“无内部互锁流水级的微处理器”(Microprocessor without interlocked piped stages),其机制是尽量利用软件办法避免流水线中的数据相关问题。它最早是在80年代初期由斯坦福(Stanford)大学Hennessy教授领导的研究小组研制出来的。文件整理了MIPS常用的一些汇编指令,方便学习和查阅。

2020-03-15

dcmotor.zip

STM32正交编码器测速(输入捕获):使用定时器的输入捕获功能实现正交编码器测速,代码中给出定时器的配置方法和速度计算方法,直流电机512线,调用printf即可查看

2020-01-11

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除