- 博客(496)
- 资源 (22)
- 收藏
- 关注
原创 模型部署架构
模型训练只是DeepLearning的一小部分,如《Hidden Technical Debt in Machine Learning Systems》NIPS2015机器学习系统的技术债书中所说。现有几种搭建框架Python:TF+Flask+Funicorn+NginxFrameWork:TF serving,TorchServe,ONNX RuntimeIntel:OpenVINO,mms,NVNN,QNNPACK(FB的)NVIDIA:TensorRT Inference Serve
2023-01-31 14:38:54 569
原创 RV1109 Linux SDK入门指南
一.环境搭建编译环境搭建所依赖的软件包以及安装命令如下:sudo apt-get install repo git-core gitk git-gui gcc-arm-linux-gnueabihf u-boot-tools \device-tree-compiler gcc-aarch64-linux-gnu mtools parted libudev-dev \libusb-1.0-0-dev python-linaro-image-tools linaro-image-tools auto
2021-08-24 17:18:00 4797 1
原创 GRPC编译安装及测试
一、安装grpc安装grpc指令,官网链接:https://github.com/grpc/grpc/blob/master/BUILDING.md下载源码git clone -b RELEASE_TAG_HERE https://github.com/grpc/grpccd grpc# 更新子模块git submodule update --init编译和安装mkdir -p cmake/buildcd cmake/buildcmake ../..make生.
2021-06-04 17:44:33 2612
原创 Linux——CMake更新和安装
一、官网地址https://github.com/Kitware/CMake/releases/官网提供了不同版本,可以选择Linux x86或者arm版本的cmake。二、下载# 下载wgethttps://github.com/Kitware/CMake/releases/cmake-3.20.3-linux-x86_64.tar.gz# 解压tar zxvfcmake-3.20.3-linux-aarch64.tar.gztree -L 2 cmake-3.20....
2021-06-04 17:17:07 3592 1
原创 C++11新特性——auto和decltype
一、auto和decltype1.auto和decltype都是C++11新增的关键字,都用于类型自动推导。类型格式auto varname = value; //auto的语法格式decltype(exp) varname [= value]; //decltype的语法格式,中括号可不要其中,varname 表示变量名,value 表示赋给变量的值,exp 表示一个表达式,方括号[ ]表示可有可无。auto 和 decltype 都会自动推导出变量 varname 的类型:
2021-05-25 15:20:08 368
原创 github代码管理总结
一、新建远程仓库我们在远程新建仓库时,会自动提示两种方式。设置全局git config --global user.name "yourname"git config --global user.email "yourname@xx.com"方式一:创建一个新的仓库git clone git@github.com:huahuahua/face-detection.gitcd inference-backendtouch README.mdgit add README.mdg
2021-05-24 18:41:24 305 1
原创 本地连接远程代码库——生成公钥SSH Key(Linux版)
一、问题描述在linux服务器上连接远程gitlab代码库,报错Please make sure you have the correct access rights and the repository exists.二、生成SSH Key原因是本地的ssh公钥没在远程gitlab上添加,或者两者的Key不匹配。重新生成新的Key。1. 打开终端,配置用户信息git config --global user.name "yourname"git config --global
2021-05-24 17:59:29 358
原创 判断某点在多边形内——方法二
/* 原理: 将测试点的Y坐标与多边形的每一个点进行比较,** 会得到测试点所在的行与多边形边的所有交点。** 如果测试点的两边点的个数都是奇数个,** 则该测试点在多边形内,否则在多边形外。 */#include <stdio.h>#include <iostream>/* 函数功能: 判断点(x, y)是否在有ploy_sides个顶点的多边形内 *//* 参数: poly_sides 测试多边形的顶点数** poly_x 测.
2021-05-18 18:00:02 347
原创 判断某点在多边形内——方法一
算法思路判断平面内点是否在多边形内有多种算法,其中射线法是其中比较好理解的一种,而且能够支持凹多边形的情况。该算法的思路很简单,就是从目标点出发引一条射线,看这条射线和多边形所有边的交点数目。如果有奇数个交点,则说明在内部,如果有偶数个交点,则说明在外部。如下图所示:算法步骤如下:已知点point(x,y)和多边形Polygon的点有序集合(x1,y1;x2,y2;….xn,yn;); 以point为起点,以无穷远为终点作平行于X轴的射线line(x,y; -∞,y);循环取得多边形的每
2021-05-18 17:56:46 968
原创 C/C++中break、return、continue和goto在循环语句中的使用
话不多说,直接上代码一、breakbreak用于多层嵌套的的while、for循环语句时,可以跳出最接近break的循环语句。此外还用于switch语句break当前case,以跳出当前switch语句。int main(int argc, char **argv){ printf("===>begin\n"); for (int i = 0; i < 5; i++) { if(i<2) {
2021-05-18 17:48:29 1194 1
原创 golang编译时报错:Get “https://proxy.golang.org/github.com/antihax/optional/@v/v1.0.0.mod“: dial tcp 172.2
一、问题golang编译grpc-gateway时,报错:二、解决一行代码设置搞定go env -w GOPROXY=https://goproxy.cn
2021-05-11 17:45:04 4756 3
原创 VS Code离线安装C/C++插件cpptools-linux-aarch64.vsix
一、问题最近VS Code连接jetson nano,经常提示加载C/C++插件失败二、解决方法根据提示,在githup上https://github.com/microsoft/vscode-cpptools/releases下载了最新的C/C++插件。根据你的系统来下载对应的插件,我的是jetson nano 就下载了第一个cpptools-linux-aarch64.vsix插件。三、安装然后再VS Code中使用Ctrl+Shift+P快捷键进行安装最终安装成功的提.
2021-04-21 14:20:01 4488
原创 gRPC编译和安装——Linux版
一、安装1、安装依赖环境sudo apt-get install pkg-configsudo apt-get install autoconf automake libtool make g++ unzipsudo apt-get install libgflags-dev libgtest-devsudo apt-get install clang libc++-dev2、下载源码国内镜像(githup上下载超慢,尤其是后面的submodule)git clone htt
2021-03-15 19:25:11 8151 3
原创 深度学习中端到端的理解
非端到端相对于深度学习,传统机器学习的流程往往由多个独立的模块组成,比如在一个典型的自然语言处理(Natural Language Processing)问题中,包括分词、词性标注、句法分析、语义分析等多个独立步骤,每个步骤是一个独立的任务,其结果的好坏会影响到下一步骤,从而影响整个训练的结果,这是非端到端的。端到端深度学习模型在训练过程中,从输入端(输入数据)到输出端会得到一个预测结果,与真实结果相比较会得到一个误差,这个误差会在模型中的每一层传递(反向传播),每一层的表示都会根据这个误差来做
2021-03-12 15:40:05 902
原创 C++ 参数的三种传递
C++ 参数的三种传递这三种传递分别是值传递、指针传递和引用传递。值传递是我们常见的传递方式,不管是在C#还是JAVA,都是有值传递的,C++也不例外,那么指针和引用则和值传递不同,不同之处呢,则是它们传递东西不同,都是都可以把一个值传给某个函数使用,它们不同之处我们通过一些例子来说明。三个例子的代码:#include <iostream>using namespace std;void test1(int a) { a += 3; cout <<
2021-03-10 18:49:22 1712
原创 Linux C++11——多线程类thread
一、并发和并行1、并行(parallel)指在同一时刻,有多条指令在多个处理器上同时执行。就好像两个人各拿一把铁锨在挖坑,一小时后,每人一个大坑。所以无论从微观还是从宏观来看,二者都是一起执行的。2、并发(concurrency)指在同一时刻只能有一条指令执行,但多个进程指令被快速的轮换执行,使得在宏观上具有多个进程同时执行的效果,但在微观上并不是同时执行的,只是把时间分成若干段,使多个进程快速交替的执行。这就好像两个人用同一把铁锨,轮流挖坑,一小时后,两个人各挖一个小一点的坑,要想挖两
2021-03-10 14:48:28 4600 1
原创 OpenCV——高效遍历图像(C++版本)
OpenCV遍历图像像素是很常见的事情,比较下面的三种遍历方式哪个是最高效的。前言在OpenCV C++中Mat对象的内存管理由OpenCV框架自动负责内存分配与回收,基于智能指针实现内存管理。Mat对象的数据组织形式与像素块数据的存储方式,Mat对象由两个部分组成,元数据头部加像素数据块部分,图示如下:三种图像遍历方式方法一基于Mat对象的随机像素访问API实现,通过行列索引方式遍历每个像素值void method_1(Mat &image) { double
2021-03-09 18:30:12 3524 2
原创 Gstreamer——搭建RTSP服务器
一、 安装依赖库sudo apt-get install gtk-doc-tools sudo apt-get install libgstreamer1.0-0 gstreamer1.0-plugins-base sudo apt-get install gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly sudo apt-get install gstreamer1.0-libav gstr
2021-03-05 15:52:32 2919 1
原创 configure: error: cannot guess build type; you must specify one
今天在arm上用configure生成makefile时报错:configure: error: cannot guess build type; you must specify one问题:不能确定编译的操作系统解决:在gcc编译中我们使用 ./configure --build=编译平台 --host=运行平台 --target=目标平台指令:./configure --build=arm-linux --prefix=/usr...
2021-02-24 11:39:29 8659 1
原创 人工智能目标检测模型总结(三)——yolov1模型(2)
前言当我们谈起计算机视觉时,首先想到的就是图像分类,没错,图像分类是计算机视觉最基本的任务之一,但是在图像分类的基础上,还有更复杂和有意思的任务,如目标检测,物体定位,图像分割等,见图1所示。其中目标检测是一件比较实际的且具有挑战性的计算机视觉任务,其可以看成图像分类与定位的结合,给定一张图片,目标检测系统要能够识别出图片的目标并给出其位置,由于图片中目标数是不定的,且要给出目标的精确位置,目标检测相比分类任务更复杂。目标检测的一个实际应用场景就是无人驾驶,如果能够在无人车上装载一...
2021-01-30 17:13:27 1487
原创 人工智能目标检测总结(五)——深入理解one-stage目标检测模型
本文翻译自One-shot object detection,原作者保留版权。作为计算机视觉领域的一项重要任务,目标检测是要找到一张图片里的感兴趣物体:这比图像分类任务更高级,因为分类只需要告诉图像中主要物体是什么,然而目标检测要找到多个物体,不仅要分类,而且要定位出它们在图像中的位置。目标检测模型不仅要预测出各个物体的边界框(bounding boxes),还要给出每个物体的分类概率。通常情况下目标检测要预测许多边界框。每个边界框还需要一个置信度(confidence score),代表其..
2021-01-29 16:35:16 3227 2
原创 人工智能目标检测模型(四)——ResNet
ResNet在2015年被提出,在ImageNet比赛classification任务上获得第一名,因为它“简单与实用”并存,之后很多方法都建立在ResNet50或者ResNet101的基础上完成的,检测,分割,识别等领域都纷纷使用ResNet,Alpha zero也使用了ResNet,所以可见ResNet确实很好用。下面我们从实用的角度去看看ResNet。1.ResNet意义随着网络的加深,出现了训练集准确率下降的现象,我们可以确定这不是由于Overfit过拟合造成的(过拟合的情况训练集应该准确
2021-01-29 14:55:11 7408
原创 人工智能目标检测模型总结(三)——yolov1模型(1)
从五个方面解读CVPR2016 目标检测论文YOLO: Unified, Real-Time Object Detection创新 核心思想 效果 改进 实践1. 创新YOLO将物体检测作为回归问题求解。基于一个单独的end-to-end网络,完成从原始图像的输入到物体位置和类别的输出。从网络设计上,YOLO与rcnn、fast rcnn及faster rcnn的区别如下:[1] YOLO训练和检测均是在一个单独网络中进行。YOLO没有显示地求取region proposal的过.
2021-01-28 17:40:00 904
原创 人工智能目标检测模型总结(二)——目标检测two-stage模型汇总
two-stage模型:R-CNN、Fast R-CNN、Faster R-CNN三个模型都是Ross Girshick教授分别在2014、2015年提出来的,在PASCAL VOC 2007数据集上取得不错的进展。目标检测方法分类两个阶段:分类 定位一、原始方法操作流程:如下图(要识别一只熊),用各种大小的框在图片中进行反复截取,输入到CNN中识别计算得分,最后确定出目标类别和位置。缺点:效率低,太耗时。二、R-CNN2014年,区域卷积神经网络(Region C.
2021-01-27 14:33:22 1595
原创 人工智能目标检测模型总结(一)——R-CNN、Fast R-CNN、Faster R-CNN
目标检测是人工智能的一个重要应用,就是在图片中要将里面的物体识别出来,并标出物体的位置,一般需要经过两个步骤:1、分类,识别物体是什么2、定位,找出物体在哪里image除了对单个物体进行检测,还要能支持对多个物体进行检测,如下图所示:image这个问题并不是那么容易解决,由于物体的尺寸变化范围很大、摆放角度多变、姿态不定,而且物体有很多种类别,可以在图片中出现多种物体、出现在任意位置。因此,目标检测是一个比较复杂的问题。最直接的方法便是...
2021-01-27 10:06:43 2673
原创 Linux安装python3.8时,编译过程中报错Could not build the ssl module!
一、 Python编译安装缺失模块_ctypesbuild correctly but finished with this message: Failed to build these modules: _ctypes安装依赖库sudo apt install build-essential python3-devlibffi-dev二、在安装Python3.8编译时报错:Could not build the ssl module!Could not bu..
2021-01-21 14:46:20 19291 6
原创 安装torchvision时,报错error: command ‘aarch64-linux-gnu-gcc‘ failed with exit status 1
jetson nano安装torchvision时报错进行编译安装:cd torchvisionpython3 setup.py install解决:1.如果是python2请先使用sudo pip install pyzmq==17.0.0,python3使用sudo pip3 install pyzmq==17.0.0事实证明,无效!!!2.fatal error: libavcodec/avcodec.h: No such file or directoryFFmpeg
2021-01-20 00:10:31 4436 12
转载 12大深度学习开源框架(caffe,tensorflow,pytorch,mxnet等)汇总详解
这是一篇总结文,给大家来捋清楚12大深度学习开源框架的快速入门,这是有三AI的GitHub项目,欢迎大家star/fork。https://github.com/longpeng2008/yousan.ai1 概述1.1 开源框架总览现如今开源生态非常完善,深度学习相关的开源框架众多,光是为人熟知的就有caffe,tensorflow,pytorch/caffe2,keras,mxnet,paddldpaddle,theano,cntk,deeplearning4j,matconvnet
2021-01-19 18:30:03 20041 1
原创 安装matplotlib时,报错Command “python setup.py egg_info“ failed with error code 1 in /tmp/pip-build-gvyzl2
安装matplotlib报错:Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-gvyzl2ou/matplotlib/更新pip3,然后再进行安装matplotlib即可。pip3 install --upgrade pip#这个更好使sudo apt-get install python3-matplotlib...
2021-01-19 16:33:41 654
原创 linux查看历史操作记录并且显示执行时间
修改bashrc环境变量vim~/.bashrc或者~/.bash_profile exportHISTTIMEFORMAT="%F%T" source ~/.bashrc重新打开shell执行history命令history500|grepget_charge_by_month
2021-01-19 09:47:40 1039
原创 Jetson nano安装Pytorch详解
一、官网下载安装包NVIDIA官网:https://forums.developer.nvidia.com/t/pytorch-for-jetson-version-1-7-0-now-available/72048可以根据个人需求下载不同版本的Pytorch安装包,建议科学上网。# 安装指令sudo pip3 install torch-1.7.0-cp36-cp36m-linux_aarch64.whl二、验证torch>>> import .
2021-01-15 18:00:31 13012 8
原创 python调用C语言ctypes详解
ctypes是Python的一个外部库,提供和C语言兼容的数据类型,可以很方便地调用DLL中输出的C接口函数。1.加载dll和取出函数from ctypes import * dll = cdll.LoadLibrary(dllpath) #dllpath是字符串dll = windll.LoadLibrary(dllpath)上面两行使用哪一行,取决于导出函数的调用规范(cdecl或stdcall).也可以使用下面两行代替:dll = CDLL(dllpath) #注意和上面大
2020-12-28 17:46:31 3827 2
原创 win10换源安装opencv-python
win10我们在用pip安装工具包时,会因为网速和ssl证书原因造成安装失败:解决方法:1.在安装工具包后追加镜像源和信任ssl证书pip install 包名 -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com2.配置镜像源毕竟每次安装都添加镜像源和证书会很麻烦新建文件C:\Users\ybb\pip\pip.ini添加如下配置:[global]trusted-host=mirrors.a
2020-12-25 14:17:02 639
原创 VSCode在文件顶部添加作者,时间和注释等信息
1、安装插件KoroFileHeader2、左下角选择管理---设置---输入"fileheader"---点击"在setting.json中编辑"3、把下面的代码放到json文件中// 文件头部注释"fileheader.customMade": { "Descripttion":"your project", "version":"1.0", "Author":"Aidam_Bo", "Date":"Do not edit", "LastEdit
2020-12-15 10:41:04 9388
原创 音视频编解码:NVIDIA Jetson Linux Multimedia API(总结)
一、官网链接官网链接:https://docs.nvidia.com/jetson/l4t-multimedia/index.html二、环境我这边用的是jetson nano,刷机是JetPack4.4版本。jetsonmultimedia相关的samples已经在板子里面了/usr/src/jetson_multimedia_api/samples,我们可以逐一跑测试。需要配置的环境:CUDA、Opencv4tegra、cuDNN(r)、TensorRT三、测试用例下图是sam.
2020-12-02 18:28:14 5855 1
原创 win10配置清华源——快速安装anaconda、TensorFlow和pytorch
清华源镜像下载地址:https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/
2020-12-01 21:57:35 1322
原创 DeepStream插件Gstreamer(一):插件汇总
一、Gst-nvinfer Gst-nvinfer插件使用NVIDIA®TensorRT™对输入数据进行推断。该插件从上游接受批处理的NV12 / RGBA缓冲区。NvDsBatchMeta结构必须已经附加到Gst缓冲区。低级库(libnvds_infer)可对尺寸为“网络高度”和“网络宽度”的INT8 RGB,BGR或GREY数据进行操作。Gst-nvinfer插件根据网络要求在输入帧上执行转换(格式转换和缩放),并将转换后的数据传递到低级库。低级库对转换后的帧进行预处理(执行归一化和均值减法)..
2020-11-30 19:04:21 5072 1
原创 DeepStream插件Gstreamer(一):概述
一、插件概述 DeepStream SDK基于GStreamer框架。本手册介绍了DeepStream GStreamer插件以及DeepStream的输入,输出和控制参数。在包含NVIDIA®Jetson™模块或NVIDIA dGPU适配器1的系统上支持DeepStream SDK。本手册适用于希望使用DeepStream SDK开发DeepStream应用程序或其他插件的工程师。它还包含有关SDK中使用的元数据的信息。开发人员也可以添加自定义元数据。该手册介绍了SDK中定义的用于使用IPlug...
2020-11-30 14:55:19 2541 2
caffe安装配置文件Makefile.config
2020-10-19
PCA算法的原理C++ Eigen库实现
2020-04-16
C++PrimerPlus(第6版)_高清中文版_超详带书签
2019-04-23
OpenCV3编程入门_毛星云版
2019-04-08
QTTest(主要关于TCP和UDP传输)
2019-01-18
QPaintEvent绘制雷达扫描图
2018-12-26
OSG学习资料及视频PPT超详
2018-11-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人