- 博客(246)
- 资源 (5)
- 收藏
- 关注
原创 cuda中的流
默认流在执行的过程中,会等待其他非默认流执行完成后,然后再开始执行,并且默认流在执行的过程中,其他非默认流是不会执行的,时间上不会发生重叠。不同的默认流,其启动顺序是不可估的,有GPU调度器决定,但是在同一个流中,执行是严格按照串行的方式来执行的。cudaMemoryAsync 只能发生在非默认流中?cuda中的流分为默认流和非默认流。
2023-03-11 12:18:44
394
2
原创 Opencv实现纵横比保持的图像缩放
之前实现过C实现纵横比保持的RGB图像缩放,其实计算效率是不高的。opencv的好多实现都是自带mmx, sse加速的。所以就来研究一下如何用opencv来实现纵横比保持的图像缩放。查看了一下opencv resize函数的详细定义:函数原型:参数说明:,输入图像,Mat类型即可;,输出图像,当其非零时,有着dsize(第三个参数)的尺寸或者有src.size()计算出来;,输出图像的大小。如果它等于0,由下式计算: ,沿水平轴的缩放系数,默认值为0,且等于0时,由下式计算:
2022-06-04 21:38:19
1081
原创 Tensorrt 自定义插件的调用顺序及过程
一个自定义插件需要实现两个类,分别继承于class MyPluginDynamic : public IPluginV2DynamicExclass MyPluginDynamicCreator : public IPluginCreator然后使用REGISTER_TENSORRT_PLUGIN(MyPluginDynamicCreator);看其详细定义,也就是将这个插件加入到一个全局链表中,方便trtexec根据op name来查找该插件,这个实现跟ffmpeg中注册编解码器是一个
2022-04-17 10:06:56
1210
原创 如何查看TensorRT默认支持的算子(operator)
TensorRT7.0支持的ONNX算子列表https://github.com/onnx/onnx-tensorrt/blob/84b5be1d6fc03564f2c0dba85a2ee75bad242c2e/operators.mdOperator Supported? Restrictions Abs Y Acos Y Acosh Y Add Y And Y ArgMax Y .
2022-04-05 09:58:37
6757
原创 TensorRT开发踩坑笔记
bindding 数据类型部一致某个输出的数据类型是int, 忽略了,一直当作是float解析,导致错误。虽然int 和 float 占用内存大小是一样的,但是解析方式错误,导致最终的错误,看来对每个bingding做输入输出校验,是很有必要的。 后期做动态转换也是可以解决Int32 *pInt32Buf = reinterpret_cast<int*>output_binding_float.data();...
2022-03-28 17:43:39
378
原创 C实现纵横比保持的RGB图像缩放
双线性插值,实现图像scale down, 记个笔记#include "stdafx.h"#include <iostream>#include "stdio.h"using namespace std;int img_down_scale(const unsigned char* src_img, unsigned char* dst_img, int src_width, int src_height, int dst_width, int dst_height)
2022-03-20 17:52:20
764
3
原创 TensorRT自定义插件的实现
对于比较新或者计算OP,tensorrt的响应并没有那么快,这个时候就需要我们自己实现自定义的插件,先开个题吧,后面整理一下代码,再帖上来,不错的链接实现TensorRT自定义插件(plugin)自由! (qq.com)...
2022-03-05 17:28:39
456
原创 C++ TensorRT开发笔记
有用的链接NVIDIA工程师的仓库GitHub - zerollzeng/tiny-tensorrt: Deploy your model with TensorRT quickly. 快速使用TensorRT来部署模型参考上述仓库的实现Python成神之路 - xavier平台上YOLOV5的TensorRT加速
2022-02-26 10:22:34
2764
原创 TensorRT trtexec 学习笔记
trtexec 实现onnx转tensorrt./trtexec --onnx=test.onnx --saveEngine=test.gie --verbose --dumpLayerInfo --dumpOutput --dumpProfile
2022-02-26 10:18:22
1905
原创 ONNXRuntime模型推理
直接贴code加载,推理import onnxruntime as ortimport torchimport timeimport cv2import numpy as npdef time_sync(): if torch.cuda.is_available(): torch.cuda.synchronize() return time.time()ort_session = ort.InferenceSession('./semseg.onn
2022-02-25 09:04:04
3676
原创 cuda 图像处理之sobel边缘检测
贴上来源代码吧,是在linux下调试通过的,包含源码和CMakeLists.txt环境配置配置好cuda pkg_config配置好opencv pkg_config之后的CMakeLists.txt会使用源码#include "cuda_runtime.h"#include <cuda.h>#include <device_functions.h>#include <opencv2/opencv.hpp>#include <iostr
2022-02-19 14:48:20
2359
原创 TensorRT int8 calibration table生成及解析
TensorRT int8推理的精度接近fp32, 但是存储空间更小,对memory的带宽消耗也少,同时推理速度也有一定的提升。是一项很重要的技术。跟fp16和fp32不一样,使用int8推理必须先要做calibriation,其实就是再做浮点数定点化的一些操作,然后将一些关键数据保存下来,下次使用时,就不用重新生成了。这些数据会被记录到一个calibration table的文件中。为了生成calibration table需要准备一个calibration dataset, 通常要500-1000个
2022-02-12 13:52:23
4359
原创 2021-02-20keras basic
from tensorflow.keras import layersfrom tensorflow.keras import initializersimport tensorflow as tffrom keras.models import Sequentialfrom keras.layers import Dense, Flattenfrom keras.layers.convolutional import Conv2D, MaxPooling2Dfrom keras.utils.n
2021-02-20 14:11:30
177
1
原创 ubuntu16.04 install ros kinetic
install guidehttp://wiki.ros.org/kinetic/Installation/Ubuntufailed at:sudo rosdep initrosdep updategot error:ERROR: cannot download default sources list from:https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/sources.list.d/20-defa
2020-05-14 21:57:49
335
原创 opengl保存并加载二进制program
通常情况下,opengl 的shader会被编译成program,然后再将program送到GPU里面去执行。如果我们的应用程序,每次都用源码编译shader,这样效率肯定是不高的,特别是在嵌入式平台上, 性能比较弱的场景下。其实我们可以稍微修改一下我们的程序结构,将编译完的program保存下来,下一次再用的时候,直接加载保存好的二进制program就好了,不必每次都编译,浪费时间。...
2019-12-09 21:07:47
2058
原创 opengl 显示UYVY422格式的数据--性能提升
前面我们分享过,opengl 显示UYVY422格式的数据我们显示的是视频,每帧数据都copy到GPU中去渲染,图像数据一般是挺大的,copy数据的快慢对整个性能的影响还是很大的。在opengl中copy frame data用到的API是glTexImage2D.其实上文中的用法不太好。每帧图像都要渲染,直接在GPU内部分配一个固定的Buffer,不用每帧都去申请,然后再释放。...
2019-11-01 21:50:10
2104
原创 opengl 显示UYVY422格式的数据
前面我们分享过如何显示YUV420P的图像,渲染YUV420P数据这此我们分享一下UYVY422格式图像的渲染方法,关于YUV420P和UYVY422的区别,网上有很多图例可以帮大家理解。直接看代码,代码是直接可以运行的。完整代码和资源文件,请访问:https://download.youkuaiyun.com/download/szfhy/11940081#include <st...
2019-10-29 21:10:31
3607
8
原创 虚拟机通过无线网卡上网的配置办法
虚拟机通过桥接方式上网,跟一个host就可以组件局域网,非常方便。如果host使用的是有线连接,配置非常方便。如下图,选择桥接模式,复制物理网络连接状态可以不选,在“配置适配器中”选择要桥接的有限网卡,开启虚拟机之后就可以DHCP上网了。如果是host主机选择的是无线上网,上面的方法就要调整了。1,选择桥接模式,并且enable复制物理网络连接状态, 选择要桥接的无线网卡,...
2019-08-11 08:37:39
8694
原创 opengl 使用shader对图像进行锐化处理
在之前的博客中opengl 在显示的YUV视频序列上画多个框如果我们要对输入的视频内容做一个锐化处理,或者其他特效,在shader中如何处理呢?完整code如下,看到code就明白其中的道理了,还是很简单的。// VideoPlayer.cpp : Defines the entry point for the console application.//#include &...
2019-06-16 16:39:49
3977
原创 opengl GLSL宏加载shader source
在opengl shader的编写过程中,常用的两种方式是:将shader 定义为字符串,然后使用glShaderSource加载static const char *vs = "attribute vec4 vertexIn;\n" "attribute vec2 textureIn;\n" "varying vec2 textureOut;\n" "void main(...
2019-06-08 15:03:04
2111
原创 opengl 保存渲染好的图像
在前面的文章中,我已经可以将媒体文件通过opengl来进行显示。opengl 在显示的YUV视频序列上画多个框opengl 显示BMP图像如果希望将blend,或者其他方法处理过之后的图像数据保存为图像文件,该如何做呢?这个时候我们就要用到glReadPixels函数,GPU渲染完数据在显存,回传内存的唯一方式glReadPixels函数,glReadPixels:读取一些像素。当...
2019-06-01 12:59:45
4897
6
原创 numpy中数据拼接的方法
a = np.floor(20 * np.random.random((2,2)))b = np.floor(20 * np.random.random((2,2)))c = np.floor(20 * np.random.random((2,2)))print(a)print(b)print(c)[[ 8. 2.] [16. 15.]][[ 7. 0.] [10. 12.]]...
2019-05-28 22:05:00
3774
翻译 scikit-learn xgboost 预测波士顿房价
xgboost需要单独安装pip install xgboost #安装xgboost库pip install --upgrade xgboost #更新xgboost库import xgboost as xgbfrom xgboost import XGBRegressor as XGBRfrom sklearn.ensemble import RandomForestRegr...
2019-05-27 21:51:16
2688
翻译 scikit-learn 以线性回归为例学习性能评估指标
代码:from sklearn.linear_model import LinearRegression as LRfrom sklearn.model_selection import train_test_splitfrom sklearn.model_selection import cross_val_scorefrom sklearn.datasets import fetc...
2019-05-27 21:34:31
2093
1
翻译 scikit-learn 支持向量机--图视化
代码笔记:from sklearn.datasets import make_blobsfrom sklearn.svm import SVCimport matplotlib.pyplot as pltimport numpy as npX,y = make_blobs(n_samples=50, centers=2, random_state=0, cluster_std=0....
2019-05-27 21:20:38
732
翻译 scikit-learn 支持向量机-乳腺癌数据集探索
代码笔记:from sklearn.datasets import load_breast_cancerfrom sklearn.svm import SVCfrom sklearn.model_selection import train_test_splitimport matplotlib.pyplot as pltimport numpy as npfrom time im...
2019-05-27 21:13:43
5021
翻译 scikit-learn 逻辑回归--调参
代码笔记:from sklearn.linear_model import LogisticRegression as LRfrom sklearn.datasets import load_breast_cancerimport numpy as npimport matplotlib.pyplot as pltfrom sklearn.model_selection import...
2019-05-27 20:32:25
8514
翻译 scikit-learn 主成分分析--数据降维
代码笔记import matplotlib.pyplot as pltfrom sklearn.datasets import load_irisfrom sklearn.decomposition import PCAiris = load_iris()y = iris.targetX = iris.dataimport pandas as pdpd.DataFrame(X...
2019-05-27 20:25:06
1719
翻译 scikit-learn 随机森林代码学习--乳腺癌检测
from sklearn.datasets import load_breast_cancerfrom sklearn.ensemble import RandomForestClassifierfrom sklearn.model_selection import GridSearchCVfrom sklearn.model_selection import cross_val_scor...
2019-05-26 22:18:23
1236
翻译 scikit-lean 随机森林代码学习--红酒
代码笔记%matplotlib inlinefrom sklearn.tree import DecisionTreeClassifierfrom sklearn.ensemble import RandomForestClassifierfrom sklearn.datasets import load_winewine = load_wine()from sklearn....
2019-05-26 18:02:35
1274
1
翻译 scikit-learn 决策树代码学习-红酒数据
代码笔记1.导库from sklearn import treefrom sklearn.datasets import load_winefrom sklearn.model_selection import train_test_split2. 加载数据,拆分wine = load_wine()Xtrain, Xtest, Ytrain, Ytest = train_...
2019-05-26 16:23:43
2100
转载 机器学习模型评估混淆矩阵、ROC曲线和AUC以及PR曲线
在机器学习中,当我们基于某个业务建立模型并训练后,接下来我们需要评判模型好坏的时候需要基于混淆矩阵,ROC和AUC等来进行辅助判断。混淆矩阵也叫精度矩阵,是用来表示精度评价,为N *N的矩阵,用来判别分类好坏的指标。混淆矩阵中有以下几个概念:TP(True Positive): 被判定为正样本,实际也为正样本FN(False Negative):伪阴性 ,被判定为负样本,实际为正样...
2019-05-26 09:08:54
1528
原创 python机器学习常用参考手册
pandas:http://pandas.pydata.org/pandas-docs/stable/reference/index.htmlscikit-learn:https://scikit-learn.org/stable/seaborn:http://seaborn.pydata.org/numpyhttps://www.numpy.org/devdocs/
2019-05-25 19:51:04
421
原创 python可视化50图
http://www.machinelearningplus.com/plots/top-50-matplotlib-visualizations-the-master-plots-python/
2019-05-14 20:35:46
2706
原创 机器学习-分类性能评价指标-混淆矩阵confusion_maxtrix
关于混淆矩阵,之前看别人的一些教程,感觉作者很牛,图形化显示出来也很酷,最近深挖了一下文档,顿时感觉我们很牛人就间隔一张纸。详细的实现:confusion_matrix顺便添加自己的调试的代码,记个笔记。import numpy as npimport matplotlib.pyplot as pltfrom sklearn import svm, datasetsfrom ...
2019-05-10 11:05:17
2910
原创 jupyter notebook 引入交互式控件
安装pip install ipywidgets配置jupyter nbextension enable --py widgetsnbextension使用from ipywidgets import interactdef f2(x): return xinteract(f2, x='')显示效果
2019-05-07 22:51:41
2650
转载 jupyter快捷键
Ctrl + Shift + - #将一个 cell拆分为两个cellesc dd #删除一个cell, esc 按一下,切换到命令模式Ctrl+enter #执行本cellshift+enter #执行本cell且 向下建立一个新cellesc+m ...
2019-05-07 14:57:38
3531
转载 linux samba configure
Install Samba sudo apt-get updatesudo apt-get install samba Set a password for your user in Samba sudo smbpasswd -a <user_name> Note: Samba uses a se...
2019-04-23 10:14:50
334
git_ros_dep.zip
2020-05-14
show_uyvy422_using_PBO.zip
2019-10-29
hdrnet cvpr2017
2018-05-26
mp4文档及解码程序源码
2018-05-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人