自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 收藏
  • 关注

原创 VSCODE调试控制台的使用——以pytorch下神经网络的加载模型前向传播为例

最近在做模型的量化与量化后模型在arm平台上的迁移工作,为了保证量化后的模型在python下与在arm下运行的一致性(相同输入下,不同环境下的输出完全一致),需要对python下模型前向传播的每个操作的激活值、权重、输入的量化参数(scale与zero_point)、权重的量化参数(scale与zero_point)都能查看,在这个查看的过程中,发现VSCODE帮了大忙,因此记录一下VSCODE调试控制台的使用,便于自己与他人后续参考使用。

2022-09-22 14:37:25 1870 1

原创 跟着沐神动手学深度学习--数据操作+数据预处理

N维数组N维数组样例N维数组是机器学习与神经网络的主要数据结构0维数组,即标量eg:1.01维数组,即向量eg:[1.0, 2.7, 3.4]2维数组,即矩阵eg:[[1.0, 2.7, 3.4][5.0, 0.2, 3.7][1.7, 2.4, 5.9]]3维数组,例:RGB图像(宽x高x通道)4维数组,例:多个RGB图像(批量大小x宽x高x通道)5维数组,例:一个视频(批量大小x时间x宽x高x通道)…创建数组创建数组需要确定数组的形状、数据类型、数据值。形状,例

2022-01-06 22:36:52 1235

原创 跟着沐神动手学深度学习--安装

动机一直以来,深感自己在深度学习上,学习的不够深入。恰好最近看到AI大牛李沐在B站的深度学习课程,因此想要跟着沐神的课程,再系统的学习一下深度学习。学习金字塔理论认为单纯的听讲下, 学习效率比较低,为了能够更好的学习,能够有更深的理解,也为了更好的抗遗忘,这里通过写博客的形式记录下学习过程,学习心得。深度学习环境的安装本人使用的环境为windows环境,因此基于windows环境去安装深度学习环境。需要安装CUDA、CUDNN、Anaconda,以及使用conda命令安装pytorch环境。安装

2021-12-29 00:00:50 1638

原创 matlab中interp2双线性插值算法的实现原理及使用python简单实现双线性插值interp2算法

双线性插值算法基本原理双线性插值算法的基本原理:图1 双线性插值示意图图中绿色的点P为待插值得到的点,对点P进行插值需要用到Q11(x1,y1), Q12(x1,y2), Q21(x2, y1), Q22(x2, y2)的值,需要先在x方向线性插值得到R1(x,y1)与R2(x,y2):再进一步再y方向上进行线性插值得到P(x,y):这里不做详细讲述,提供几篇参考资料:双线性插值一篇文章为你讲透双线性插值双线性插值算法以及python实现matlab中interp2双线性插值算

2021-10-20 16:38:07 4447

原创 使用simulink做图像裁剪时由于矩阵大小可变导致出现的错误及其解决方法

报错及问题描述报错部分设置及描述在本例中,find bounding box 模块会得到四个变量r1, r2, c1, c2,img_crop 则根据这四个变量对图像进行裁剪。img_crop 中裁剪代码如下:function img_cropped = img_crop(img, r1, r2, c1, c2)img_cropped = img(r1:r2, c1:c2, :);end报错信息描述在运行仿真时,将会出现以下报错信息:Data 'img_cropped' is infe

2021-10-08 17:00:46 2575

原创 使用matplotlib在同一图像内绘制两个直方图

为了更为直观地看到两幅灰度图直方图分布的不同,想到把两幅图像的直方图放在同一图像中显示。解决方案主要参考至:使用matplotlib同时绘制两个直方图这里直接贴代码: bins = np.linspace(0, 255, 256) plt.hist(img1.flatten(), bins, density=True, alpha=0.7, label='img1') plt.hist(img2.flatten(), bins, density=True, alpha=0.7,

2021-08-11 15:15:06 3426 1

原创 在线难例挖掘:Online Hard Example Mining (OHEM)

详细链接:https://erogol.com/online-hard-example-mining-pytorch/OHEM通过减少计算成本来选择难例,提高网络性能。它主要用于目标检测。假设你想训练一个汽车检测器,并且你有正样本图像(图像中有汽车)和负样本图像(图像中没有汽车)。现在你想训练你的网络。实际上,你会发现负样本数量会远远大于正样本数量,而且大量的负样本是比较简单的。因此,比较明智的做法是选择一部分对网络最有帮助的负样本(比较有难度的,容易被识别为正样本的)参与训练。难例挖掘就是用于选择对网

2021-07-27 16:32:05 1706

原创 word中将表格单元格合并后,如何让文字上下也处于居中的位置

ruh

2021-06-11 14:50:51 24406 1

原创 Pytorch网络模型权重初始化、保存与加载模型、加载预训练模型、按需设置学习率

权重初始化加载预训练模型

2021-01-20 18:08:39 6539 1

原创 pip换源与conda换源

pip换源临时使用清华源在使用pip的时候加参数 -i “源地址”清华源:-i https://pypi.tuna.tsinghua.edu.cn/simple阿里源:-i https://mirrors.aliyun.com/pypi/simple中科大源:-i https://pypi.mirrors.ustc.edu.cn/simple/ 永久更换源配置国内镜像,以清华源为例pip config set global.index-url https://pypi.tuna.

2021-01-08 19:01:52 342

原创 【学习分享】目标检测训练与测试

目录模型训练目标检测中涉及的超参数训练部分的实现使用训练结果实现目标检测的推理NMS非极大值抑制单图预测推理VOC测试集评测介绍map指标模型训练经过前面章节的学习,我们已经对目标检测训练的各个重要的知识点进行了讲解,下面我们需要将整个流程串起来,对模型进行训练。通常来说,神经网络的训练实现流程大致如下:设置各种超参数定义数据加载模块 dataloader定义网络 model定义损失函数 loss定义优化器 optimizer遍历训练数据,预测-计算loss-反向传播目标检测中涉及的

2020-12-27 20:15:05 1512

原创 【学习分享】目标检测损失函数

目录前言损失函数正负样本的选择损失函数Hard negative mining(负样本难例挖掘)前言前一篇博文我们讲到网络的模型结构,特征提取网络,分别用于分类和定位的分类分支和回归分支,以及两个分支的输出情况。接下来我们要考虑目标检测的损失函数设计,以便对我们的网络进行训练,得到一个良好的目标检测模型损失函数正负样本的选择之前,我们使用anchor机制生成了许多先验框(锚框),我们想要通过这些先验框来预测目标的类别信息与边界框信息。首先我们需要明确哪些先验框与目标对应,即为正样本;哪些先验框与背

2020-12-22 22:21:28 832

原创 【学习分享】目标检测模型设计

目录特征提取网络设置anchor分类头与回归头边界框的解码分类分支与回归分支预测特征提取网络特征提取网络采用vgg16的结构作为特征提取模块,并去掉fc6和fc7两个全连接层。代码实现:class VGGBase(nn.Module):

2020-12-19 21:02:49 680 2

原创 【学习分享】目标检测中的锚框(Anchor)

目录锚框引例锚框不同尺度的锚框先验框与特征图的对应锚框类别信息的确定锚框生成锚框引例在理解目标检测的锚框之前,我们首先通过一个不太严谨的例子对锚框进行一个简单的了解:由于目前污染比较严重,导致海洋中漂浮着许多垃圾,这些垃圾既污染环境,又不利于鱼类的生存。假设我们面前有一片海域,海域中零星地漂浮着很多不同类型的垃圾,这些垃圾有的大,有的小,有的是方形的,有的是长条形的。为了保护环境,我们需要将所有的垃圾打捞起来,还海洋生物一个美好家园。为此,我们设计了一种打捞机器,该机器能够在一定范围内撒下网,进行

2020-12-19 16:35:12 4332 2

原创 【学习分享】目标检测VOC数据集数据集的处理

目录前言xml文件解析前言从voc数据集中的xml中的信息可以看出其中的信息还是很多、很复杂的,为了后续方便使用,再这里首先对xml进行处理。xml文件解析如图,对于每一个xml文件,我们将它包含的boxes、labels以及difficulties提取出来并以字典的形式的保存。相关代码实现:#voc_labels为VOC数据集中20类目标的类别名称voc_labels = ('aeroplane', 'bicycle', 'bird', 'boat', 'bottle', 'bus', '

2020-12-16 14:18:49 2318 4

原创 【学习分享】目标检测基本概念及目标检测数据集VOC

目标检测基本概念及目标检测数据集VOC前言目标检测基础知识定义求解思路目标框定义交并比(IoU)目标检测数据集VOC数据集说明前言之前对目标检测(Object Dectection)的理解一直不是什么深入,且没有做过相关的代码实践,最近看到DataWhale在12月份的组队学习中有关于目标检测的学习内容,因此报名了该学习小组,希望能够深入了解一下目标检测的具体实现,并在次记录关于此次学习的相关笔记。目标检测基础知识定义简单来说,目标检测就是分类+定位。分类:判断图像中是否存在相关的感兴趣物体定

2020-12-15 23:14:18 659

原创 使用nvidia jetson xavier nx调用usb摄像头时报错

目录报错内容报错原因解决方法安装v4l2-ctl检查摄像头上的设备检查设备上Camera清单查看usb摄像头可用的分辨率调用usb摄像头demo报错内容cv2.error: OpenCV(4.1.1) /home/nvidia/host/build_opencv/nv_opencv/modules/highgui/src/window.cpp:352: error: (-215:Assertion failed) size.width>0 && size.height>0

2020-11-16 17:14:10 5508 1

原创 nvidia jetson xavier nx安装pytorch

目录安装相关依赖安装pytorch安装torchvision安装相关依赖sudo apt-get install libhdf5-serial-dev hdf5-tools libhdf5-dev zlib1g-dev zip libjpeg8-devliblapack-dev libblas-dev gfortransudo apt-get install libopenblas-base libopenmpi-devsudo pip3 install mpi4pysudo pip3 inst

2020-11-13 10:05:42 1913 1

原创 [NVIDIA Jetson Xavier Nx]从刷机烧录到环境配置 记录

目录前言一、开机烧录二、环境配置Cuda环境变量配置更新源python环境配置安装Jtop(内存/CPU/GPU等等资源监视工具)前言对进行NVIDIA Jetson Xavier Nx环境配置进行记录一、开机烧录参考下面的博客:NVIDIA Jetson Xavier NX 开发套件刷机教程二、环境配置Cuda环境变量配置Jetson Xavier NX 中已经安装了CUDA10.2 版本,但是此时你如果运行nvcc -V 是不会成功的,需要你把CUDA 的路径写入环境变量中。OS 中自带

2020-11-13 08:44:50 2191

原创 wps中公式存在遮挡,无法正常显示的解决方法

wps中公式存在遮挡,无法正常显示的解决方法问题描述如图,公式部分被遮挡,导致公式无法完全显示解决方法将鼠标移至公式所在行,点击左侧的下拉栏中的清除段落布局即可让公式正常显示,效果如下:...

2020-10-09 15:36:37 7312 1

原创 Pytorch运行程序报错

RuntimeError: copy_if failed to synchronize: cudaErrorIllegalAddress报错信息报错原因修改报错信息最近在训练人脸识别的模型,在将单卡训练改为多卡训练时,程序报错:RuntimeError: copy_if failed to synchronize: cudaErrorIllegalAddress: an illegal memory access was encountered报错原因人脸识别中使用了amsoftmax损失,改代

2020-08-25 17:35:57 1042

原创 编程练习:选择排序

问题描述假设用户通过键盘输入一个整形数列。编写一个程序,将其按照从小到大的顺序重新排列。问题分析假设有n个数据将要参与排序操作,则具体的排序过程可以描述为:首先从n个数据中选择一个最小的数据,并将它交换到第1个位置;然后再从后面n-1个数据中选择一个最小的数据,并将它交换到第2个位置;依次类推,直至最后从两个数据中选择一个最小的数据,并将它交换到第n-1个位置为止,整个排序操作结束。...

2019-06-15 22:02:32 896

原创 编程联系:二分查找(binary search)

题目描述已知一个按非递减有序序列的整数排列(12, 23, 30, 45, 48, 50, 67, 82, 91, 103)。编写一个程序,查找其中是否存在于给定key相等的数值。问题分析二分查找是指每次用key与位于查找区间中央位置的元素比较,比较结果将会产生下面3种情形之一。如果相等,说明查找成功。 如果key小于中央位置的元素,说明如果存在这样的元素,应该位于查找区间的前半...

2019-06-15 17:20:42 217

原创 编程练习:按位分解整数

题目描述从键盘输入一个整数,然后将它的每一位分解成独立的数字字符并输出问题分析利用程序设计语言提供的整除和求余运算实现将整数分解的目的。程序代码#include <iostream>using namespace std;/**从键盘输入一个整数,然后将它的每一位分解成独立的数字字符并输出**/void split_num(long x) { l...

2019-06-15 15:48:26 1699

原创 编程练习:复数四则运算

题目描述编写一个程序,其功能为:通过键盘读取两个复数和运算符,完成复数运算的操作,并输出计算的结果问题分析 (a+bi) + (c+di) (a+bi) - (c+di) (a+bi) * (c+di) (a+bi) / (c+di) 结果的实部 a+c a-c a*c - b*d (a*c + b*d)/(c*c -d*d) ...

2019-06-15 14:21:40 1585

原创 目标跟踪:VITAL: VIsual Tracking via Adversarial Learning代码运行

代码地址:https://github.com/ybsong00/Vital_release程序入口:demo_tracking.m主要问题:github上给出的matconvnet是作者修改过的,不完整的。因此运行demo_tracking.m时报错解决方法:将自己编译好的matconvnet复制到Vital代码下,使用作者给出的matconvnet部分代码替换自己编译好的m...

2019-05-16 13:56:29 543

原创 目标跟踪benchmark:OTB50、OTB2013、OTB100、OTB2015

OTB50其对应视频序列为其网站的前50个视频序列,其中Skating因标注对象不同,可以看作两个视频序列视频序列名称:Basketball Biker Bird1 BlurBody BlurCar2 BlurFace BlurOwl Bolt Box Car1 Car4 CarDark CarScale ClifBar Couple Crowds David Deer Divi...

2019-05-06 15:39:42 13029 14

原创 目标跟踪-CREST: Convolutional Residual Learning for Visual Tracking

1. 概述论文中提出了CREST算法,该算法将DCF(判别式相关滤波)重定义为卷积神经网络的一层。该算法将特征提取(feature extraction)、响应图生成(response map generation)和模型更新(model update)集成到神经网络中,用于端到端(end-to-end)的训练。为了减轻由于实时更新产生的模型退化问题,该算法采用残差学习的方式将目标的外...

2018-04-09 18:45:50 4164 4

原创 Visual Studio 2015下MFC画图个人笔记

一. 绘制直线程序效果:在View视图的某一点出鼠标点击左键并按住,然后拖动鼠标直至松开鼠标左键。在View视图将获得一条由鼠标左键按下处到鼠标左键松开处的一条直线段。1.新建MFC单文档程序,此处程序名Draw2.为CDrawView添加成员变量,用于记录线段的起点在类视图下右键单击CDrawView,选择“添加”->“添加变量”,访问选择“private”,变量类型为“CPoi

2017-10-25 11:09:43 6660

空空如也

空空如也

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

TA关注的人

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