- 博客(171)
- 资源 (52)
- 问答 (4)
- 收藏
- 关注
原创 性能优化之taskflow
组合任务使开发者可以自行决定任务层次,可以通过组合模块化、重复的单元形成更大的任务。如下图C--D--E是静态线(主taskflow),而D1--D2--D是动态线,E是一个模块化任务单元(单独的一个taskflow)。如下图的:A--(B,C)--D。动态调度涉及父任务、子任务,如下图的静态线A--(B,C)--D就是父任务,而(B2,B1)--B3--B就是子任务。而下图是一个不正确的组合任务示例:因为这两个相同的模块化任务F1会导致竞争?Tsung-Wei Huang的cpp-taskflow。
2024-11-05 09:40:49
828
1
原创 mingw下编译opencv4.5.2
在ubuntu上试过4.5.2加载模型没问题,于是重新编译mingw32的opencv4.5.2,配置如下:mingw:4.9.2_32bit,同时设置好环境变量G:\QT\qt\Tools\MinGW_4.9.2\MinGW\bin系统:windows10。
2023-12-22 09:41:58
2155
原创 onnxruntime C++推理
最先想用的就是opencv的dnn模块对onnx模型推理,其实之前也用过dnn模块不过以前推理的是tensorflow模型,当时是成功的。加载模型是ok的,结果blobFromImage返回的blob行列是-1、-1???为什么blob是3维或4维?!
2023-09-19 13:51:45
2099
2
原创 printf输出顺序、结构体字节对齐、偏移量
2,第二个成员originstruct为Student类型,对齐数real_originstruct=min{8,8}=8,偏移量startid=倍数*real_originstruct=倍数*8,必须>1,故倍数=1,即偏移量startid=1*8=8。而第三个成员score的偏移量startid=real_score*倍数=8*倍数,必需>11,所以倍数不能取0或1,只能取2,所以startid=8*2=16,即从16开始放score,而score的大小size3=8,此时id=16~23已用。
2023-02-27 09:47:02
2566
8
原创 AI推理卡/ModelArts
#我的需求:x86上Nvidia显卡训练好的模型用在AI推理卡上,host端运行C++主程序device端的AI推理卡提供NN算力,进行推理##
2022-12-08 16:09:56
4478
6
原创 Vitis_米联客开发板MZU07_7EG上手_1
可以看到我的Sysroot和视频中不一样,视频中是aarch64-xilinx-linux、x86_64-petalinux-linux,而我安装完没有这个,我的是cortexa72-cortexa53-xilinx-linux、x86_64-petalinux-linux。四、创建一个小例子,按视频中所示选择Vector addition例子。大家可以多看看,或者有问题在他们博客下评论。视频中是将sd_card.img拷贝。可能是我这网不好,安装了巨巨巨久。一、按照上面的视频安装。............
2022-08-26 18:25:41
5644
9
原创 360度全景问题--预处理:欠曝光
看过https://blog.youkuaiyun.com/wd1603926823/article/details/123530405这一篇的朋友应该看到img_A有严重的欠曝光问题,需要做图像增强的预处理,不然会影响提取特征点,严重的提取不到特征点或错误特征点,进而影响后续特征匹配,从而对全景图的生成有严重影响。现在有很多优秀的图像增强办法,但下面这个比较好,看对比图就知道:就连妇人推着的婴儿推车都清晰了:代码我放在全景拼接预处理欠曝光解决-数据集文档类资源-优快云下载 这里。...
2022-05-13 18:13:05
697
3
原创 LightGBM C++使用问题
lightGBM C++在ubuntu以及windows下的编译、调试、测试官例、运行以及优化,消除警告。并和python下的结果对比正确。自己的工程中使用LGBM C++动态库对每张图片的推理/预测。
2022-04-12 16:46:39
5704
18
原创 cv::watershed(img,mask)
如标题,又说回分水岭。分水岭的源码分析可参考OpenCV 源码中分水岭算法 watershed 函数源码注解_Endless_91的博客-优快云博客_watershed源码这个博主。然后我写了下流程:而对于我的应用,不是彩图,是二值图,所以只能如下去构造。connectedComponents(peak_image, imglabels); imglabels.convertTo(imglabels, CV_32SC1); ///分水岭分割 vector<Mat>.
2022-04-06 13:42:13
831
4
原创 360度全景问题--首尾相接
把相机固定在一个点,然后旋转相机得到了4幅图,按顺序是img_A、img_B、img_C、img_D 相互之间有点重叠,整体景象覆盖360度。1、我以前读研时搞的东西都只是考虑拼接成一幅完整图片,而从来没考虑过使用PTGuiViewer查看是否img_A和img_D之间是否可以无缝巡航。因为以前只是将img_D拼接到img_C,再将结果拼接到img_B,再将新结果拼接到img_A,形成的最终结果可以通过PTGuiViewer看到一个很大的缝隙:如上图看到很大的一条裂缝!!!这说明首尾并不相接。
2022-03-21 19:32:00
4606
5
原创 SSE的学习
看到intel向量化指令在矩阵乘应用中的评估_softee的专栏-优快云博客中描述的效果而心动,然后咨询了下博客园博主,我稍微看了下《simd for c++ developers》感觉SSE这些指令更像一种寄存器语言,乍一接触略不适应。然而我的疑问是:1、如果对一个步骤我用了TBB/MKL/CILK这种易操作的并行指令,内部能否再用SSE指令,能否性能进一步提升?或者像OMP一样不适合嵌套并行?2、这种向量化指令是否只对无依赖性流程可用?对dst(i)=src(i)+dst(i-1); ...
2022-02-09 10:33:02
2217
6
原创 cv Graph API带来的巨大加速比
看完这里:Introduction to OpenCV Graph API (G-API) — OpenVINO™ documentationGraph API · opencv/opencv Wiki · GitHubOpenCV: Porting anisotropic image segmentation on G-API然后看到博文阅读密码验证 - 博客园这里展示的巨大性能,跟着试了下:未使用之前:cv time : 99.501 ms!cv time : ...
2021-12-16 11:23:40
2728
2
原创 cellpose-planer
看到了cellpose无敌的效果而心动,但耗时劝退了我,然后找到cellpose-planer看到:看到这个耗时再次蠢蠢欲动,于是按照官网安装后检测安装成功:但是加载模型时load_model发现在对下载的cyto_0.pla模型转化过程中报错,函数内部将其转成.onnx和.json,.npy,没细看,不知道是否是这个意思,转化过程中就是上面这句有如下报错:通过调试发现body中只有2个元素flow、layers。所以上面那句body['input'],body['inits']就会报错!.
2021-11-10 14:19:07
1393
3
原创 XGBoost1.4.0 c++编译与使用
几年前是用的0.8版本的,python与C++下使用情况一致。这次别人用时发现不正确,即遇到了这种情况load a python trained xgboost in c++ api, the predict result is empty - Stack Overflow即auto ret = XGBoosterPredict(booster_, data, 0, 0, &len, &out); if (ret < 0) { LOG(ERROR) <&l.
2021-11-08 10:05:18
1287
原创 Tensorflow2.6.0-MKL for C++
在intel官网看到Optimize AI Applications with Intel® oneAPI Deep Neural Network...查了一下,好像即使只要有intel,以后CPU预测速度也可以提高。所以决定试试,去年我编译的libtensorflow.so好像没有加入这一块!试一下,看是否比去年的快。...
2021-11-05 18:47:03
2083
原创 保留细节的去噪(可全parallel)
一直在找比较好的去噪算法,有效去噪的同时又要高保留细节,不能模糊边缘,效果可通过参数调节,然后还要可并行。终于找到了,使用以前代表性图片看下效果对比:可以明显看到的确是去噪的同时高保留细节,而且不带来模糊。我试了一下CUDA并行性能很可观。由于要写东西等原因,我能透露的是根据国外的另一篇专利写的,但google的话我又没找到原版专利,只能找到直译过来的专利:我将这篇上传在了denoising algorithm from intel.pdf资源里,大家可根据专利实现。...
2021-09-07 14:38:26
877
6
原创 编译支持TBB的opencv4.1.0、4.5.2及TBB的使用
环境:ubuntu16.04 + gcc 5.4.0 + Cmake 4.4 +opencv4.1.0首先我命令行安装了tbb的包:apt-get install libtbb-dev然后
2021-05-08 18:45:53
6263
7
原创 兼容问题“PNG12_0“ not found and libIlmImf.so与Nsight eclipse下的profile问题
问题出现在我用ubuntu20.04上使用opencv3.4.1,其实ubuntu16.04+opencv3.4.1没问题以及ubuntu20.04+opencv4.4.0都没问题。但因某些原因要ubuntu20.04+opencv3.4.1,而opencv3.4.1需要的是PNG12,但自从ubuntu16.04后其他的ubuntu都已经丢弃了png12:经过重重尝试:1,download libpng12-0_1.2.54-1ubuntu1.1_amd64.deb by yourself
2020-11-18 09:18:32
2112
原创 不规则形状、重叠目标分割
看过前面应该知道,我一直在找不规则形状、重叠目标分割方法,目前比较满意的是基于距离变换的分水岭,但基于距离变换的分水岭的方法看过源码后,确实不适合并行计算。看了很多国外论文后依旧没有解决。后来想了另一个方法,先写其CPU版,后续会写GPU版并分别与基于距离变换的分水岭CPU版结果比较。1、CPU版效果:先看部分小图结果...
2020-10-09 15:53:36
3299
16
原创 CUDA Occupancy Calculator占用率计算与显卡算力计算
我的显卡是RTX 2060 super,其计算能力是7.5。最近发现CUDA提供了自动计算占用率的计算器即CUDA Occupancy Calculator,官网自行下载即可。我下载下来后,阅读完说明,设置了下图紫色圈中的几个数值。开始想了很久,不知道为何占用率给出竟然是63%,现在已明白,记录在此。首先,不要忽略绿色圈中的那几个设备特性,我原来一直不知道这几个对占用率有何影响。1、然后占用率公式大家都知道:每个SM中活跃线程束的数量/每个SM中最大的线程束的数量。可以看到我的设备每个S
2020-09-29 17:14:24
5529
3
原创 python调用cuda核函数问题记录
配置教程网上一大堆,此处不说了。程序是网上下载的,import pycuda.compiler as nvccimport pycuda.gpuarray as gpuimport pycuda.driver as cuimport pycuda.autoinitfrom sys import argvfrom ws_utils import *# Read and compile CUDA kernels.print "Compiling CUDA kernels..."kerne
2020-09-09 09:31:22
2514
1
原创 ubuntu20.04下opencv4.4编译、给图片加中文标注及tensorflow的问题记录、ubuntu下使用cv::text::OCRTesseract模块字符识别
看过之前介绍的应该知道我用的是ubuntu16.04+opencv3.4.1+tensorflow,用了一年多比较稳定。但这次因要升级到ubuntu20.04,结果整个移植过去,却出现很多报错如:其实本来还有几个库没有,其实不是没有,是在ubuntu16.04下比如是libxxx5.so,现在会报错说没有libxxx6.so,所以我直接软链接过去解决的。上图中“libtensorflow_cc.so:.dynsym local symbol at index 1552(>=sh_info of
2020-08-26 18:45:45
4524
6
原创 基于细胞自动机Cellular Automata(CA)的区域生长
本来没想研究这个,但NvidiaNPP的《NVIDIA 2D Image And Signal Performance Primitives》这个模块的NPP Image Processing部分的Filtering Functions中的computer vision部分有连通域标记以及分水岭分割现成的函数,其中官网介绍这个分水岭分割是基于论文《Effiffifficient 2D and 3D Watershed on Graphics Processing Unit: Block-Asynchron.
2020-07-07 12:52:21
1067
6
原创 cv::cuda与CUDA的NPP库、距离变换和分水岭并行版本尝试
因为不想什么函数都自己写设备核函数,看到opencv有对应的cuda版本的函数比如滤波,然而CUDA的NPP库也提供了对应的滤波函数,我不知道哪个性能更高(当然肯定要比纯CPU版本快,但我没测试过)一、cv::cuda#include <stdio.h>#include <opencv2\core\core.hpp>#include <opencv2\core\cuda.hpp>#include <opencv2\imgproc.hpp>#i
2020-05-22 16:09:03
3196
10
原创 cmake+opencv4.1+opencv_contrib4.1+CUDA以及CUDA11.x的NPP新模块watershedSegmentation
一、环境配置1、网上很多教程都有,安装合适自己电脑的CUDA,我已安装完毕2、CMake编译opencv4.1+opencv_contrib4.1+CUDA,网上依旧很多教程。我前几次编译时,遇到外网下载、下载超时原因报错很多,但后来按照网上的办法自己线下到报错的网址下载后放到对应报错文件夹下,就解决了。中途我自己下载了这些文件:现在cmake第一次configure后,只有下...
2020-04-23 16:44:50
6128
4
原创 python/c++读/存16bit图像 tensorflow--different inference result in python/c++
以前python下训练、验证模型,工程化到C++验证结果与python下一致。这次python下重新搭建训练模型、验证模型,没问题,结果是正确的。但是当工程化到c++时发现c++结果不正确且与python下验证结果不一致。python下的验证代码如下:import osimport numpy as npfrom PIL import Imageimport tensorflo...
2020-03-24 18:06:07
1368
原创 旋转后的图像恢复水平
一幅图中的目标各种角度不一,想将这些小目标都摆到水平。那么就要知道旋转矩阵,然后求逆矩阵变换回去就可以。比如A旋转成了图B,求得旋转矩阵H,求H的逆矩阵M就可以由B变回A。但是往往现实中不知道A是什么样,只给出了B,求A是什么样。我以为这是很简单的问题,写完了才知道不是我以为那样。我的结果类似这样,将其中一些目标放到右边这样水平,大致就是这意思。//旋转恢复,即恢复旋转之前的状态/...
2020-01-06 19:30:02
1949
2
原创 不规则形状重叠overlapping图像的精准分割--草稿
折腾了很久,目前效果终于比较满意了,可能越复杂越分割准确,目前还在细调中。如图这种不规则物体,(外文那些分割很喜欢用规则的细胞,都是圆形或者中间有一个细胞核,那种比较好分割,对我的需求没什么用)用的是类似这种图片,放出部分结果:目前处理得还不够细致,这是粗调的效果。有的地方写得还有bug,有的地方还没有全通。精调了一下的效果:...
2019-12-16 18:48:26
3098
12
原创 ubuntu下tensorflow 2.0/2.5 c++动态库编译gpu版本
之前所有写的tensorflow相关的东西都是CPU下的。现在公司一台有Nvidia GTX 1060的电脑空余,于是在这台电脑上重装ubuntu后开始编译tensorflow_cc.so的GPU版本并使用。仔细说来有ABCDEF六步骤如下:A---install bazel (参考https://docs.bazel.build/versions/master/install-ubuntu..................
2019-11-02 11:19:49
4983
69
原创 图像中目标or内容疏密程度判断
比较简单,已基本满足我的需求。留了两个参数可调,根据不同需求来调节,我的是调的20,0.51就够了。测试了几百张图OK。/* * sparseDense.h * 实验开始,第一次人工停止对焦的图片,判断样液浓度是否不符合要求 * 是否太密,太密软件会报警要求稀释样液。 * Created on: 2019年10月10日 * Author: root wangdan *...
2019-10-12 18:15:06
1512
1
原创 tensorflow c++ API与QT5.9.6冲突解决
在将tensorflow c++编译好的动态库用于QT项目中时遇到了三个问题,现在介绍解决办法:1、编译时报错:qint32、Qvector等类型没有定义,找不到定义之类的。解决:应该是libtensorflow_cc.so与QT冲突,将tensorflow作用域范围缩小,即不要使用using namespace tensorflow::xxx之类的,用到xxx的地方再加上tensorfl...
2019-10-07 16:59:51
948
1
原创 菜鸟学习tensorflow2
我询问了前一篇我提到很推崇的那个博主学习tensorflow的方法,他是先看书籍《深度学习之Tensorflow入门原理与进阶实战》,然后再看MOOC上北京大学曹健老师的《人工智能实践:tensorflow笔记》视频课程,每看完书的一部分就去看视频的对应部分。我觉得他介绍的这两个学习资源很好。我找了很久终于找到了,现在正式开始按部就班的学习。一、《深度学习之Tensorflow入门原理与进阶实...
2019-09-04 19:26:58
1696
华为AI推理卡多个模型推理模板
2024-11-20
Bad argument (The convex hull indices are not monotonous...问题解决
2024-03-05
opencv4.2与opencv4.5.2编译好的文件
2023-12-22
opencv4.5.2与opencv4.2.0所需的cache文件
2023-11-15
AI推理卡图像分类分割推理模板
2023-03-01
用盲去模糊算法实例测试
2023-03-01
tensorflow c++图像分割
2023-03-01
提取图像LBP特征uniform LBP
2022-11-03
tensorflow2.5.0-GPU测试工程
2022-07-27
全景拼接预处理欠曝光解决
2022-05-12
LightGBM-c++冲突解决
2022-04-22
overlap-segmentation.zip
2022-01-07
batch-inference.cpp
2022-01-07
Graph加速示例.zip
2022-01-07
denoise-algorithm.zip
2022-01-07
Mask R-CNN问题.zip
2021-12-02
cellpose-planer-cp.py
2021-11-16
cellpose-planer-update.zip
2021-11-16
mydownload4.5.2.zip
2021-05-13
boostdesc_vgg_ippicv_face_landmark_model
2020-09-30
中文字体库linux可用
2018-05-15
Intel核显host多线程与单线程OpenCL
2018-04-26
Intel_OpenCL_driver_script_linux
2018-01-23
Nvidia-AMD-need-headers
2017-10-20
taskflow任务并行调度框架
2024-12-02
vscode已配置includepath但找不到头文件
2023-01-12
有读工程博士的吗?会后悔吗
2022-02-09
cellpose-planer加载模型cyto_0出现input错误
2021-11-10
tbb is not allowed since its linker language
2021-05-08
ubuntu16.04下装好了vivado 2017.4 可是没有找到HLS在哪里?
2018-06-06
TA创建的收藏夹 TA关注的收藏夹
TA关注的人