自定义博客皮肤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)
  • 收藏
  • 关注

原创 onnx报错

import onnx 报错:undefined symbol: _ZN6google8protobuf7Message17CopyWithSizeCheckEPS1_RKS1_

2022-09-15 16:29:05 1540 1

原创 ros2 自定义消息

在使用ros2时,有时需要自定义一个数据结构传递数据。具体方法如下## 创建ros2包ros2 pkg create --build-type ament_cmake --node-name box box## 创建msg文件夹,并创建*.msg数据结构cd boxmkdir msgtouch box.msgbox.msg中添加数据结构std_msgs/Header headerint32 xint32 yint32 widthint32 height## 修

2021-09-15 17:48:36 386

原创 ubuntu c++时间计算

#include <stdio.h>#include <sys/time.h>#include <unistd.h>class Time{public: Time(){} ~Time(){} void start() { gettimeofday(&tv1,nullptr); } int cost() { gettimeofday(&tv2,nullpt.

2021-07-05 17:09:39 918

原创 yolo5工程化

yolov5模型使用工程git clone https://github.com/ultralytics/yolov5.git预训练模型首次运行时,attempt_download函数会下载对应的模型。模型参数配置在models/*.yaml里。yolov5网络组成Focus + Backbone + Detectcoco数据集训练下载coco数据集,放在于yolov5同一目录下。python3 train.py --data coco.yaml --cfg yolov5s.y

2021-03-09 11:57:10 498 2

原创 ubuntu16.04安装/卸载nvidia-driver/cuda

卸载卸载nvidia驱动方法1sudo apt-get purge nvidia*sudo apt-get autoremovesudo apt-get autocleandpkg -l | grep ^rc | awk '{print $2}'|sudo xargs dpkg -Pdpkg -l | grep nvidia | awk '{print $2}'|sudo xargs dpkg -P方法2sudo ./NVIDIA-Linux-<version>.run -

2020-10-12 14:38:49 972

原创 精度/召回/AP/mAP

import numpy as npimport matplotlib.pyplot as pltdef voc_ap(rec, prec, use_07_metric=False): if use_07_metric: # 11 point metric ap = 0. for t in np.arange(0., 1.1, 0.1): if np.sum(rec >= t) == 0:

2020-09-24 17:56:36 186

原创 conda环境下tensorrt安装

下载tensorrt登录:https://developer.nvidia.com/tensorrt进入:https://developer.nvidia.com/nvidia-tensorrt-7x-download在Tar File Install Packages For Linux x86下,选择TensorRT 7.0.0.11 for Ubuntu 16.04 and CUDA 10.0 tar package下载获取的文件TensorRT-7.0.0.11.Ubuntu-16.04.

2020-09-22 16:04:01 6129 3

原创 优化器

优化器SGDWnew=Wold−α∂Loss∂WoldW_{new}=W_{old} - \alpha\frac{\partial{Loss}}{\partial{W_{old}}}Wnew​=Wold​−α∂Wold​∂Loss​α\alphaα:学习率缺点:容易陷入局部极小值加入动量(Momentum),解决局部极小值。SGD+MomentumMomentum更新:Vnew=ηVold−α∂LossWoldV_{new}=\eta V_{old} - \alpha \frac{\parti

2020-08-31 18:16:36 228

原创 c++测试题

栈的压入、弹出序列方法:模拟法直接模拟即可。因为弹出之前的值都会先入栈,所以这里用个栈来辅助。#include <vector>#include <stack>#include <iostream>using namespace std;/** * @brief 给出一个入栈序列pushV和出栈序列popV, 判断出栈序列是否满足条件. * @param pushV 栈的压入顺序. * @param popV 是否可能为该栈的弹出顺序.

2020-08-12 11:32:15 159

原创 排序比较算法c++

冒泡排序时间复杂度:O(n2)O(n^2)O(n2)#include <stdlib.h>#include <stdio.h>#include <iostream>using namespace std;void bubbleSort(int arr[], int len){ int i, j; for (i = 0; i < len - 1; i++) { for (j = 0; j < len - 1 - i

2020-08-07 11:33:26 209

原创 C++STL-ALGORITHM函数

在编写c++代码时,有很多常用方法,在stl algorithm中给出了接口,这里简单介绍部分方法。std::foreach逐个元素传入函数或类实例,执行相应的操作。template<class InputIterator, class Function> Function for_each(InputIterator first, InputIterator last, Function fn){ while (first!=last) { fn (*first);

2020-08-03 10:51:59 298

原创 CNN网络感受野计算

计算公式lk=lk−1+[(fk−1)∏i=1k−1si]l_{k}=l_{k-1}+[(f_{k}-1)\prod_{i=1}^{k-1}s_i]lk​=lk−1​+[(fk​−1)i=1∏k−1​si​]其中lkl_{k}lk​为k层的感受野,fkf_{k}fk​为k层的卷积核大小,∏i=1k−1si\prod_{i=1}^{k-1}s_i∏i=1k−1​si​为stride的乘积。No.layerskernel sizestride1conv13x322po

2020-07-17 17:46:05 178

原创 统计学习(1)

概率先验概率:根据以前的经验,提前知道的事件概率;如:今天下雨的概率;后验概率:由果及因,后知后觉,概率时间的结果推测原因起作用的概率;如,今天下雨,求有乌云的概率;似然概率:由因及果,似然likehood自然的推测,都是知道原因,求原因造成结果发生的概率。如:今天阴天,求下雨的概率。模型学习适用条件是什么?解决什么问题?对应的统计学习三要素?统计学习的三要素:假设空间:包含所有可能的条件概率分布或决策函数。策略:按照什么样的准则学习或选择最优模型。(损失函数)求解算法:使用什么样

2020-07-01 19:55:58 250

原创 卡尔曼跟踪

卡尔慢预测更新predict:x^i−=Ax^i−1+Bui−1\widehat{x}_i^{-} = A\widehat{x}_{i-1}+Bu_{i-1}xi−​=Axi−1​+Bui−1​correction:x^i=x^i−+k(yi−Hx^i−)\widehat{x}_i = \widehat{x}_i^{-}+k(y_i-H\widehat{x}_i^{-})xi​=xi−​+k(yi​−Hxi−​)其中,kkk为kalman gain matrix; yiy_iyi​观测值; AAA

2020-07-01 16:59:06 221

原创 训练数据转换为PASCAL VOC2007

数据我们已有标注数据个数为json保存的,现在训练代码使用的标注格式为PASCAL VOC2007,为了不修改代码,将数据转换到PASCAL VOC2007的xml格式。转换代码import osimport jsonfrom lxml.etree import Element, SubElement, tostring, ElementTreefrom xml.dom import minidom# 从文件夹下获取json文件名def ReadFileDir(path): file

2020-07-01 15:33:08 268

原创 linux 后台运行命令

nohup ./xxx.sh &

2020-06-18 16:07:57 218

原创 机器学习-损失函数

为什么使用损失函数θj+1=θj−η∂J(θj)∂θj\theta_{j+1}=\theta_j-\eta\frac{\partial J(\theta_j)}{\partial \theta_j}θj+1​=θj​−η∂θj​∂J(θj​)​θj+1\theta_{j+1}θj+1​:更新后的权重;η\etaη:学习率;∂J(θj)∂θj\frac{\partial J(\theta_j)}{\partial \theta_j}∂θj​∂J(θj​)​:权重的梯度。∂J(θj)∂θj\frac{\p

2020-06-06 15:38:42 463

原创 c++注册类方法实现单例映射

概述在caffe和阿里MNN中,广泛使用了注册方法,简化了代码的复杂程度。下面我们简单梳理一下。分析要实现一套多种计算架构使用的代码,如cpu、gpu等。要在每个计算架构下,实现各种算子。使用一套接口实现。要达到以上要求,需要给各部分设置通用的接口,利用c++类的继承,能让所有的计算架构或算子具有相同的接口,接口一致,有利于代码的简化。解析定义通用结构平台typedef enum { MNN_FORWARD_CPU = 0, /* Firtly find

2020-06-06 12:20:29 708

原创 逻辑斯蒂回归与最大熵模型

概述共同点:都属于概率模型P(Y|X);对数线性模型:lnP(Y|X)=wx;在logit里面时关于x的线性函数,在最大熵里是关于x的函数的线性函数。区别:(1)逻辑斯蒂回:判别模型(2)最大熵模型:生成模型,y和x都有随机性, 除了P(Y|X),样本中的经验分布:P‾(x)\overline{P}(x)P(x)逻辑斯蒂回归模型二维逻辑斯蒂回归模型lnP(Y=1∣x)1−P(Y=1∣x)=w⋅x(1)ln\frac{P(Y=1|x)}{1-P(Y=1|x)}=w\cdot x

2020-06-02 16:37:17 398

原创 opencv交叉编译android库

准备下载android-sdkandroid-sdk解压tools 执行 ./android update sdk选择一个build-tools安装android-ndkhttps://developer.android.google.cn/ndk/downloads编译cmake … -DCMAKE_TOOLCHAIN_FILE=…/platforms/android/and...

2020-04-27 21:24:17 962

原创 c++ 读写float二进制文件

template <typename T>void save_bin_file(std::string file, int size, T *buffer){ std::ofstream ofs(file, std::ios::binary | std::ios::out); if (ofs) { ofs.write((const char ...

2020-04-21 14:16:35 1241

原创 非常好的makefile写法

要点makefile的依赖规则,都是从前向后的。即当前依赖的向后找或写在编写makefile时,一定要搞清楚依赖关系。如:.o 依赖的.cpp.so依赖的.o…链接时的依赖关系链接的动态库有依赖关系时,要注意顺序,被依赖的放后面,相互没依赖,随便放。工程文件的组织形式好的文件组织形式,可以使我们的makefile文件更加清晰,写起来更顺心。.d文件很重要配置了.d文件,我...

2020-04-20 15:12:50 333

原创 opencv交叉编译linux-aarch64

准备下载opencv源码(官网下载)下载交叉编译器https://releases.linaro.org/components/toolchain/binaries/latest-7/arm-linux-gnueabi/按照宿主机类型(这里以X64 Linux为例)选择下载链接, 文件名形如 gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabi...

2020-04-14 10:36:25 1997 2

原创 阿里MNN交叉编译android

MNN下交叉编译预备工作下载ndkhttps://dl.google.com/android/repository/android-ndk-r21-linux-x86_64.zip下载交叉编译器https://releases.linaro.org/components/toolchain/binaries/latest-7/arm-linux-gnueabi/按照宿主机类型(这里以X...

2020-04-09 14:52:20 2254

原创 c++ 单实例

template <class T>class BaseSingleton{private: static T* m_pInstance; class Garbo { public: ~Garbo() { if (BaseSingleton::m_pInstance) ...

2020-04-09 13:19:34 277

原创 C++常见用法

C++实战技巧类参数初始化在类的使用中,在构造函数后初始化参数,可以给常量赋值。const成员函数不修改成员变量,const实例对象调用时,不会出现限制类型丢失错误。class Test{public: Test() { value = 0; } ~Test() {} int get() const { ret...

2020-04-09 12:59:09 383

原创 caffe数据结构

Caffe数据结构:NCHW较常见通常数据是存在一个buffer中,使用reshape将buffer中的数据做维度的变换Buffer: 一维[…]Buffer:二维HW            W          [[...], [...], ..., [...]]                      HBuffer:三维CHW          W ...

2018-08-31 15:21:39 588

原创 HOG特征

HOG特征描述算子中的数据1. grad和qangle// 都是2通道的grad.create(gradsize, CV_32FC2); //qangle.create(gradsize, CV_8UC2); // [0..nbins-1] - quantized gradient orientationfor( y = 0; y {fl

2017-01-01 15:15:59 423

原创 caffe vs2013 win7 64编译

1. 安装vs20132.下载cuda 8.0,安装配置好(http://blog.csdn.net/lvfeiya/article/details/53325784)。3.cuDnn下载(https://developer.nvidia.com/cudnn),配置cuDnn解压文件到path下,并将将路径path4.caffe下载(https://github.c

2016-12-15 13:56:05 299

空空如也

空空如也

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

TA关注的人

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